Support for AWS service-linked roles
- Linguagem predominante
- Go
- Estrelas
- 245
- Forks
- 22
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Descrição
Roles with a prefix beginning with `/aws-service-role/` and a name beginning with `AWSServiceRoleFor` have special handling by AWS and must be created as service-linked roles. Currently, it tries to define them as regular roles, leading to failure:
```shellsession
myhost:iamy-policies elyscape$ cat REDACTED/iam/role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS.yaml
AssumeRolePolicyDocument:
Statement:
- Action: sts:AssumeRole
Effect: Allow
Principal:
Service: ecs.amazonaws.com
Version: 2012-10-17
Description: Allows ECS to create and manage AWS resources on your behalf.
Policies:
- arn:aws:iam::aws:policy/aws-service-role/AmazonECSServiceRolePolicy
myhost:iamy-policies elyscape$ iamy push
Commands to push changes to AWS:
aws iam create-role --role-name AWSServiceRoleForECS --path /aws-service-role/ecs.amazonaws.com/ --description 'Allows ECS to create and manage AWS resources on your behalf.' --assume-role-policy-document '{
"Statement": [
{
"Action": "sts:AssumeRole",
"Effect": "Allow",
"Principal": {
"Service": "ecs.amazonaws.com"
}
}
],
"Version": "2012-10-17"
}'
aws iam attach-role-policy --role-name AWSServiceRoleForECS --policy-arn arn:aws:iam::aws:policy/aws-service-role/AmazonECSServiceRolePolicy
Run 2 aws commands (0 destructive)? (y/N) y
> aws iam create-role --role-name AWSServiceRoleForECS --path /aws-service-role/ecs.amazonaws.com/ --description 'Allows ECS to create and manage AWS resources on your behalf.' --assume-role-policy-document '{
"Statement": [
{
"Action": "sts:AssumeRole",
"Effect": "Allow",
"Principal": {
"Service": "ecs.amazonaws.com"
}
}
],
"Version": "2012-10-17"
}'
An error occurred (InvalidInput) when calling the CreateRole operation: Path prefix '/aws-service-role/' can only be used for AWS Service linked Roles
exit status 255
```
The role definition was generated by running:
```
aws iam create-service-linked-role --aws-service-name ecs.amazonaws.com --description 'Allows ECS to create and manage AWS resources on your behalf.'
```
and then running `iamy pull`.
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Direção de pesquisa
A issue trata do tratamento de AWS service-linked roles no iamy. Comece examinando o código que gera comandos da AWS CLI para criação de roles, provavelmente em um módulo command ou push. Procure onde os caminhos das roles são processados. A correção envolve detectar roles com o prefixo de caminho '/aws-service-role/' e o prefixo de nome 'AWSServiceRoleFor' e usar 'aws iam create-service-linked-role' em vez de 'aws iam create-role'. Verifique os testes existentes para criação de roles para entender o padrão de testes. Valide a alteração criando uma definição de teste de uma service-linked role e executando iamy push em um ambiente seguro.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Domínio
- cli, devops
- Tipo de issue
- Funcionalidade
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Status de atividade
- Estagnada
- Clareza
- Claramente especificada
- Facilidade para iniciantes
- 55/100