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
Gerenciamento de identidade e acesso para AWS Cloud9
AWS Identity and Access Management (IAM) é um serviço da AWS service (Serviço da AWS) que ajuda o administrador no controle de segurança de acesso aos recursos da AWS de forma segura. Os administradores do IAM controlam quem pode ser autenticado (fazer login) e autorizado (ter permissões) a usar os recursos do AWS Cloud9. O IAM é um AWS service (Serviço da AWS) que pode ser usado sem custo adicional.
Tópicos
- Público
- Como autenticar com identidades
- Gerenciando acesso usando políticas
- Como o AWS Cloud9 funciona com o IAM
- Exemplos de políticas baseadas em identidade para o AWS Cloud9
- Solução de problemas de identidade e acesso do AWS Cloud9
- Como o AWS Cloud9 funciona com os recursos e operações do IAM
- Políticas gerenciadas pela AWS para o AWS Cloud9
- Criar políticas gerenciadas pelo cliente para o AWS Cloud9
- Referência de permissões do AWS Cloud9
- Credenciais temporárias gerenciadas pela AWS
Público
O uso do AWS Identity and Access Management (IAM) varia dependendo do trabalho que for realizado no AWS Cloud9.
Usuário do serviço: Se você usa o serviço AWS Cloud9 para fazer o trabalho, o administrador fornece as credenciais e as permissões necessárias. À medida que usar mais atributos do AWS Cloud9 para fazer seu trabalho, você poderá precisar de permissões adicionais. Entender como o acesso é gerenciado pode ajudá-lo a solicitar as permissões corretas ao seu administrador. Se não for possível acessar um atributo no AWS Cloud9, consulte Solução de problemas de identidade e acesso do AWS Cloud9.
Administrador do serviço: se você for o responsável pelos recursos do AWS Cloud9 na empresa, provavelmente terá acesso total ao AWS Cloud9. Cabe a você determinar quais atributos e recursos do AWS Cloud9 os usuários do serviço devem acessar. Assim, você deve enviar solicitações ao administrador do IAM para alterar as permissões dos usuários de seu serviço. Analise as informações nesta página para entender os conceitos básicos do IAM. Para saber mais sobre como a empresa pode usar o IAM com o AWS Cloud9, consulte Como o AWS Cloud9 funciona com o IAM.
Administrador do IAM: Se você for um administrador do IAM, talvez queira saber detalhes sobre como pode gravar políticas para gerenciar acesso ao AWS Cloud9. Para visualizar exemplos AWS Cloud9 de políticas baseadas em identidade do que podem ser usadas no IAM, consulte Exemplos de políticas baseadas em identidade para o AWS Cloud9.
Como autenticar com identidades
A autenticação é a forma como você faz login na AWS usando suas credenciais de identidade. É necessário ser autenticado (fazer login na AWS) como Usuário raiz da conta da AWS, como usuário do IAM, ou assumindo um perfil do IAM.
Você pode fazer login na AWS como uma identidade federada usando credenciais fornecidas por uma fonte de identidades. AWS IAM Identity Center Os usuários (IAM Identity Center), a autenticação única da empresa e as suas credenciais do Google ou do Facebook são exemplos de identidades federadas. Quando você faz login como identidade federada, o administrador já configurou anteriormente a federação de identidades usando perfis do IAM. Quando você acessa a AWS usando a federação, está indiretamente assumindo um perfil.
A depender do tipo de usuário, você pode fazer login no AWS Management Console ou no portal de acesso AWS. Para obter mais informações sobre como fazer login na AWS, consulte Como fazer login na contaConta da AWS no Início de Sessão da AWS Guia do usuário .
Se você acessar a AWS programaticamente, a AWS fornecerá um kit de desenvolvimento de software (SDK) e uma interface de linha de comando (CLI) para você assinar criptograficamente as solicitações usando as suas credenciais. Se você não utilizar as ferramentas AWS, deverá designar as solicitações por conta própria. Para obter mais informações sobre como usar o método recomendado para assinar as solicitações por conta própria, consulte AWS Signature Version 4 para solicitações de API no Guia do usuário do IAM.
Independente do método de autenticação usado, também pode ser exigido que você forneça informações adicionais de segurança. Por exemplo, a AWS recomenda o uso da autenticação multifator (MFA) para aumentar a segurança de sua conta. Para saber mais, consulte Autenticação multifator no Guia do usuário do AWS IAM Identity Center e Autenticação multifator da AWS no IAM no Guia do usuário do IAM.
Usuário raiz Conta da AWS
Ao criar uma Conta da AWS, você começa com uma identidade de login com acesso completo a todos os Serviços da AWS e recursos na conta. Essa identidade, chamada usuário raiz da Conta da AWS, é acessada por login com o endereço de e-mail e a senha usada para criar a conta. É altamente recomendável não usar o usuário raiz para tarefas diárias. Proteja as credenciais do usuário raiz e use-as para executar as tarefas que somente ele puder executar. Para obter a lista completa das tarefas que exigem login como usuário raiz, consulte Tarefas que exigem credenciais de usuário raiz no Guia do Usuário do IAM.
Identidade federada
Como prática recomendada, exija que os usuários, inclusive os que precisam de acesso de administrador, usem a federação com um provedor de identidades para acessar os Serviços da AWS usando credenciais temporárias.
Identidade federada é um usuário de seu diretório de usuários corporativos, um provedor de identidades da web, o AWS Directory Service, o diretório do Identity Center, ou qualquer usuário que acesse os Serviços da AWS usando credenciais fornecidas por meio de uma fonte de identidade. Quando as identidades federadas acessam Contas da AWS, elas assumem perfis que fornecem credenciais temporárias.
Para o gerenciamento de acesso centralizado, recomendamos usar o AWS IAM Identity Center. Você pode criar usuários e grupos no IAM Identity Center ou conectar-se e sincronizar com um conjunto de usuários e grupos em sua própria fonte de identidade para uso em todas as suas Contas da AWS e aplicações. Para obter mais informações sobre o Centro de Identidade do IAM, consulte O que é o Centro de Identidade do IAM? no Manual do Usuário doAWS IAM Identity Center.
Usuários e grupos do IAM
Um usuário do IAM é uma identidade dentro da Conta da AWS que tem permissões específicas para uma única pessoa ou aplicativo. Sempre que possível, recomendamos contar com credenciais temporárias em vez de criar usuários do IAM com credenciais de longo prazo, como senhas e chaves de acesso. No entanto, se você tiver casos de uso específicos que exijam credenciais de longo prazo com usuários do IAM, recomendamos alternar as chaves de acesso. Para obter mais informações, consulte Alterne as chaves de acesso regularmente para casos de uso que exijam credenciais de longo prazo no Guia do Usuário do IAM.
Um grupo do IAM é uma identidade que especifica uma coleção de usuários do IAM. Não é possível fazer login como um grupo. É possível usar grupos para especificar permissões para vários usuários de uma vez. Os grupos facilitam o gerenciamento de permissões para grandes conjuntos de usuários. Por exemplo, você pode ter um grupo chamado IAMAdmins e conceder a esse grupo permissões para administrar recursos do IAM.
Usuários são diferentes de perfis. Um usuário é exclusivamente associado a uma pessoa ou a uma aplicação, mas um perfil pode ser assumido por qualquer pessoa que precisar dele. Os usuários têm credenciais permanentes de longo prazo, mas os perfis fornecem credenciais temporárias. Para saber mais, consulte Casos de uso de usuários do IAM no Guia do usuário do IAM.
Perfis do IAM
Um perfil do IAM é uma identidade dentro da Conta da AWS que tem permissões específicas. Ele é semelhante a um usuário do IAM, mas não está associado a uma pessoa específica. Para assumir temporariamente um perfil do IAM no AWS Management Console, você pode alternar de um usuário para um perfil do IAM (console). É possível presumir um perfil chamando uma operação de API da AWS CLI ou da AWS, ou usando um URL personalizado. Para obter mais informações sobre métodos para usar perfis, consulte Métodos para assumir um perfil no Guia do usuário do IAM.
Funções do IAM com credenciais temporárias são úteis nas seguintes situações:
-
Acesso de usuário federado: para atribuir permissões a identidades federadas, você pode criar um perfil e definir permissões para ele. Quando uma identidade federada é autenticada, essa identidade é associada ao perfil e recebe as permissões definidas pelo mesmo. Para obter mais informações sobre perfis para federação, consulte Criar um perfil para um provedor de identidades de terceiros no Guia do Usuário do IAM. Se você usar o Centro de identidade do IAM, configure um conjunto de permissões. Para controlar o que suas identidades podem acessar após a autenticação, o Centro de identidade do IAM correlaciona o conjunto de permissões a um perfil no IAM. Para obter informações sobre conjuntos de permissões, consulte Conjuntos de Permissões no Manual do Usuário do AWS IAM Identity Center.
-
Permissões temporárias para usuários do IAM –- um usuário ou um perfil do IAM pode presumir um perfil do IAM para obter temporariamente permissões diferentes para uma tarefa específica.
-
Acesso entre contas –- é possível usar um perfil do IAM para permitir que alguém (uma entidade principal confiável) em outra conta acesse recursos em sua conta. Os perfis são a principal forma de conceder acesso entre contas. No entanto, alguns Serviços da AWS permitem que você anexe uma política diretamente a um recurso (em vez de usar um perfil como proxy). Para saber a diferença entre perfis e políticas baseadas em recurso para acesso entre contas, consulte Acesso a recursos entre contas no IAM no Guia do usuário do IAM.
-
Acesso entre serviços: alguns Serviços da AWS usam atributos em outros Serviços da AWS. Por exemplo, quando você faz uma chamada em um serviço, é comum que esse serviço execute aplicativos no Amazon EC2 ou armazene objetos no Amazon S3. Um serviço pode fazer isso usando as permissões do principal de chamada, usando um perfil de serviço ou um perfil vinculado a serviço.
-
Encaminhamento de sessões de acesso (FAS): qualquer pessoa que utilizar uma função ou usuário do IAM para realizar ações na AWS é considerada uma entidade principal. Ao usar alguns serviços, você pode executar uma ação que inicia outra ação em um serviço diferente. O recurso FAS utiliza as permissões da entidade principal que chama um AWS service (Serviço da AWS), combinadas às permissões do AWS service (Serviço da AWS) solicitante, para realizar solicitações para serviços downstream. As solicitações de FAS só são feitas quando um serviço recebe uma solicitação que exige interações com outros Serviços da AWS ou com recursos para serem concluídas. Nesse caso, você precisa ter permissões para executar ambas as ações. Para obter detalhes da política ao fazer solicitações de FAS, consulte Encaminhar sessões de acesso.
-
Função de serviço: um perfil de serviço é um perfil do IAM que um serviço assume para realizar ações em seu nome. Um administrador do IAM pode criar, modificar e excluir um perfil de serviço do IAM. Para obter mais informações, consulte Criar um perfil para delegar permissões a um AWS service (Serviço da AWS) no Guia do Usuário do IAM.
-
Perfil vinculado a serviço: um perfil vinculado a serviço é um tipo de perfil de serviço vinculado a um AWS service (Serviço da AWS). O serviço pode presumir a função de executar uma ação em seu nome. Funções vinculadas ao serviço aparecem em sua Conta da AWS e são de propriedade do serviço. Um administrador do IAM pode visualizar, mas não editar as permissões para funções vinculadas ao serviço.
-
-
Aplicações em execução no Amazon EC2: é possível usar um perfil do IAM para gerenciar credenciais temporárias para aplicações em execução em uma instância do EC2 e fazer solicitações da AWS CLI ou da AWS API. É preferível fazer isso a armazenar chaves de acesso na instância do EC2. Para atribuir um perfil da AWS a uma instância do EC2 e disponibilizá-la para todas as suas aplicações, crie um perfil de instância que esteja anexado a ela. Um perfil de instância contém o perfil e permite que os programas em execução na instância do EC2 obtenham credenciais temporárias. Para mais informações, consulte Utilizar um perfil do IAM para conceder permissões a aplicações em execução nas instâncias do Amazon EC2 no Guia do usuário do IAM.
Gerenciando acesso usando políticas
Você controla o acesso na AWS criando políticas e anexando-as a identidades ou atributos da AWS. Uma política é um objeto na AWS que, quando associado a uma identidade ou recurso, define suas permissões. A AWS avalia essas políticas quando uma entidade principal (usuário, usuário raiz ou sessão de perfil) faz uma solicitação. As permissões nas políticas determinam se a solicitação será permitida ou negada. A maioria das políticas é armazenada na AWS como documentos JSON. Para obter mais informações sobre a estrutura e o conteúdo de documentos de políticas JSON, consulte Visão geral das políticas JSON no Guia do Usuário do IAM.
Os administradores podem usar as políticas JSON da AWS para especificar quem tem acesso a o quê. Ou seja, qual entidade principal pode executar ações em quais recursos e em que condições.
Por padrão, usuários e funções não têm permissões. Para conceder aos usuários permissões para executar ações nos recursos que eles precisam, um administrador do IAM pode criar políticas do IAM. O administrador pode então adicionar as políticas do IAM aos perfis e os usuários podem presumir os perfis.
As políticas do IAM definem permissões para uma ação independente do método usado para executar a operação. Por exemplo, suponha que você tenha uma política que permite a ação iam:GetRole
. Um usuário com essa política pode obter informações de perfis do AWS Management Console, da AWS CLI ou da API da AWS.
Políticas baseadas em identidade
As políticas baseadas em identidade são documentos de políticas de permissões JSON que você pode anexar a uma identidade, como usuário do IAM, grupo de usuários ou perfil. Essas políticas controlam quais ações os usuários e perfis podem realizar, em quais recursos e em que condições. Para saber como criar uma política baseada em identidade, consulte Definição de permissões personalizadas do IAM com políticas gerenciadas pelo cliente no Guia do usuário do IAM.
As políticas baseadas em identidade podem ser categorizadas ainda adicionalmente como políticas em linha ou políticas gerenciadas. As políticas em linha são anexadas diretamente a um único usuário, grupo ou perfil. As políticas gerenciadas são políticas independentes que podem ser anexadas a vários usuários, grupos e perfis na Conta da AWS. As políticas gerenciadas incluem políticas gerenciadas pela AWS e políticas gerenciadas pelo cliente. Para saber como escolher entre uma política gerenciada ou uma política em linha, consulte Escolha entre políticas gerenciadas e políticas em linha no Guia do usuário do IAM.
Políticas baseadas no recurso
Políticas baseadas em recursos são documentos de políticas JSON que você anexa a um recurso. São exemplos de políticas baseadas em recursos as políticas de confiança de perfil do IAM e as políticas de bucket do Amazon S3. Em serviços que suportem políticas baseadas em recursos, os administradores de serviço podem usá-las para controlar o acesso a um recurso específico. Para o recurso ao qual a política está anexada, a política define quais ações um principal especificado pode executar nesse recurso e em que condições. Você deve especificar uma entidade principal em uma política baseada em recursos. As entidades principais podem incluir contas, usuários, perfis, usuários federados ou Serviços da AWS.
Políticas baseadas em recursos são políticas em linha localizadas nesse serviço. Não é possível usar as políticas gerenciadas da AWS do IAM em uma política baseada em atributos.
Listas de controle de acesso (ACLs)
As listas de controle de acesso (ACLs) controlam quais entidades principais (membros, usuários ou perfis da conta) têm permissões para acessar um recurso. As ACLs são semelhantes as políticas baseadas em recursos, embora não usem o formato de documento de política JSON.
Amazon S3, AWS WAF e Amazon VPC são exemplos de serviços que oferecem compatibilidade com ACLs. Para saber mais sobre ACLs, consulte Visão geral da lista de controle de acesso (ACL) no Guia do Desenvolvedor do Amazon Simple Storage Service.
Outros tipos de política
A AWS oferece compatibilidade com tipos de política menos comuns. Esses tipos de política podem definir o máximo de permissões concedidas a você pelos tipos de política mais comuns.
-
Limites de permissões: um limite de permissões é um atributo avançado no qual você define o máximo de permissões que uma política baseada em identidade pode conceder a uma entidade do IAM (usuário ou perfil do IAM). É possível definir um limite de permissões para uma entidade. As permissões resultantes são a interseção das políticas baseadas em identidade de uma entidade com seus limites de permissões. As políticas baseadas em recurso que especificam o usuário ou o perfil no campo
Principal
não são limitadas pelo limite de permissões. Uma negação explícita em qualquer uma dessas políticas substitui a permissão. Para obter mais informações sobre limites de permissões, consulte Limites de permissões para identidades do IAM no Guia do Usuário do IAM. -
Políticas de controle de serviço (SCPs) –- SCPs são políticas JSON que especificam as permissões máximas para uma organização ou unidade organizacional (UO) no AWS Organizations. O AWS Organizations é um serviço que agrupa e gerencia centralmente várias Contas da AWS pertencentes a sua empresa. Se você habilitar todos os atributos em uma organização, poderá aplicar políticas de controle de serviço (SCPs) a qualquer uma ou a todas as contas. O SCP limita as permissões para entidades em contas membro, o que inclui cada Usuário raiz da conta da AWS. Para obter mais informações sobre o Organizations e SCPs, consulte Service control policies no Guia do usuário do AWS Organizations.
-
Políticas de sessão: são políticas avançadas que você transmite como um parâmetro quando cria de forma programática uma sessão temporária para um perfil ou um usuário federado. As permissões da sessão resultante são a interseção das políticas baseadas em identidade do usuário ou do perfil e das políticas de sessão. As permissões também podem ser provenientes de uma política baseada em atributo. Uma negação explícita em qualquer uma dessas políticas substitui a permissão. Para obter mais informações, consulte Políticas de sessão no Guia do Usuário do IAM.
Vários tipos de política
Quando vários tipos de política são aplicáveis a uma solicitação, é mais complicado compreender as permissões resultantes. Para saber como a AWS determina permitir ou não uma solicitação quando há vários tipos de política envolvidos, consulte Lógica da avaliação de políticas no Guia do Usuário do IAM.
Como o AWS Cloud9 funciona com o IAM
Antes de usar o IAM para gerenciar o acesso ao AWS Cloud9, saiba quais recursos do IAM estão disponíveis para uso com o AWS Cloud9.
atributo do IAM | Suporte a AWS Cloud9 |
---|---|
Sim |
|
Não |
|
Sim |
|
Sim |
|
Sim |
|
Não |
|
Sim |
|
Sim |
|
Sim |
|
Sim |
|
Sim |
Para obter uma visualização de alto nível de como o AWS Cloud9 e outros serviços da AWS funcionam com a maioria dos recursos do IAM, consulte AWSServiços Compatíveis com o IAM no Guia do Usuário do IAM.
Políticas baseadas em identidade para o AWS Cloud9
Compatível com políticas baseadas em identidade: Sim
As políticas baseadas em identidade são documentos de políticas de permissões JSON que você pode anexar a uma identidade, como usuário, grupo de usuários ou perfil do IAM. Essas políticas controlam quais ações os usuários e perfis podem realizar, em quais recursos e em que condições. Para saber como criar uma política baseada em identidade, consulte Definição de permissões personalizadas do IAM com políticas gerenciadas pelo cliente no Guia do usuário do IAM.
Com as políticas baseadas em identidade do IAM, é possível especificar ações ou recursos permitidos ou negados, assim como as condições sob as quais as ações são permitidas ou negadas. Você não pode especificar a entidade principal em uma política baseada em identidade porque ela se aplica ao usuário ou perfil ao qual ela está anexada. Saiba mais sobre todos os elementos que podem ser usados em uma política JSON consultando Referência de Elementos de Política JSON do IAM no Guia do Usuário do IAM.
Exemplos de políticas baseadas em identidade para o AWS Cloud9
Para ver exemplos de políticas baseadas em identidade do AWS Cloud9, consulte Exemplos de políticas baseadas em identidade para o AWS Cloud9.
Políticas baseadas em recursos no AWS Cloud9
Suporte a políticas baseadas em recursos: não
Políticas baseadas em recursos são documentos de políticas JSON que você anexa a um recurso. São exemplos de políticas baseadas em recursos as políticas de confiança de perfil do IAM e as políticas de bucket do Amazon S3. Em serviços que suportem políticas baseadas em recursos, os administradores de serviço podem usá-las para controlar o acesso a um recurso específico. Para o recurso ao qual a política está anexada, a política define quais ações um principal especificado pode executar nesse recurso e em que condições. Você deve especificar uma entidade principal em uma política baseada em recursos. As entidades principais podem incluir contas, usuários, funções, usuários federados ou Serviços da AWS.
Para permitir o acesso entre contas, você pode especificar uma conta inteira ou as entidades do IAM em outra conta como a entidade principal em uma política baseada em atributo. Adicionar uma entidade principal entre contas à política baseada em recurso é apenas metade da tarefa de estabelecimento da relação de confiança. Quando a entidade principal e o recurso estão em diferentes Contas da AWS, um administrador do IAM da conta confiável também deve conceder à entidade principal (usuário ou perfil) permissão para acessar o recurso. Eles concedem permissão ao anexar uma política baseada em identidade para a entidade. No entanto, se uma política baseada em recurso conceder acesso a uma entidade principal na mesma conta, nenhuma política baseada em identidade adicional será necessária. Consulte mais informações em Acesso a recursos entre contas no IAM no Guia do usuário do IAM.
O AWS Cloud9 não é compatível com políticas baseadas em recursos, mas você ainda pode controlar as permissões de recursos do ambiente do AWS Cloud9 para membros do ambiente do AWS Cloud9 por meio da AWS Cloud9 API e do IDE do AWS Cloud9.
Ações de políticas para o AWS Cloud9
Compatível com ações de políticas: Sim
Os administradores podem usar AWS as políticas JSON para especificar quem tem acesso a quê. Ou seja, qual entidade principal pode executar ações em quais recursos, e em que condições.
O elemento Action
de uma política JSON descreve as ações que você pode usar para permitir ou negar acesso em uma política. As ações de políticas geralmente têm o mesmo nome que a operação de API da AWS associada. Existem algumas exceções, como ações somente de permissão, que não têm uma operação de API correspondente. Algumas operações também exigem várias ações em uma política. Essas ações adicionais são chamadas de ações dependentes.
Incluem ações em uma política para conceder permissões para executar a operação associada.
Para obter uma lista das ações do AWS Cloud9, consulte Ações definidas pelo AWS Cloud9 na Referência de autorização do serviço.
As ações de políticas no AWS Cloud9 usam o seguinte prefixo antes da ação:
account
Para especificar várias ações em uma única instrução, separe-as com vírgulas.
"Action": [ "account:
action1
", "account:action2
" ]
Veja exemplos de políticas baseadas em identidade AWS Cloud9 consultando Exemplos de políticas baseadas em identidade para o AWS Cloud9.
recursos de políticas para AWS Cloud9
Compatível com recursos de políticas: Sim
Os administradores podem usar AWS as políticas JSON para especificar quem tem acesso a quê. Ou seja, qual entidade principal pode executar ações em quais recursos, e em que condições.
O elemento de política JSON Resource
especifica o objeto ou os objetos aos quais a ação se aplica. As instruções devem incluir um elemento Resource
ou NotResource
. Como prática recomendada, especifique um recurso usando seu nome do recurso da Amazon (ARN). Isso pode ser feito para ações que oferecem compatibilidade com um tipo de recurso específico, conhecido como permissões em nível de recurso.
Para ações que não oferecem compatibilidade com permissões em nível de recurso, como operações de listagem, use um curinga (*) para indicar que a instrução se aplica a todos os recursos.
"Resource": "*"
Para ver uma lista dos tipos de recurso do AWS Cloud9 e os respectivos ARNs, consulte Resources defined by AWS Cloud9 na Referência de autorização do serviço. Para saber com quais ações é possível especificar o ARN de cada recurso, consulte Ações definidas peloAWS Cloud9.
Para ver exemplos de políticas baseadas em identidade do AWS Cloud9, consulte Exemplos de políticas baseadas em identidade para o AWS Cloud9.
Chaves de condição de políticas para AWS Cloud9
Compatível com chaves de condição de política específicas de serviço: Sim
Os administradores podem usar AWS as políticas JSON para especificar quem tem acesso a quê. Ou seja, qual entidade principal pode executar ações em quais recursos, e em que condições.
O elemento Condition
(ou bloco Condition
) permite que você especifique condições nas quais uma instrução estiver em vigor. O elemento Condition
é opcional. É possível criar expressões condicionais que usem agentes de condição, como “igual a” ou “menor que”, para fazer a condição da política corresponder aos valores na solicitação.
Se você especificar vários elementos Condition
em uma instrução ou várias chaves em um único Condition
elemento, a AWS os avaliará usando uma operação lógica AND
. Se você especificar vários valores para uma única chave de condição, a AWS avaliará a condição usando uma operação lógica OR
. Todas as condições devem ser atendidas antes que as permissões da instrução sejam concedidas.
Você também pode usar variáveis de espaço reservado ao especificar condições. Por exemplo, é possível conceder a um usuário do IAM permissão para acessar um atributo somente se ele estiver marcado com seu nome de usuário do IAM. Para obter mais informações, consulte Elementos da política do IAM: variáveis e tags no Guia do usuário do IAM.
A AWS oferece compatibilidade com chaves de condição globais e chaves de condição específicas do serviço. Para ver todas as chaves de condição globais da AWS, consulte Chaves de Contexto de Condição Globais da AWS no Guia do Usuário do IAM.
Para ver uma lista das chaves de condição do AWS Cloud9, consulte Condition keys for AWS Cloud9 na Referência de autorização do serviço. Para saber com quais ações e recursos é possível usar uma chave de condição, consulte Ações definidas pelo AWS Cloud9.
Para ver exemplos de políticas baseadas em identidade do AWS Cloud9, consulte Exemplos de políticas baseadas em identidade para o AWS Cloud9.
ACLs no AWS Cloud9
Compatível com ACLs: Não
As listas de controle de acesso (ACLs) controlam quais entidades principais (membros, usuários ou perfis da conta) têm permissões para acessar um recurso. As ACLs são semelhantes às políticas baseadas em recursos, embora não usem o formato de documento de política JSON.
ABAC com AWS Cloud9
Suporte a ABAC (tags em políticas): sim
O controle de acesso por atributo (ABAC) é uma estratégia de autorização que define permissões com base em atributos. Na AWS, esses atributos são chamados de tags. É possível anexar tags a entidades do IAM (usuários ou perfis) e a muitos recursos da AWS. A marcação de entidades e atributos é a primeira etapa do ABAC. Em seguida, você cria políticas de ABAC para permitir operações quando a tag da entidade principal corresponder à tag do recurso que ela estiver tentando acessar.
O ABAC é útil em ambientes que estão crescendo rapidamente e ajuda em situações onde o gerenciamento de políticas se torna um problema.
Para controlar o acesso baseado em tags, forneça informações sobre as tags no elemento de condição de uma política usando as aws:ResourceTag/
, key-name
aws:RequestTag/
ou chaves de condição key-name
aws:TagKeys
.
Se um serviço oferecer suporte às três chaves de condição para cada tipo de recurso, o valor será Sim para o serviço. Se um serviço oferecer suporte às três chaves de condição somente para alguns tipos de recursos, o valor será Parcial
Para obter mais informações sobre o ABAC, consulte Definir permissões com autorização do ABAC no Guia do usuário do IAM. Para visualizar um tutorial com etapas para configurar o ABAC, consulte Usar Controle de Acesso Baseado em Atributos (ABAC) no Guia do Usuário do IAM.
Usar credenciais temporárias com o AWS Cloud9
Compatível com credenciais temporárias: Sim
Alguns Serviços da AWS não funcionam quando você faz login usando credenciais temporárias. Para obter informações adicionais, como quais Serviços da AWS funcionam com credenciais temporárias, consulte Serviços da AWS que funcionem com o IAM no Guia do Usuário do IAM.
Você está usando credenciais temporárias se fizer login no AWS Management Console por qualquer método, exceto nome de usuário e uma senha. Por exemplo, quando você acessa a AWS usando o link de autenticação única (SSO) da sua empresa, esse processo cria credenciais temporárias automaticamente. Você também cria automaticamente credenciais temporárias quando faz login no console como usuário e, em seguida, alterna perfis. Para obter mais informações sobre como alternar perfis, consulte Mudança de um usuário para um perfil do IAM (console) no Guia do usuário do IAM.
Você pode criar credenciais temporárias manualmente usando a API AWS CLI ou AWS. Em seguida, você pode usar essas credenciais temporárias para acessar aAWS .AWS A recomenda que você gere credenciais temporárias dinamicamente em vez de usar chaves de acesso de longo prazo. Para mais informações, consulte Credenciais de segurança temporárias no IAM.
Sessões de acesso direto para o AWS Cloud9
Suporte ao recurso de encaminhamento de sessões de acesso (FAS): sim
Quando você usa um usuário ou um perfil do IAM para executar ações na AWS, você é considerado uma entidade principal. Ao usar alguns serviços, você pode executar uma ação que inicia outra ação em um serviço diferente. O recurso FAS utiliza as permissões da entidade principal que chama um AWS service (Serviço da AWS), combinadas às permissões do AWS service (Serviço da AWS) solicitante, para realizar solicitações para serviços downstream. As solicitações de FAS só são feitas quando um serviço recebe uma solicitação que exige interações com outros Serviços da AWS ou com recursos para serem concluídas. Nesse caso, você precisa ter permissões para executar ambas as ações. Para obter detalhes da política ao fazer solicitações de FAS, consulte Encaminhamento de sessões de acesso.
Funções de serviço para AWS Cloud9
Compatível com perfis de serviço: Sim
O perfil de serviço é um perfil do IAM que um serviço assume para realizar ações em seu nome. Um administrador do IAM pode criar, modificar e excluir um perfil de serviço do IAM. Para obter mais informações, consulte Criar um perfil para delegar permissões a um AWS service (Serviço da AWS) no Guia do Usuário do IAM.
Atenção
Alterar as permissões de um perfil de serviço pode prejudicar a funcionalidade do AWS Cloud9. Edite perfis de serviço somente quando o AWS Cloud9 fornecer orientação para fazê-lo.
Funções vinculadas ao serviço para o AWS Cloud9
Suporte a perfis vinculados a serviços: sim
Um perfil vinculado ao serviço é um tipo de perfil de serviço vinculado a um AWS service (Serviço da AWS). O serviço pode presumir a função de executar uma ação em seu nome. Funções vinculadas ao serviço aparecem em sua Conta da AWS e são de propriedade do serviço. Um administrador do IAM pode visualizar, mas não pode editar as permissões para perfis vinculados ao serviço.
Para obter detalhes sobre como criar ou gerenciar perfis vinculados a serviços, consulte Serviços da AWS que funcionam com o IAM. Encontre um serviço na tabela que inclua um Yes
na coluna Função vinculada ao serviço. Escolha o link Sim para visualizar a documentação do perfil vinculado a esse serviço .
Exemplos de políticas baseadas em identidade para o AWS Cloud9
Por padrão, usuários e funções não têm permissão para criar ou modificar recursos do AWS Cloud9. Eles também não podem executar tarefas usando o AWS Management Console, a AWS Command Line Interface (AWS CLI) ou a API AWS. Para conceder aos usuários permissão para executar ações nos recursos de que precisam, um administrador do IAM pode criar políticas do IAM. O administrador pode então adicionar as políticas do IAM aos perfis e os usuários podem presumir os perfis.
Para saber como criar uma política baseada em identidade do IAM ao usar esses documentos de política em JSON de exemplo, consulte Criação de políticas do IAM (console) no Guia do usuário do IAM.
Para obter detalhes sobre ações e tipos de recursos definidos pelo AWS Cloud9, incluindo o formato dos ARNs para cada tipo de recurso, consulte Ações, recursos e chaves de condição para AWS Cloud9 na Referência de autorização de serviço.
Tópicos
Melhores práticas de política
As políticas baseadas em identidade determinam se alguém pode criar, acessar ou excluir recursos do AWS Cloud9 em sua conta. Essas ações podem incorrer em custos para seus Conta da AWS. Ao criar ou editar políticas baseadas em identidade, siga estas diretrizes e recomendações:
-
Comece com as políticas gerenciadas pela AWS e avance para as permissões de privilégio mínimo –- para começar a conceder permissões a seus usuários e workloads, use as políticas gerenciadas pela AWS, que concedem permissões para muitos casos de uso comuns. Elas estão disponíveis em seus Conta da AWS. Recomendamos que você reduza ainda mais as permissões definindo políticas gerenciadas pelo cliente AWS específicas para seus casos de uso. Para obter mais informações, consulte Políticas gerenciadas pela AWS ou Políticas gerenciadas pela AWS para funções de trabalho no Guia do Usuário do IAM.
-
Aplique permissões de privilégio mínimo –- ao definir permissões com as políticas do IAM, conceda apenas as permissões necessárias para executar uma tarefa. Você faz isso definindo as ações que podem ser executadas em atributos específicos sob condições específicas, também conhecidas como permissões de privilégio mínimo. Para obter mais informações sobre como usar o IAM para aplicar permissões, consulte Políticas e permissões no IAM no Guia do Usuário do IAM.
-
Use condições nas políticas do IAM para restringir ainda mais o acesso –- você pode adicionar uma condição às políticas para limitar o acesso a ações e recursos. Por exemplo, você pode gravar uma condição de política para especificar que todas as solicitações devem ser enviadas usando SSL. Você também pode usar condições para conceder acesso a ações de serviço, se elas forem usadas por meio de um AWS service (Serviço da AWS) específico, como o AWS CloudFormation. Para obter mais informações, consulte Elementos da política JSON do IAM: Condição no Guia do usuário do IAM.
-
Use o IAM Access Analyzer para validar suas políticas do IAM a fim de garantir permissões seguras e funcionais –- o IAM Access Analyzer valida as políticas novas e existentes para que elas sigam a linguagem de política do IAM (JSON) e as práticas recomendadas do IAM. O IAM Access Analyzer oferece mais de 100 verificações de política e recomendações acionáveis para ajudá-lo a criar políticas seguras e funcionais. Para obter mais informações, consulte Validação de políticas com o IAM Access Analyzer no Guia do usuário do IAM.
-
Exigir autenticação multifator (MFA) –- se houver um cenário que exija usuários do IAM ou um usuário raiz em sua Conta da AWS, ative a MFA para obter segurança adicional. Para exigir MFA quando as operações de API forem chamadas, adicione condições de MFA às suas políticas. Para obter mais informações, consulte Acesso seguro à API com MFA no Guia do Usuário do IAM.
Para obter mais informações sobre as práticas recomendadas do IAM, consulte Práticas Recomendadas de Segurança no IAM no Guia do Usuário do IAM.
Usar o console do AWS Cloud9
Para acessar o console do AWS Cloud9, você deve ter um conjunto mínimo de permissões. Essas permissões devem permitir que você liste e visualize detalhes sobre os recursos do AWS Cloud9 na sua Conta da AWS. Caso crie uma política baseada em identidade mais restritiva que as permissões mínimas necessárias, o console não funcionará como pretendido para entidades (usuários ou funções) com essa política.
Não é necessário conceder permissões mínimas do console para usuários fazendo chamadas somente para AWS CLI ou para a API do AWS. Em vez disso, permita o acesso somente a ações que correspondam a operação de API que estiverem tentando executar.
Para garantir que os usuários e os perfis ainda possam usar o console do AWS Cloud9, anexe também AWS Cloud9
ou a política gerenciada ConsoleAccess
da AWS para entidades. Para obter mais informações, consulte Adicionando Permissões a um Usuário no Guia do Usuário do IAM.ReadOnly
Permitir que usuários visualizem suas próprias permissões
Este exemplo mostra como criar uma política que permita que os usuários do IAM visualizem as políticas gerenciadas e em linha anexadas a sua identidade de usuário. Essa política inclui permissões para concluir essa ação no console ou de forma programática usando a AWS CLI ou a AWS API.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }
Solução de problemas de identidade e acesso do AWS Cloud9
Use as seguintes informações para ajudar a diagnosticar e corrigir problemas comuns que podem ser encontrados ao trabalhar com o e o IAM.AWS Cloud9
Tópicos
Não tenho autorização para executar uma ação no AWS Cloud9
Se você receber uma mensagem de erro informando que não tem autorização para executar uma ação, suas políticas deverão ser atualizadas para permitir que você realize a ação.
O erro do exemplo a seguir ocorre quando o usuário do IAM mateojackson
tenta usar o console para visualizar detalhes sobre um atributo
fictício, mas não tem as permissões my-example-widget
awes:
fictícias.GetWidget
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: awes:GetWidget
on resource:my-example-widget
Nesse caso, a política do usuário mateojackson
deve ser atualizada para permitir o acesso ao recurso
usando a ação my-example-widget
awes:
.GetWidget
Se você precisar de ajuda, entre em contato com seu administrador AWS. Seu administrador é a pessoa que forneceu suas credenciais de login.
Não estou autorizado a executar iam:PassRole
Se você receber uma mensagem de erro informando que não está autorizado a executar a ação iam:PassRole
, as suas políticas devem ser atualizadas para permitir que você passe uma função para o AWS Cloud9.
Alguns Serviços da AWS permitem que você passe uma função existente para o serviço, em vez de criar uma nova função de serviço ou função vinculada ao serviço. Para fazê-lo, você deve ter permissões para passar o perfil para o serviço.
O exemplo de erro a seguir ocorre quando uma usuária do IAM chamada marymajor
tenta utilizar o console para executar uma ação no AWS Cloud9. No entanto, a ação exige que o serviço tenha permissões concedidas por um perfil de serviço. Mary não tem permissões para passar o perfil para o serviço.
User: arn:aws:iam::123456789012:user/
marymajor
is not authorized to perform: iam:PassRole
Nesse caso, as políticas de Mary devem ser atualizadas para permitir que ela realize a ação iam:PassRole
.
Se você precisar de ajuda, entre em contato com seu administrador AWS. Seu administrador é a pessoa que forneceu suas credenciais de login.
Quero permitir que as pessoas fora da minha Conta da AWS acessem meus recursos do AWS Cloud9
Você pode criar uma função que os usuários de outras contas ou pessoas fora da sua organização podem usar para acessar seus recursos. Você pode especificar quem é confiável para assumir o perfil. Para serviços que oferecem compatibilidade com políticas baseadas em recursos ou listas de controle de acesso (ACLs), você pode usar essas políticas para conceder às pessoas acesso aos seus recursos.
Saiba mais consultando o seguinte:
-
Para saber se o AWS Cloud9 oferece compatibilidade com esses atributos, consulte Como o AWS Cloud9 funciona com o IAM.
-
Saiba como conceder acesso a seus recursos em todos os Contas da AWS pertencentes a você, consulte Fornecendo Acesso a um Usuário do IAM em Outro Conta da AWS Pertencente a Você no Guia de Usuário do IAM.
-
Para saber como conceder acesso a seus recursos para terceiros Contas da AWS, consulte Fornecimento de acesso a Contas da AWS pertencentes a terceiros no Guia do usuário do IAM.
-
Para saber como conceder acesso por meio da federação de identidades, consulte Conceder acesso a usuários autenticados externamente (federação de identidades) no Guia do usuário do IAM.
-
Para saber a diferença entre perfis e políticas baseadas em recurso para acesso entre contas, consulte Acesso a recursos entre contas no IAM no Guia do usuário do IAM.
Como o AWS Cloud9 funciona com os recursos e operações do IAM
O AWS Identity and Access Management é usado para gerenciar as permissões que permitem trabalhar com os ambientes de desenvolvimento do AWS Cloud9 e outros recursos e Serviços da AWS.
Recursos e operações do AWS Cloud9
No AWS Cloud9, o recurso principal cria um ambiente de desenvolvimento do AWS Cloud9. Em uma política, você usa um Nome de recurso da Amazon (ARN) para identificar o recurso a que a política se aplica. A tabela a seguir lista ARNs de ambiente. Para obter mais informações, consulte Nomes de recursos da Amazon (ARNs) e namespaces de serviço da AWS no Referência geral da Amazon Web Services.
Tipo de recurso | Formato ARN |
---|---|
Ambiente |
|
Todo ambiente de propriedade da conta especificada na Região da AWS especificada |
|
Todo ambiente de propriedade da conta determinada na região especificada |
|
Todo recurso do AWS Cloud9, independentemente da conta e da região |
|
Por exemplo, você pode indicar um ambiente específico na instrução usando o nome do recurso da Amazon (ARN), da forma a seguir.
"Resource": "arn:aws:cloud9:us-east-2:123456789012:environment:70d899206236474f9590d93b7c41dfEX"
Para especificar todos os recursos, use o caractere curinga (*
) no elemento Resource
.
"Resource": "*"
Para especificar vários recursos em uma única instrução, separe os nomes de recurso da Amazon (ARNs) com vírgulas.
"Resource": [ "arn:aws:cloud9:us-east-2:123456789012:environment:70d899206236474f9590d93b7c41dfEX", "arn:aws:cloud9:us-east-2:123456789012:environment:81e900317347585a0601e04c8d52eaEX" ]
O AWS Cloud9 fornece um conjunto de operações para trabalhar com recursos do AWS Cloud9. Para obter uma lista, consulte Referência de permissões do AWS Cloud9.
Informações sobre propriedade de recursos
A conta da Conta da AWS possui os recursos criados na conta, independentemente de quem os criou.
Considere os seguintes casos de uso e cenários:
-
Suponha que você use as credenciais da conta raiz de sua Conta da AWS para criar um ambiente de desenvolvimento do AWS Cloud9. Embora seja possível, isso não é recomendado. Nesse caso, sua Conta da AWS é a proprietária do ambiente.
-
Suponha que você crie um usuário do IAM na sua Conta da AWS e conceda permissões para criar um ambiente para esse usuário. O usuário poderá criar um ambiente. No entanto, sua Conta da AWS, à qual o usuário pertence, continuará sendo a proprietária do ambiente.
-
Suponha que você crie um perfil do IAM na sua Conta da AWS com permissões para criar um ambiente. Qualquer pessoa capaz de assumir o perfil poderá criar um ambiente. Sua Conta da AWS, à qual a função pertence, é a proprietária do ambiente.
nota
Se você excluir uma conta de usuário que seja proprietária do ARN de um ou mais ambientes do AWS Cloud9, esses ambientes não terão proprietário. Uma solução alternativa para esse cenário é usar o SDK do AWS Cloud9 para adicionar outro usuário do IAM com privilégios de leitura e gravação usando a ação CreateEnvironmentMembership
e o tipo de dados EnvironmentMember
. Depois de adicionar esse usuário do IAM, você pode copiar os arquivos do ambiente para novos ambientes do AWS Cloud9 e tornar esse proprietário o proprietário do ARN. Para obter mais informações sobre essa ação, consulte CreateEnvironmentMembership e, para obter mais informações sobre esse tipo de dados, consulte EnvironmentMember no Guia de referência da API do AWS Cloud9.
Gerenciar acesso aos recursos da
A política de permissões descreve quem possui acesso a quais recursos.
nota
Esta seção aborda o uso do IAM no AWS Cloud9. Não são fornecidas informações detalhadas sobre o serviço IAM. Para obter a documentação completa do IAM, consulte O que é IAM? no Manual do usuário do IAM. Para obter informações sobre a sintaxe e as descrições da política do IAM, consulte a Referência da política JSON do IAM no Manual do usuário do IAM.
As políticas anexadas a uma identidade do IAM são chamadas de políticas baseadas em identidade (ou políticas do IAM). As políticas anexadas a um recurso são conhecidas como políticas baseadas em recurso. O AWS Cloud9 oferece suporte a políticas baseadas em identidade e em recurso.
Cada uma das ações da API a seguir requer que apenas uma política do IAM seja associada à identidade do IAM que deseja chamar estas ações da API:
-
CreateEnvironmentEC2
-
DescribeEnvironments
As seguintes ações da API exigem uma política baseada em recursos. Uma política do IAM não é necessária, mas o AWS Cloud9 usará uma dessas políticas se ela estiver associada à identidade do IAM que deseja chamar essas ações da API. A política baseada em recursos deve ser aplicada ao recurso do AWS Cloud9 desejado.
-
CreateEnvironmentMembership
-
DeleteEnvironment
-
DeleteEnvironmentMembership
-
DescribeEnvironmentMemberships
-
DescribeEnvironmentStatus
-
UpdateEnvironment
-
UpdateEnvironmentMembership
Para obter mais informações sobre o que cada uma dessas ações da API faz, consulte a Referência da API do AWS Cloud9.
Não é possível anexar uma política baseada em recursos diretamente a um recurso do AWS Cloud9. Em vez disso, o AWS Cloud9 anexa as políticas apropriadas baseadas em recursos aos recursos do AWS Cloud9, à medida que você adiciona, modifica ou exclui os membros do ambiente.
Para conceder permissões a um usuário a fim de executar ações em recursos do AWS Cloud9, anexe uma política de permissões a um grupo do IAM ao qual o usuário pertence. Recomendamos que você anexe uma política (predefinida) gerenciada pela AWS para o AWS Cloud9 sempre que possível. As políticas gerenciadas pela AWS contêm conjuntos predefinidos de permissões de acesso para tipos de usuário e cenários de uso comuns, como administração completa de um ambiente, usuários do ambiente e usuários que têm apenas acesso somente leitura a um ambiente. Para obter uma lista das políticas gerenciadas do AWS para o AWS Cloud9, consulte Políticas gerenciadas pela AWS para o AWS Cloud9.
Para obter mais detalhes sobre os cenários de uso e os tipos de usuário exclusivos, crie e anexe suas próprias políticas gerenciadas pelo cliente. Consulte Opções adicionais de configuração para o AWS Cloud9 e Criar políticas gerenciadas pelo cliente para o AWS Cloud9.
Para anexar uma política do IAM (gerenciada pela AWS ou pelo cliente) a uma identidade do IAM, consulte Attaching IAM Policies (Console) (Anexar políticas do IAM, console) no Manual do usuário do IAM.
Permissões de sessão para operações de API
Ao usar a API da AWS CLI ou AWS para criar de forma programática uma sessão temporária para uma função ou um usuário federado, você pode aprovar políticas de sessão como um parâmetro para estender o escopo da sessão de função. Isso significa que as permissões efetivas da sessão são a interseção das políticas baseadas em identidade da função e das políticas de sessão.
Quando uma solicitação é feita para acessar um recurso durante uma sessão, se não houver uma declaração Deny
, nem uma declaração Allow
aplicável na política da sessão, o resultado da avaliação da política será uma negação implícita. (Para obter mais informações, consulte Determining whether a request is allowed or denied within an account (Como determinar se uma solicitação é permitida ou negada) no Manual do Usuário do IAM.
No entanto, para as operações de API do AWS Cloud9 que exigem uma política baseada em recursos (veja acima), permissões são concedidas à entidade do IAM que estiver chamando, se ela for especificada como Principal
na política de recursos. Essa permissão explícita tem precedência sobre a negação implícita da política da sessão, permitindo que a sessão chame o método Operação de API do AWS Cloud9 com êxito.
Políticas gerenciadas pela AWS para o AWS Cloud9
Uma política gerenciada pela AWS é uma política independente criada e administrada pela AWS. As políticas gerenciadas pela AWS são criadas para fornecer permissões a vários casos de uso comuns a fim de que você possa começar a atribuir permissões a usuários, grupos e perfis.
Lembre-se de que as políticas gerenciadas pela AWS podem não conceder permissões de privilégio mínimo para seus casos de uso específicos, por estarem disponíveis para uso por todos os clientes da AWS. Recomendamos que você reduza ainda mais as permissões definindo políticas gerenciadas pelo cliente da específicas para seus casos de uso.
Você não pode alterar as permissões definidas em políticas gerenciadas AWS. Se AWS atualiza as permissões definidas em um política gerenciada por AWS, a atualização afeta todas as identidades de entidades principais (usuários, grupos e perfis) às quais a política estiver vinculada. É provável que AWS atualize uma política gerenciada por AWS quando um novo AWS service (Serviço da AWS) for lançado, ou novas operações de API forem disponibilizadas para os serviços existentes.
Para obter mais informações, consulte Políticas gerenciadas pela AWS no Guia do usuário do IAM.
Política gerenciada pela AWS: AWSCloud9Administrator
É possível anexar a política AWSCloud9Administrator
a suas identidades do IAM.
Esta política concede permissões administrativas
que fornecem acesso de administrador ao AWS Cloud9.
Detalhes das permissões
Esta política inclui as seguintes permissões:
-
AWS Cloud9: todas as ações do AWS Cloud9 na Conta da AWS.
-
Amazon EC2: obtenha informações sobre vários recursos da Amazon VPC e da sub-rede na Conta da AWS.
-
IAM: obtenha informações sobre os usuários do IAM na respectiva Conta da AWS e crie o perfil vinculado ao serviço do AWS Cloud9 na Conta da AWS conforme necessário.
-
Systems Manager: permite ao usuário chamar StartSession para iniciar uma conexão com uma instância para uma sessão do Session Manager. Essa permissão é necessária para usuários que abrem um ambiente que se comunica com sua instância do EC2 por meio do Systems Manager. Para obter mais informações, consulte Acessar instâncias do EC2 sem entrada com o AWS Systems Manager
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloud9:*", "iam:GetUser", "iam:ListUsers", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeInstanceTypeOfferings", "ec2:DescribeRouteTables" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "*", "Condition": { "StringLike": { "iam:AWSServiceName": "cloud9.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:GetConnectionStatus" ], "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringLike": { "ssm:resourceTag/aws:cloud9:environment": "*" }, "StringEquals": { "aws:CalledViaFirst": "cloud9.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ssm:*:*:document/*" ] } ] }
Política gerenciada pela AWS: AWSCloud9User
É possível anexar a política AWSCloud9User
a suas identidades do IAM.
Esta política concede permissões ao usuário
para criar ambientes de desenvolvimento do AWS Cloud9 e para gerenciar ambientes próprios.
Detalhes da permissão
Esta política inclui as seguintes permissões:
-
AWS Cloud9 – Criar e obter informações sobre os ambientes, obter e alterar as configurações de usuário para os ambientes.
-
Amazon EC2: obtenha informações sobre vários recursos da Amazon VPC e da sub-rede na Conta da AWS.
-
IAM: obtenha informações sobre os usuários do IAM na respectiva Conta da AWS e crie o perfil vinculado ao serviço do AWS Cloud9 na Conta da AWS conforme necessário.
-
Systems Manager: permite ao usuário chamar StartSession para iniciar uma conexão com uma instância para uma sessão do Session Manager. Essa permissão é necessária para usuários que abrem um ambiente que se comunica com sua instância do EC2 por meio do Systems Manager. Para obter mais informações, consulte Acessar instâncias do EC2 sem entrada com o AWS Systems Manager
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloud9:UpdateUserSettings", "cloud9:GetUserSettings", "iam:GetUser", "iam:ListUsers", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeInstanceTypeOfferings", "ec2:DescribeRouteTables" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "cloud9:CreateEnvironmentEC2", "cloud9:CreateEnvironmentSSH" ], "Resource": "*", "Condition": { "Null": { "cloud9:OwnerArn": "true" } } }, { "Effect": "Allow", "Action": [ "cloud9:GetUserPublicKey" ], "Resource": "*", "Condition": { "Null": { "cloud9:UserArn": "true" } } }, { "Effect": "Allow", "Action": [ "cloud9:DescribeEnvironmentMemberships" ], "Resource": [ "*" ], "Condition": { "Null": { "cloud9:UserArn": "true", "cloud9:EnvironmentId": "true" } } }, { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "*", "Condition": { "StringLike": { "iam:AWSServiceName": "cloud9.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:GetConnectionStatus" ], "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringLike": { "ssm:resourceTag/aws:cloud9:environment": "*" }, "StringEquals": { "aws:CalledViaFirst": "cloud9.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ssm:*:*:document/*" ] } ] }
Política gerenciada pela AWS: AWSCloud9EnvironmentMember
É possível anexar a política AWSCloud9EnvironmentMember
a suas identidades do IAM.
Esta política concede permissões de associação
que permitem a integração a um ambiente compartilhado do AWS Cloud9.
Detalhes de permissão
Esta política inclui as seguintes permissões:
-
AWS Cloud9 – Criar e obter informações sobre os ambientes, obter e alterar as configurações de usuário para os ambientes.
-
IAM: obtenha informações sobre os usuários do IAM na respectiva Conta da AWS e crie o perfil vinculado ao serviço do AWS Cloud9 na Conta da AWS conforme necessário.
-
Systems Manager: permite ao usuário chamar StartSession para iniciar uma conexão com uma instância para uma sessão do Session Manager. Essa permissão é necessária para usuários que abrem um ambiente que se comunica com sua instância do EC2 por meio do Systems Manager. Para ter mais informações, consulte Acessar instâncias do EC2 sem entrada com o AWS Systems Manager.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloud9:GetUserSettings", "cloud9:UpdateUserSettings", "iam:GetUser", "iam:ListUsers" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "cloud9:DescribeEnvironmentMemberships" ], "Resource": [ "*" ], "Condition": { "Null": { "cloud9:UserArn": "true", "cloud9:EnvironmentId": "true" } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:GetConnectionStatus" ], "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringLike": { "ssm:resourceTag/aws:cloud9:environment": "*" }, "StringEquals": { "aws:CalledViaFirst": "cloud9.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ssm:*:*:document/*" ] } ] }
Política gerenciada da AWS: AWSCloud9ServiceRolePolicy
A função vinculada a serviço AWSServiceRoleForAWSCloud9 usa essa política para permitir que o ambiente do AWS Cloud9 interaja com recursos do Amazon EC2 e do AWS CloudFormation.
Detalhes da permissão
A AWSCloud9ServiceRolePolicy concede a AWSServiceRoleForAWSCloud9 as permissões essenciais para autorizar que o AWS Cloud9 interaja com os Serviços da AWS (Amazon EC2 e AWS CloudFormation) necessários para a criação e execução de ambientes de desenvolvimento.
O AWS Cloud9 define as permissões das funções vinculadas a 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.
Para mais informações sobre como o AWS Cloud9 usa as funções vinculadas a serviço, consulte Usar perfis vinculados ao serviço do AWS Cloud9.
{ "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" } } } ] }
Atualizações do AWS Cloud9 para políticas gerenciadas pela AWS
Visualizar detalhes sobre atualizações em políticas gerenciadas pela AWS para o AWS Cloud9 desde que esse serviço começou a rastrear essas alterações. Para receber alertas automáticos sobre alterações feitas nesta página, inscreva-se no feed RSS na página de histórico de documentos do AWS Cloud9.
Alteração | Descrição | Data |
---|---|---|
Uma nova ação foi adicionada às políticas AWScloud9User, AWScloud9Administrator e AWScloud9EnvironmentMember. |
A ação |
12 de outubro de 2023 |
APIs adicionadas às políticas AWScloud9User e AWSCloud9Administrator. |
Duas novas APIs foram adicionadas às políticas AWScloud9User e AWScloud9Administrator. Essas APIs são |
2 de agosto de 2023 |
Atualização para AWSCloud9ServiceRolePolicy |
AWSCloud9ServiceRolePolicy foi atualizada para permitir que o AWS Cloud9 inicie e interrompa instâncias do Amazon EC2 gerenciadas pelas configurações de licença do License Manager. |
12 de janeiro de 2022 |
O AWS Cloud9 iniciou o rastreamento das alterações |
O AWS Cloud9 começou a monitorar as alterações para as políticas gerenciadas da AWS. |
15 de março de 2021 |
Criar políticas gerenciadas pelo cliente para o AWS Cloud9
Se nenhuma das políticas gerenciadas pela AWS atender a seus requisitos de controle de acesso, crie e anexe suas próprias políticas gerenciadas pelo cliente.
Para criar uma política gerenciada pelo cliente, consulte Create an IAM Policy (Console) (Criar uma política do IAM, console) no Manual do usuário do IAM.
Tópicos
Especificar elementos da política: efeitos, principais, ações e recursos
Para cada recurso do AWS Cloud9, o serviço define um conjunto de operações da API. Para conceder permissões a essas operações da API, o AWS Cloud9 define um conjunto de ações que podem ser especificadas em uma política.
Estes são os elementos de política básicos:
-
Effect
– Especifique o efeito, permitir ou negar, quando o usuário solicitar a ação. Se você não conceder (permitir) explicitamente acesso a um recurso, o acesso estará implicitamente negado. Você também pode negar acesso explicitamente a um recurso. Faça isso para garantir que um usuário não acesse um recurso, mesmo quando uma política diferente conceder o acesso. -
Principal
– Em políticas baseadas em identidade (políticas do IAM), o usuário ao qual a política está anexada é o principal implícito. Para as políticas baseadas em recursos, você especifica o usuário, conta, serviço ou outra entidade a receber permissões. -
Resource
: use um nome do recurso da Amazon (ARN) para identificar o recurso ao qual a política se aplica. -
Action
– Use palavras-chave para identificar as operações de recurso que você quer permitir ou negar. Por exemplo, a permissãocloud9:CreateEnvironmentEC2
permite que o usuário execute a operaçãoCreateEnvironmentEC2
.
Para saber mais sobre a sintaxe e as descrições de políticas do IAM, consulte a Referência da política JSON do IAM no Manual do usuário do IAM.
Para obter uma tabela que mostra todas as ações da API do AWS Cloud9 e os recursos aos quais elas se aplicam, consulte Referência de permissões do AWS Cloud9.
Exemplos de política gerenciada pelo cliente
Nesta seção, encontre exemplos de políticas que concedem permissões para ações do AWS Cloud9. Adapte as políticas do IAM de exemplo a seguir para permitir ou negar explicitamente o acesso ao AWS Cloud9 para suas identidades do IAM.
Para criar ou anexar uma política gerenciada pelo cliente a uma identidade do IAM, consulte Criar uma política do IAM (console) e Anexar políticas do IAM (console) no Manual do usuário do IAM.
nota
Os exemplos a seguir usam a região Leste dos EUA (Ohio) (us-east-2
), um ID de Conta da AWS fictício (123456789012
) e um ID de ambiente de desenvolvimento do AWS Cloud9 fictício (81e900317347585a0601e04c8d52eaEX
).
Tópicos
- Obter informações sobre ambientes
- Criar ambientes EC2
- Criar ambientes EC2 com tipos específicos de instância do Amazon EC2
- Criar ambientes do EC2 em sub-redes específicas da Amazon VPC
- Criar um ambiente EC2 com um nome de ambiente específico
- Criar somente ambientes SSH
- Atualizar ambientes ou impedir a atualização de um ambiente
- Obter listas de membros do ambiente
- Compartilhar ambientes somente com um usuário específico
- Impedir o compartilhamento de ambientes
- Alterar ou impedir a alteração das configurações de membros do ambiente
- Remover ou impedir a remoção de membros do ambiente
- Excluir ou impedir a exclusão de um ambiente
- Política de IAM personalizada para criação de ambiente SSM
Obter informações sobre ambientes
O exemplo de declaração de política do IAM a seguir, anexado a uma entidade do IAM, permite que essa entidade obtenha informações sobre todos os ambientes na conta.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:DescribeEnvironments", "Resource": "*" } ] }
nota
Observe que a permissão de acesso anterior já está incluída nas políticas AWSCloud9Administrator
e AWSCloud9User
gerenciadas pela AWS.
Criar ambientes EC2
O exemplo de declaração de política do IAM a seguir, anexado a uma entidade do IAM, permite que essa entidade crie ambientes de desenvolvimento EC2 do AWS Cloud9 na conta.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:CreateEnvironmentEC2", "Resource": "*" } ] }
nota
Observe que a permissão de acesso anterior já está incluída nas políticas AWSCloud9Administrator
e AWSCloud9User
gerenciadas pela AWS.
Criar ambientes EC2 com tipos específicos de instância do Amazon EC2
O exemplo de declaração de política do IAM a seguir, anexado a uma entidade do IAM, permite que essa entidade crie ambientes de desenvolvimento EC2 do AWS Cloud9 na conta. No entanto, os ambientes EC2 podem usar somente a classe especificada dos tipos de instância do Amazon EC2.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:CreateEnvironmentEC2", "Resource": "*", "Condition": { "StringLike": { "cloud9:InstanceType": "t3.*" } } } ] }
nota
Se a política AWSCloud9Administrator
ou AWSCloud9User
gerenciada pela AWS estiver associada à entidade do IAM, essa política gerenciada pela AWS substituirá o comportamento da declaração de política do IAM anterior. Isso ocorre porque essas políticas gerenciadas pela AWS são mais permissivas.
Criar ambientes do EC2 em sub-redes específicas da Amazon VPC
O exemplo de declaração de política do IAM a seguir, anexado a uma entidade do IAM, permite que essa entidade crie ambientes de desenvolvimento EC2 do AWS Cloud9 na conta. No entanto, os ambientes EC2 podem usar somente as sub-redes especificadas da Amazon VPC.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:CreateEnvironmentEC2", "Resource": "*", "Condition": { "StringLike": { "cloud9:SubnetId": [ "subnet-12345678", "subnet-23456789" ] } } } ] }
nota
Se a política AWSCloud9Administrator
ou AWSCloud9User
gerenciada pela AWS estiver associada à entidade do IAM, essa política gerenciada pela AWS substituirá o comportamento da declaração de política do IAM anterior. Isso ocorre porque essas políticas gerenciadas pela AWS são mais permissivas.
Criar um ambiente EC2 com um nome de ambiente específico
O exemplo de declaração de política do IAM a seguir, anexado a uma entidade do IAM, permite que essa entidade crie ambientes de desenvolvimento EC2 do AWS Cloud9 na conta. No entanto, o ambiente EC2 pode usar apenas o nome especificado.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:CreateEnvironmentEC2", "Resource": "*", "Condition": { "StringEquals": { "cloud9:EnvironmentName": "my-demo-environment" } } } ] }
nota
Se a política AWSCloud9Administrator
ou AWSCloud9User
gerenciada pela AWS estiver associada à entidade do IAM, essa política gerenciada pela AWS substituirá o comportamento da declaração de política do IAM anterior. Isso ocorre porque essas políticas gerenciadas pela AWS são mais permissivas.
Criar somente ambientes SSH
O exemplo de declaração de política do IAM a seguir, anexado a uma entidade do IAM, permite que essa entidade crie ambientes de desenvolvimento SSH do AWS Cloud9 na conta. No entanto, a entidade não pode criar os ambientes de desenvolvimento EC2 no AWS Cloud9.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:CreateEnvironmentSSH", "Resource": "*" }, { "Effect": "Deny", "Action": "cloud9:CreateEnvironmentEC2", "Resource": "*" } ] }
Atualizar ambientes ou impedir a atualização de um ambiente
O exemplo de declaração de política do IAM a seguir, anexado a uma entidade do IAM, permite que essa entidade altere informações sobre qualquer ambiente de desenvolvimento do AWS Cloud9 da conta.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:UpdateEnvironment", "Resource": "*" } ] }
nota
Observe que a permissão de acesso anterior já está incluída na política AWSCloud9Administrator
gerenciada pela AWS.
O exemplo de instrução de política do IAM a seguir, anexado a uma entidade do IAM, impede explicitamente que essa entidade altere as informações sobre o ambiente com o nome do recurso da Amazon (ARN) especificado.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "cloud9:UpdateEnvironment", "Resource": "arn:aws:cloud9:us-east-2:123456789012:environment:81e900317347585a0601e04c8d52eaEX" } ] }
Obter listas de membros do ambiente
O exemplo de declaração de política do IAM a seguir, anexado a uma entidade do IAM, permite que essa entidade obtenha uma lista de membros para todos os ambientes na conta.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:DescribeEnvironmentMemberships", "Resource": "*" } ] }
nota
Observe que a permissão de acesso anterior já está incluída na política AWSCloud9Administrator
gerenciada pela AWS. Além disso, a permissão de acesso anterior é mais permissiva que a permissão de acesso equivalente na política AWSCloud9User
gerenciada pela AWS.
Compartilhar ambientes somente com um usuário específico
O exemplo de declaração de política do IAM a seguir, anexado a uma entidade do IAM, permite que essa entidade compartilhe todos os ambientes na conta com somente usuários especificados.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloud9:CreateEnvironmentMembership" ], "Resource": "*", "Condition": { "StringEquals": { "cloud9:UserArn": "arn:aws:iam::123456789012:user/MyDemoUser" } } } ] }
nota
Se a política AWSCloud9Administrator
ou AWSCloud9User
gerenciada pela AWS estiver associada à entidade do IAM, essas políticas gerenciadas pela AWS substituirão o comportamento da declaração de política do IAM anterior. Isso ocorre porque essas políticas gerenciadas pela AWS são mais permissivas.
Impedir o compartilhamento de ambientes
O exemplo de declaração de política do IAM a seguir, anexado a uma entidade do IAM, impede que essa entidade compartilhe qualquer ambiente na conta.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "cloud9:CreateEnvironmentMembership", "cloud9:UpdateEnvironmentMembership" ], "Resource": "*" } ] }
Alterar ou impedir a alteração das configurações de membros do ambiente
O exemplo de declaração de política do IAM a seguir, anexado a uma entidade do IAM, permite que essa entidade altere as configurações de membros em qualquer ambiente da conta.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:UpdateEnvironmentMembership", "Resource": "*" } ] }
nota
Observe que a permissão de acesso anterior já está incluída na política AWSCloud9Administrator
gerenciada pela AWS.
O exemplo de instrução de política do IAM a seguir, anexado a uma entidade do IAM, impede explicitamente que essa entidade altere as configurações de membros no ambiente com o nome do recurso da Amazon (ARN) especificado.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "cloud9:UpdateEnvironmentMembership", "Resource": "arn:aws:cloud9:us-east-2:123456789012:environment:81e900317347585a0601e04c8d52eaEX" } ] }
Remover ou impedir a remoção de membros do ambiente
O exemplo de declaração de política do IAM a seguir, anexado a uma entidade do IAM, permite que essa entidade remova todos os ambientes da conta.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:DeleteEnvironmentMembership", "Resource": "*" } ] }
nota
Observe que a permissão de acesso anterior já está incluída na política AWSCloud9Administrator
gerenciada pela AWS.
O exemplo de instrução de política do IAM a seguir, anexado a uma entidade do IAM, impede explicitamente que essa entidade remova membros do ambiente com o nome do recurso da Amazon (ARN) especificado.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "cloud9:DeleteEnvironmentMembership", "Resource": "arn:aws:cloud9:us-east-2:123456789012:environment:81e900317347585a0601e04c8d52eaEX" } ] }
Excluir ou impedir a exclusão de um ambiente
O exemplo de declaração de política do IAM a seguir, anexado a uma entidade do IAM, permite que essa entidade exclua todos os ambientes de na conta.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:DeleteEnvironment", "Resource": "*" } ] }
nota
Observe que a permissão de acesso anterior já está incluída na política AWSCloud9Administrator
gerenciada pela AWS.
O exemplo de instrução de política do IAM a seguir, anexado a uma entidade do IAM, impede explicitamente que essa entidade exclua o ambiente com o nome do recurso da Amazon (ARN) especificado.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "cloud9:DeleteEnvironment", "Resource": "arn:aws:cloud9:us-east-2:123456789012:environment:81e900317347585a0601e04c8d52eaEX" } ] }
Política de IAM personalizada para criação de ambiente SSM
Há um problema de permissões atual que ocorre ao criar um ambiente SSM com as políticas AWSCloud9Administrator
ou AWSCloud9User
anexadas. O exemplo de declaração de política do IAM a seguir, quando anexado a uma entidade do IAM, permite que usuários anexem e usem a política AWSCloud9Administrator
ou AWSCloud9User
gerenciada pela AWS.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloud9:UpdateUserSettings", "cloud9:GetUserSettings", "iam:GetUser", "iam:ListUsers", "iam:ListRoles", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeRouteTables" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "cloud9:CreateEnvironmentEC2", "cloud9:CreateEnvironmentSSH" ], "Resource": "*", "Condition": { "Null": { "cloud9:OwnerArn": "true" } } }, { "Effect": "Allow", "Action": [ "cloud9:GetUserPublicKey" ], "Resource": "*", "Condition": { "Null": { "cloud9:UserArn": "true" } } }, { "Effect": "Allow", "Action": [ "cloud9:DescribeEnvironmentMemberships" ], "Resource": [ "*" ], "Condition": { "Null": { "cloud9:UserArn": "true", "cloud9:EnvironmentId": "true" } } }, { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "*", "Condition": { "StringLike": { "iam:AWSServiceName": "cloud9.amazonaws.com" } } }, { "Effect": "Allow", "Action": "ssm:StartSession", "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringLike": { "ssm:resourceTag/aws:cloud9:environment": "*" }, "StringEquals": { "aws:CalledViaFirst": "cloud9.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ssm:*:*:document/*" ] }, { "Effect": "Allow", "Action": ["iam:ListInstanceProfilesForRole", "iam:CreateRole"], "Resource": ["arn:aws:iam::*:role/service-role/AWSCloud9SSMAccessRole"] }, { "Effect": "Allow", "Action": ["iam:AttachRolePolicy"], "Resource": ["arn:aws:iam::*:role/service-role/AWSCloud9SSMAccessRole"], "Condition": { "StringEquals": { "iam:PolicyARN": "arn:aws:iam::aws:policy/AWSCloud9SSMInstanceProfile" } } }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/service-role/AWSCloud9SSMAccessRole", "Condition": { "StringEquals": { "iam:PassedToService": "ec2.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "iam:CreateInstanceProfile", "iam:AddRoleToInstanceProfile" ], "Resource": [ "arn:aws:iam::*:instance-profile/cloud9/AWSCloud9SSMInstanceProfile" ] } ] }
Referência de permissões do AWS Cloud9
Você pode usar as chaves de condição usadas por toda a AWS em suas políticas do AWS Cloud9 para expressar condições. Para obter mais informações, consulte IAM JSON Policy Elements: Condition (Elementos da política JSON do IAM: condição) no Manual do usuário do IAM.
Você especifica as ações no campo Action
das políticas. Para especificar uma ação, use o prefixo cloud9:
seguido do nome da operação da API (por exemplo, "Action": "cloud9:DescribeEnvironments"
). Para especificar várias ações em uma única declaração, separe-as com vírgulas (por exemplo, "Action": [
"cloud9:UpdateEnvironment", "cloud9:DeleteEnvironment" ]
).
Usando caracteres curinga
Especifique um ARN, com ou sem um caractere curinga (*
), como o valor do recurso no campo Resource
da política. Você pode usar um curinga para especificar várias ações ou recursos. Por exemplo, cloud9:*
especifica todas as ações do AWS Cloud9 e cloud9:Describe*
especifica todas as ações do AWS Cloud9 que começam com Describe
.
O exemplo a seguir permite que uma entidade do IAM obtenha informações sobre ambientes e associações de ambientes para qualquer ambiente da conta.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloud9:Describe*" ], "Resource": "*" } ] }
nota
Observe que a permissão de acesso anterior já está incluída na política AWSCloud9Administrator
gerenciada pela AWS. Além disso, a permissão de acesso anterior é mais permissiva que a permissão de acesso equivalente na política AWSCloud9User
gerenciada pela AWS.
Operações de API do AWS Cloud9 e permissões necessárias para ações
nota
É possível usar a tabela a seguir como referência ao configurar o controle de acesso e escrever políticas de permissões que podem ser associadas a uma identidade do IAM (políticas baseadas em identidade).
A tabela Public API operations lista as operações de API que podem ser chamadas por clientes usando SDKs e a tabela AWS Command Line Interface.
O Permission-only API operations lista as operações de API que não são diretamente chamadas pelo código do cliente ou pelo AWS Command Line Interface. Porém, os usuários do IAM exigem permissões para essas operações que são chamadas quando as ações do AWS Cloud9 são executadas usando o console.
Operação do AWS Cloud9 | Permissão necessária (ação da API) | Recurso |
---|---|---|
|
Necessário para criar um ambiente de desenvolvimento EC2 no AWS Cloud9. |
|
|
Necessário para adicionar um membro a um ambiente. |
|
|
Necessário para excluir um ambiente. |
|
|
Necessário para remover um membro de um ambiente. |
|
|
Necessário para obter uma lista de membros em um ambiente. |
|
|
Necessário para obter informações sobre um ambiente. |
|
|
Necessário para obter informações sobre o status de um ambiente. |
|
|
Necessário para atualizar as configurações de um ambiente. |
|
|
Necessário para atualizar as configurações de um membro em um ambiente. |
|
Operação do AWS Cloud9 | Descrição | Documentação do console |
---|---|---|
|
Iniciar a instância do Amazon EC2 à qual o IDE do AWS Cloud9 se conecta. |
|
|
Cria um ambiente de desenvolvimento de SSH do AWS Cloud9. |
|
|
Cria um token de autenticação que permite uma conexão entre o IDE do AWS Cloud9 e o ambiente do usuário. |
|
|
Obtém detalhes sobre a conexão com o ambiente de desenvolvimento EC2, incluindo host, usuário e porta. |
|
|
Obtém detalhes sobre a conexão com o ambiente de desenvolvimento do SSH, incluindo host, usuário e porta. |
|
|
Obtém informações de configuração que são usadas para inicializar o IDE do AWS Cloud9. |
|
|
Obtém as configurações do IDE do AWS Cloud9 para um ambiente de desenvolvimento especificado. |
|
|
Obtém as configurações do IDE do AWS Cloud9 para um membro do ambiente especificado. |
|
|
Obtém a chave de SSH pública do usuário, que é usada pelo AWS Cloud9 para se conectar a ambientes de desenvolvimento SSH. |
|
|
Obtém as configurações do IDE do AWS Cloud9 para um usuário especificado. |
|
|
Define as credenciais temporárias gerenciadas pela AWS na instância do Amazon EC2 que é usada pelo ambiente de desenvolvimento integrado (IDE) do AWS Cloud9. |
|
|
Obtém as configurações do IDE do AWS Cloud9 para um ambiente de desenvolvimento especificado. |
|
|
Atualização das configurações do IDE do AWS Cloud9 para o membro de um ambiente especificado. |
|
|
Atualiza detalhes sobre a conexão com o ambiente de desenvolvimento SSH, incluindo host, usuário e porta. |
|
|
Obtém as configurações do IDE do AWS Cloud9 para um usuário especificado. |
|
|
Concede permissão para um usuário do AWS Cloud9 obter a experiência de migração do AWS Cloud9 para o CodeCatalyst. |
Credenciais temporárias gerenciadas pela AWS
Se você estiver apenas procurando a lista de ações às quais as credenciais temporárias gerenciadas pela AWS oferece suporte, avance para Ações compatíveis com as credenciais temporárias gerenciadas pela AWS. |
Para um ambiente de desenvolvimento EC2 no AWS Cloud9, o AWS Cloud9 disponibiliza à você credenciais temporárias de acesso à AWS no seu ambiente. Elas são chamadas de credenciais temporárias gerenciadas pela AWS. Isso oferece os seguintes benefícios:
-
Não é necessário armazenar as credenciais de acesso permanentes da AWS de uma entidade da AWS (por exemplo, um usuário do IAM) em qualquer lugar no ambiente. Isso evita que essas credenciais sejam acessadas pelos membros do ambiente sem o seu conhecimento e aprovação.
-
Não é necessário configurar, gerenciar ou anexar manualmente um perfil da instância para a instância do Amazon EC2 que se conecta ao ambiente. Um perfil de instância é outra abordagem para gerenciar credenciais de acesso temporárias da AWS.
-
O AWS Cloud9 renova continuamente suas credenciais temporárias, portanto um único conjunto de credenciais só pode ser usado durante um curto período. Essa é uma prática recomendada de segurança da AWS. Para ter mais informações, consulte Criar e atualizar as credenciais temporárias gerenciadas pela AWS.
-
O AWS Cloud9 adiciona restrições sobre como as credenciais temporárias podem ser usadas para acessar ações e recursos da AWS no ambiente. Essa também é uma prática recomendada de segurança da AWS.
Importante
No momento, se a instância do EC2 para o ambiente for iniciada em uma sub-rede privada, você não poderá usar as credenciais temporárias gerenciadas pela AWS para permitir que o ambiente do EC2 acesse um serviço da AWS em nome de uma entidade da AWS (por exemplo, um usuário do IAM).
Para obter mais informações sobre quando você pode iniciar uma instância do EC2 em uma sub-rede privada, consulte Criar uma sub-rede para o AWS Cloud9.
nota
Considere usar uma política gerenciada pela AWS em vez de uma política em linha quando você estiver usando credenciais temporárias gerenciadas pela AWS.
Veja como as credenciais temporárias gerenciadas pela AWS funcionam, sempre que um ambiente do EC2 tenta acessar um AWS service (Serviço da AWS) em nome de uma entidade da AWS (por exemplo, um usuário do IAM):
-
O AWS Cloud9 verifica se a entidade chamadora da AWS (por exemplo, o usuário do IAM) tem permissões para executar a ação solicitada pelo recurso solicitado na AWS. Se a permissão não existir ou for explicitamente negada, a solicitação falhará.
-
O AWS Cloud9 verifica as credenciais temporárias gerenciadas pela AWS para ver se elas têm permissões para a ação solicitada pelo recurso solicitado na AWS. Se a permissão não existir ou for explicitamente negada, a solicitação falhará. Para obter uma lista das permissões compatíveis com as credenciais temporárias gerenciadas pela AWS, consulte Ações compatíveis com as credenciais temporárias gerenciadas pela AWS.
-
Se a entidade da AWS e as credenciais temporárias gerenciadas pela AWS permitirem a ação solicitada para o recurso solicitado, a solicitação terá êxito.
-
Se a entidade da AWS ou as credenciais temporárias gerenciadas pela AWS negarem explicitamente, ou não permitirem explicitamente, a ação solicitada para o recurso solicitado, haverá falha na solicitação. Isso significa que, mesmo que a entidade chamadora da AWS tenha as permissões corretas, a solicitação falhará se o AWS Cloud9 não permitir isso explicitamente. Da mesma forma, se o AWS Cloud9 permitir que uma ação específica seja executada para um recurso específico, a solicitação falhará se a entidade da AWS também não permitir isso explicitamente.
O proprietário de um ambiente EC2 pode ativar ou desativar as credenciais temporárias gerenciadas pela AWS para esse ambiente a qualquer momento, da seguinte maneira:
-
Com o ambiente aberto, no IDE do AWS Cloud9, na barra de menus, selecione Ambientes de Desenvolvimento AWS Cloud9.
-
No painel de navegação da guia Preferências, selecione Configurações da AWS, Credenciais.
-
Usar as credenciais temporárias gerenciadas pela AWS para ativar e desativar as credenciais temporárias gerenciadas pela AWS.
nota
É possível ativar ou desativar credenciais gerenciadas pela AWS temporárias chamando a operação da AWS Cloud9 API UpdateEnvironment
e atribuindo um valor ao parâmetro managedCredentialsAction
. Você pode solicitar essa operação dA API usando as ferramentas padrão da AWS, como os AWS SDKs e a AWS CLI.
Se você desativar as credenciais temporárias gerenciadas pela AWS, o ambiente não poderá acessar nenhum AWS, independentemente da entidade da Serviços da AWS que fizer a solicitação. Entretanto, suponha que você não consegue ou não quer ativar as credenciais temporárias gerenciadas pela AWS para um ambiente, mas ainda precisa do ambiente para acessar os Serviços da AWS. Considere as seguintes alternativas:
-
Anexe um perfil da instância à instância do Amazon EC2 que se conecta ao ambiente. Para obter instruções, consulte Criar e usar um perfil de instância para gerenciar credenciais temporárias.
-
Armazene as credenciais de acesso da AWS permanentes no ambiente, por exemplo, definindo variáveis de ambiente especiais ou executando o comando
aws configure
. Para obter instruções, consulte Crie e armazene as credenciais de acesso permanentes em um ambiente.
As alternativas anteriores substituem todas as permissões concedidas (ou negadas) pelas credenciais temporárias gerenciadas pela AWS em um ambiente EC2.
Ações compatíveis com as credenciais temporárias gerenciadas pela AWS
Em um ambiente de desenvolvimento do EC2 no AWS Cloud9, as credenciais temporárias gerenciadas pela AWS permitem todas as ações da AWS para todos os recursos da AWS na Conta da AWS chamadora, com as seguintes restrições:
-
Para o AWS Cloud9, apenas as seguintes ações são permitidas:
-
cloud9:CreateEnvironmentEC2
-
cloud9:CreateEnvironmentSSH
-
cloud9:DescribeEnvironmentMemberships
-
cloud9:DescribeEnvironments
-
cloud9:DescribeEnvironmentStatus
-
cloud9:UpdateEnvironment
-
-
Para o IAM, apenas as seguintes ações são permitidas:
-
iam:AttachRolePolicy
-
iam:ChangePassword
-
iam:CreatePolicy
-
iam:CreatePolicyVersion
-
iam:CreateRole
-
iam:CreateServiceLinkedRole
-
iam:DeletePolicy
-
iam:DeletePolicyVersion
-
iam:DeleteRole
-
iam:DeleteRolePolicy
-
iam:DeleteSSHPublicKey
-
iam:DetachRolePolicy
-
iam:GetInstanceProfile
-
iam:GetPolicy
-
iam:GetPolicyVersion
-
iam:GetRole
-
iam:GetRolePolicy
-
iam:GetSSHPublicKey
-
iam:GetUser
-
iam:List*
-
iam:PassRole
-
iam:PutRolePolicy
-
iam:SetDefaultPolicyVersion
-
iam:UpdateAssumeRolePolicy
-
iam:UpdateRoleDescription
-
iam:UpdateSSHPublicKey
-
iam:UploadSSHPublicKey
-
-
Todas as ações do IAM que interagem com funções são permitidas somente para nomes de função que começam com
Cloud9-
. No entanto,iam:PassRole
funciona com todos os nomes de função. -
Para o AWS Security Token Service (AWS STS), apenas as seguintes ações são permitidas:
-
sts:GetCallerIdentity
-
sts:DecodeAuthorizationMessage
-
-
Todas as ações da AWS compatíveis são restritas ao endereço IP do ambiente. Essa é uma prática recomendada de segurança da AWS.
Se o AWS Cloud9 não for compatível com uma ação ou recurso que você precisa que um ambiente EC2 acesse, ou se as credenciais temporárias gerenciadas pela AWS estiverem desativadas para um ambiente EC2 e não for possível ativá-las novamente, considere as seguintes alternativas:
-
Anexe um perfil da instância à instância do Amazon EC2 que se conecta ao ambiente EC2. Para obter instruções, consulte Crie e use um perfil da instância para gerenciar as credenciais temporárias.
-
Armazene as credenciais de acesso da AWS permanentes no ambiente EC2, por exemplo, definindo variáveis de ambiente especiais ou executando o comando
aws configure
. Para obter instruções, consulte Crie e armazene as credenciais de acesso permanentes em um ambiente.
As alternativas anteriores substituem todas as permissões concedidas (ou negadas) pelas credenciais temporárias gerenciadas pela AWS em um ambiente EC2.
Criar e atualizar as credenciais temporárias gerenciadas pela AWS
Para um ambiente de desenvolvimento do EC2 da AWS Cloud9, as credenciais temporárias gerenciadas pela AWS são criadas na primeira vez que você abrir o ambiente.
As credenciais temporárias gerenciadas pela AWS são atualizadas em qualquer uma das seguintes condições:
-
Sempre que um determinado período passar. Atualmente, isso ocorre a cada cinco minutos.
-
Sempre que recarregar a guia do navegador da Web que exibe o IDE para o ambiente.
-
Quando o carimbo de hora listado no arquivo
~/.aws/credentials
do ambiente for alcançado. -
Se a configuração das credenciais temporárias gerenciadas pela AWS for definida como desativada toda vez que você a reativa. (Para exibir ou alterar essa configuração, selecione AWS Cloud9, Preferências na barra de menus do IDE. No painel de navegação da guia Preferências, selecione Configurações de AWS, Credenciais.)
-
As credenciais temporárias gerenciadas pela AWS também expiram automaticamente a cada 15 minutos. Para que as credenciais sejam atualizadas, o proprietário do ambiente deve estar conectado ao ambiente do AWS Cloud9 por meio do IDE. Para obter mais informações sobre as funções do proprietário do ambiente, consulte Controlar o acesso às credenciais temporárias gerenciadas pela AWS.
Controlar o acesso às credenciais temporárias gerenciadas pela AWS
Um colaborador com credenciais temporárias gerenciadas pela AWS pode usar o AWS Cloud9 para interagir com outros Serviços da AWS. Para garantir que apenas colaboradores confiáveis recebam as credenciais temporárias gerenciadas pela AWS, essas credenciais serão desativadas se um novo membro for adicionado por qualquer pessoa que não seja o proprietário do ambiente. As credenciais são desativadas pela exclusão do arquivo ~/.aws/credentials
.
Importante
As credenciais temporárias gerenciadas pela AWS também expiram automaticamente a cada 15 minutos. Para que as credenciais sejam atualizadas e os colaboradores possam continuar a usá-las, o proprietário do ambiente deve estar conectado ao ambiente do AWS Cloud9 por meio do IDE.
Somente o proprietário do ambiente pode habilitar novamente as credenciais temporárias gerenciadas pela AWS para que possam ser compartilhadas com outros membros. Quando o proprietário do ambiente abre o IDE, uma caixa de diálogo confirma que as credenciais temporárias gerenciadas pela AWS estão desativadas. O proprietário do ambiente pode reativar as credenciais para todos os membros ou mantê-las desabilitadas para todos os membros.
Atenção
Para manter a conformidade com as práticas recomendadas de segurança, mantenha as credenciais temporárias gerenciadas desativadas se você não tiver certeza sobre a identidade do último usuário adicionado ao ambiente. Você pode verificar a lista de membros com permissões de leitura/gravação na janela Collaborate (Colaborar).