O AWS Cloud9 não está mais disponível para novos clientes. Os clientes atuais do AWS Cloud9 podem continuar usando o serviço normalmente. Saiba mais
Usar perfis vinculados 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. Os perfis vinculados a serviços são predefinidos 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.
É possível 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 contenham Sim na coluna Função vinculada ao serviço. Escolha 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 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" } } }
Crie 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 a 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 um perfil vinculado ao serviço, é recomendável excluí-lo. 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 mais informações, consulte Excluir um perfil vinculado ao serviço no Guia do usuário do IAM.
Regiões suportadas por 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.