Usar funções vinculadas ao serviço do AWS Cloud9 - AWS Cloud9

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Usar funções vinculadas ao serviço do AWS Cloud9

O AWS Cloud9 usa as funções vinculadas a serviços do AWS Identity and Access Management (IAM). A função vinculada ao serviço é um tipo exclusivo de função do IAM que está vinculada diretamente ao AWS Cloud9. As funções vinculadas a serviços são predefinidas pelo AWS Cloud9 e incluem todas as permissões que o serviço requer para chamar outros serviços da AWS em seu nome.

Uma função vinculada ao serviço facilita a configuração do AWS Cloud9 porque você não precisa adicionar as permissões necessárias manualmente. O AWS Cloud9 define as permissões de suas funções vinculadas ao serviço e somente o AWS Cloud9 pode assumir suas funções. As permissões definidas incluem a política de confiança e a política de permissões, e essa política não pode ser anexada a nenhuma outra entidade do IAM.

Você pode excluir as funções somente depois de primeiro excluir seus recursos relacionados. Isso protege seus recursos do AWS Cloud9, pois você não pode remover por engano as permissões para acessar os recursos.

Para obter informações sobre outros serviços compatíveis com funções vinculadas a serviços, consulte Serviços da AWS compatíveis com o IAM e procure os serviços que apresentam Yes (Sim) na coluna Service-Linked Role (Função vinculada a serviço). Escolha um Sim com um link para visualizar a documentação da função vinculada a esse serviço.

Permissões de função vinculada ao serviço do AWS Cloud9

O AWS Cloud9 usa a função vinculada ao serviço chamada AWSServiceRoleForAWSCloud9. Essa função vinculada a serviço confia no serviço cloud9.amazonaws.com para assumir a função.

A política de permissões para essa função vinculada a serviço é nomeada AWSCloud9ServiceRolePolicy, e ela permite que o AWS Cloud9 conclua nos recursos especificados as ações listadas na política.

Importante

Se você estiver usando o License Manager e receber um erro unable to access your environment, será necessário substituir a antiga função vinculada a serviço pela versão compatível com o License Manager. É possível substituir a função antiga simplesmente excluindo-a. Em seguida, a função atualizada será criada automaticamente.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:RunInstances", "ec2:CreateSecurityGroup", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribeInstances", "ec2:DescribeInstanceStatus", "cloudformation:CreateStack", "cloudformation:DescribeStacks", "cloudformation:DescribeStackEvents", "cloudformation:DescribeStackResources" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:TerminateInstances", "ec2:DeleteSecurityGroup", "ec2:AuthorizeSecurityGroupIngress" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "cloudformation:DeleteStack" ], "Resource": "arn:aws:cloudformation:*:*:stack/aws-cloud9-*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": [ "arn:aws:ec2:*:*:instance/*", "arn:aws:ec2:*:*:security-group/*" ], "Condition": { "StringLike": { "aws:RequestTag/Name": "aws-cloud9-*" } } }, { "Effect": "Allow", "Action": [ "ec2:StartInstances", "ec2:StopInstances" ], "Resource": "*", "Condition": { "StringLike": { "ec2:ResourceTag/aws:cloudformation:stack-name": "aws-cloud9-*" } } }, { "Effect": "Allow", "Action": [ "ec2:StartInstances", "ec2:StopInstances" ], "Resource": [ "arn:aws:license-manager:*:*:license-configuration:*" ] }, { "Effect": "Allow", "Action": [ "iam:ListInstanceProfiles", "iam:GetInstanceProfile" ], "Resource": [ "arn:aws:iam::*:instance-profile/cloud9/*" ] }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::*:role/service-role/AWSCloud9SSMAccessRole" ], "Condition": { "StringLike": { "iam:PassedToService": "ec2.amazonaws.com" } } } ] }

É necessário configurar permissões para permitir que o AWS Cloud9 crie uma função vinculada a serviço em nome de uma entidade do IAM (por exemplo, um usuário, grupo ou função).

Para permitir que o AWS Cloud9 crie a função vinculada a serviço AWSServiceRoleForAWSCloud9, adicione a seguinte declaração à política de permissões para a entidade do IAM, em nome da qual o AWS Cloud9 precisa criar a função vinculada a serviço.

{ "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "*", "Condition": { "StringLike": { "iam:AWSServiceName": "cloud9.amazonaws.com" } } }

Como alternativa, adicione as políticas gerenciadas pela AWS AWSCloud9User ou AWSCloud9Administrator à entidade do IAM.

Para permitir que uma entidade do IAM exclua a função vinculada a serviço AWSServiceRoleForAWSCloud9, adicione a seguinte declaração à política de permissões para a entidade do IAM que precisa excluir uma função vinculada a serviço.

{ "Effect": "Allow", "Action": [ "iam:DeleteServiceLinkedRole", "iam:GetServiceLinkedRoleDeletionStatus" ], "Resource": "*", "Condition": { "StringLike": { "iam:AWSServiceName": "cloud9.amazonaws.com" } } }

Criar uma função vinculada ao serviço para o AWS Cloud9

Não é necessário criar uma função vinculada ao serviço. Quando você cria um ambiente de desenvolvimento do AWS Cloud9, o AWS Cloud9 cria uma função vinculada ao serviço para você.

Editar uma função vinculada ao serviço para o AWS Cloud9

Não é possível editar a função vinculada ao serviço AWSServiceRoleForAWSCloud9 no AWS Cloud9. Por exemplo, depois de criar uma função vinculada a serviço, não é possível alterar o nome da função, pois várias entidades podem fazer referência a ela. No entanto, será possível editar a descrição da função usando o IAM. Para obter mais informações, consulte Editar uma função vinculada ao serviço no Guia do usuário do IAM.

Excluir uma função vinculada ao serviço para o AWS Cloud9

Se você não precisar mais usar um recurso ou serviço que requer uma função vinculada a serviço, é recomendável excluí-la. Dessa forma, você não terá uma entidade não utilizada que não seja monitorada ativamente ou mantida.

Excluir uma função vinculada ao serviço no IAM

Antes que você possa usar o IAM para excluir uma função vinculada ao serviço, é necessário remover todos os recursos do AWS Cloud9 usados pela função. Para remover os recursos do AWS Cloud9, consulte Exclusão de um ambiente.

Você pode usar o console do IAM, para excluir a função AWSServiceRoleForAWSCloud9 vinculada ao serviço. Para obter mais informações, consulte Excluir uma função vinculada ao serviço no Guia do usuário do IAM.

Regiões compatíveis com funções vinculadas ao serviço do AWS Cloud9

O AWS Cloud9 oferece suporte usando as funções vinculadas a serviços em todas as regiões em que o serviço estiver disponível. Para ter mais informações, consulte AWS Cloud9 no Referência geral da Amazon Web Services.