99designs / 99designs/iamy

Support for AWS service-linked roles

Aberta
#49 1 comentário 0 reações 0 responsáveis Ver no GitHub
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

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.