Como AWS CodeStar funciona com IAM - AWS CodeStar

Em 31 de julho de 2024, a Amazon Web Services (AWS) interromperá o suporte para criação e visualização AWS CodeStar de projetos. Depois de 31 de julho de 2024, você não poderá mais acessar o AWS CodeStar console nem criar novos projetos. No entanto, os AWS recursos criados por AWS CodeStar, incluindo seus repositórios de origem, pipelines e compilações, não serão afetados por essa alteração e continuarão funcionando. AWS CodeStar As conexões e AWS CodeStar notificações não serão afetadas por essa descontinuação.

 

Se você deseja monitorar o trabalho, desenvolver código e criar, testar e implantar seus aplicativos, a Amazon CodeCatalyst fornece um processo de introdução simplificado e funcionalidades adicionais para gerenciar seus projetos de software. Saiba mais sobre a funcionalidade e os preços da Amazon CodeCatalyst.

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

Como AWS CodeStar funciona com IAM

Antes de usar IAM para gerenciar o acesso ao AWS CodeStar, você deve entender quais IAM recursos estão disponíveis para uso AWS CodeStar. Para obter uma visão geral de como AWS CodeStar e outros AWS serviços funcionam comIAM, consulte AWS Serviços que funcionam com IAM no Guia do IAM usuário.

AWS CodeStarPolíticas baseadas em identidade

Com políticas IAM baseadas em identidade, você pode especificar ações e recursos permitidos ou negados e as condições sob as quais as ações são permitidas ou negadas. AWS CodeStar cria várias políticas baseadas em identidade em seu nome, que permitem AWS CodeStar criar e gerenciar recursos dentro do escopo de um AWS CodeStar projeto. AWS CodeStar oferece suporte a ações, recursos e chaves de condição específicos. Para saber mais sobre todos os elementos que você usa em uma JSON política, consulte Referência IAM JSON de elementos de política no Guia do IAM usuário.

Ações

Os administradores podem usar AWS JSON políticas para especificar quem tem acesso ao quê. Ou seja, qual entidade principal pode executar ações em quais recursos, e em que condições.

O Action elemento de uma JSON política descreve as ações que você pode usar para permitir ou negar acesso em uma política. As ações de política geralmente têm o mesmo nome da AWS API operação associada. Há algumas exceções, como ações somente de permissão que não têm uma operação correspondente. API 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.

As ações políticas AWS CodeStar usam o seguinte prefixo antes da ação:codestar:. Por exemplo, para permitir que um IAM usuário especificado edite os atributos de um AWS CodeStar projeto, como a descrição do projeto, você pode usar a seguinte declaração de política:

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "codestar:UpdateProject" ], "Resource" : "arn:aws:codestar:us-east-2:project/my-first-projec" } ] }

As instruções de política devem incluir um elemento Action ou NotAction. AWS CodeStar define seu próprio conjunto de ações que descrevem as tarefas que você pode executar com esse serviço.

Para especificar várias ações em uma única instrução, separe-as com vírgulas, como segue:

"Action": [ "codestar:action1", "codestar:action2"

Você também pode especificar várias ações usando caracteres curinga (*). Por exemplo, para especificar todas as ações que começam com a palavra List, inclua a seguinte ação:

"Action": "codestar:List*"

Para ver uma lista de AWS CodeStar ações, consulte Ações definidas por AWS CodeStar no Guia do IAM usuário.

Recursos

Os administradores podem usar AWS JSON políticas para especificar quem tem acesso ao quê. Ou seja, qual entidade principal pode executar ações em quais recursos, e em que condições.

O elemento Resource JSON de política especifica o objeto ou 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 Amazon Resource Name (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": "*"

O recurso AWS CodeStar do projeto tem o seguinteARN:

arn:aws:codestar:region:account:project/resource-specifier

Para obter mais informações sobre o formato deARNs, consulte Amazon Resource Names (ARNs) e AWS Service Namespaces.

Por exemplo, o seguinte especifica o AWS CodeStar projeto chamado my-first-projec registrado na AWS conta 111111111111 na AWS regiãous-east-2:

arn:aws:codestar:us-east-2:111111111111:project/my-first-projec

O seguinte especifica qualquer AWS CodeStar projeto que comece com o nome my-proj registrado na AWS conta 111111111111 na AWS regiãous-east-2:

arn:aws:codestar:us-east-2:111111111111:project/my-proj*

Algumas AWS CodeStar ações, como listar projetos, não podem ser executadas em um recurso. Nesses casos, você deve utilizar o caractere curinga (*).

"LisProjects": "*"

Para ver uma lista dos tipos de AWS CodeStar recursos e seusARNs, consulte Recursos definidos por AWS CodeStar no Guia do IAM usuário. Para saber com quais ações você pode especificar cada recurso, consulte Ações definidas por AWS CodeStar. ARN

Chaves de condição

AWS CodeStar não fornece nenhuma chave de condição específica do serviço, mas oferece suporte ao uso de algumas chaves de condição globais. Para ver todas as chaves de condição AWS globais, consulte Chaves de contexto de condição AWS global no Guia IAM do usuário.

Exemplos

Para ver exemplos de políticas AWS CodeStar baseadas em identidade, consulte. AWS CodeStarExemplos de políticas baseadas em identidade

AWS CodeStar Políticas baseadas em recursos

AWS CodeStar não oferece suporte a políticas baseadas em recursos.

Autorização baseada em tags do AWS CodeStar

Você pode anexar tags a AWS CodeStar projetos ou passar tags em uma solicitação para AWS CodeStar. 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 codestar:ResourceTag/key-name, aws:RequestTag/key-name ou chaves de condição aws:TagKeys. Para obter mais informações sobre a marcação de AWS CodeStar recursos, consulteComo trabalhar com tags de projetos no AWS CodeStar.

Para ver um exemplo de política baseada em identidade para limitar o acesso a um AWS CodeStar projeto com base nas tags desse projeto, consulte. Visualizar projetos do AWS CodeStar com base em tags

AWS CodeStar IAMFunções

Uma IAMfunção é uma entidade na sua AWS conta que tem permissões específicas.

Você pode usar AWS CodeStar como IAMusuário, usuário federado, usuário root ou função assumida. Todos os tipos de usuários com as permissões apropriadas podem gerenciar as permissões do projeto para seus AWS recursos, mas AWS CodeStar gerenciam as permissões do projeto automaticamente para IAM os usuários. IAMpolíticas e funções concedem permissões e acesso a esse usuário com base na função do projeto. Você pode usar o IAM console para criar outras políticas que AWS CodeStar atribuam outras permissões a um IAM usuário.

Por exemplo, você pode permitir que um usuário visualize, mas não altere, um projeto do AWS CodeStar . Nesse caso, você adiciona o IAM usuário a um AWS CodeStar projeto com o papel de visualizador. Cada AWS CodeStar projeto tem um conjunto de políticas que ajudam você a controlar o acesso ao projeto. Além disso, você pode controlar a quais usuários têm acesso AWS CodeStar.

AWS CodeStar o acesso é tratado de forma diferente para IAM usuários e usuários federados. Somente IAM usuários podem ser adicionados às equipes. Para conceder permissões IAM aos usuários para projetos, você adiciona o usuário à equipe do projeto e atribui a ele uma função. Para conceder permissões aos usuários federados para projetos, você anexa manualmente a política gerenciada da função do AWS CodeStar projeto à função do usuário federado.

Esta tabela resume as ferramentas disponíveis para cada tipo de acesso.

Recurso de permissões IAMusuário Usuário federado Usuário raiz
SSHgerenciamento de chaves para acesso remoto para projetos da Amazon EC2 e do Elastic Beanstalk
AWS CodeCommit SSHacesso
IAMpermissões de usuário gerenciadas por AWS CodeStar
Permissões de projeto gerenciadas manualmente
Os usuários podem ser adicionados ao projeto como membros da equipe

IAMAcesso do usuário a AWS CodeStar

Quando você adiciona um IAM usuário a um projeto e escolhe uma função para o usuário, AWS CodeStar aplica automaticamente a política apropriada ao IAM usuário. Para IAM os usuários, você não precisa anexar ou gerenciar diretamente políticas ou permissões noIAM. Para obter informações sobre como adicionar um IAM usuário a um AWS CodeStar projeto, consulteAdicionar membros da equipe a um projeto do AWS CodeStar. Para obter informações sobre como remover um IAM usuário de um AWS CodeStar projeto, consulteRemover membros da equipe de um projeto do AWS CodeStar.

Anexar uma política embutida a um usuário IAM

Quando você adiciona um usuário a um projeto, anexa AWS CodeStar automaticamente a política gerenciada do projeto que corresponde à função do usuário. Você não deve anexar manualmente uma política AWS CodeStar gerenciada de um projeto a um IAM usuário. Com exceção deAWSCodeStarFullAccess, não recomendamos que você anexe políticas que alterem as permissões de um IAM usuário em um AWS CodeStar projeto. Se você decidir criar e anexar suas próprias políticas, consulte Adicionar e remover permissões de IAM identidade no Guia do IAM usuário.

Acesso de usuário federado a AWS CodeStar

Em vez de criar um IAM usuário ou usar o usuário raiz, você pode usar identidades de usuário do diretório de usuários corporativo AWS Directory Service, de um provedor de identidade da web ou de IAM usuários assumindo funções. Estes são conhecidos como usuários federados.

Conceda aos usuários federados acesso ao seu AWS CodeStar projeto anexando manualmente as políticas gerenciadas descritas em Políticas e permissões em AWS CodeStar nível de projeto à função do usuário. IAM Você anexa a política de proprietário, colaborador ou visualizador depois de AWS CodeStar criar os recursos e IAM funções do seu projeto.

Pré-requisitos:

  • Você deve ter criado um provedor de identidade. Por exemplo, você pode configurar um provedor de SAML identidade e configurar a AWS autenticação por meio do provedor. Para obter mais informações sobre como configurar um provedor de identidade, consulte Criação de provedores de IAM identidade. Para obter mais informações sobre SAML federação, consulte Sobre a federação SAML baseada em 2.0.

  • Você deve ter criado uma função para um usuário federado a ser assumida quando o acesso for solicitado por meio de um provedor de identidade. Uma política de STS confiança deve ser anexada à função que permita que usuários federados assumam a função. Para obter mais informações, consulte Usuários e funções federados no Guia do IAM usuário.

  • Você deve ter criado seu AWS CodeStar projeto e saber o ID do projeto.

Para obter mais informações sobre como criar uma função para provedores de identidade, consulte Criar uma função para um provedor de identidade de terceiros (federação).

Anexar a política AWSCodeStarFullAccess gerenciada à função do usuário federado

Conceda a um usuário federado permissões para criar um projeto anexando a política gerenciada AWSCodeStarFullAccess. Para executar essas etapas, você deve estar conectado ao console como usuário raiz, usuário administrador na conta ou usuário ou IAM usuário federado com a política AdministratorAccess gerenciada associada ou equivalente.

nota

Depois que você criar o projeto, as permissões de proprietário do projeto não serão aplicadas automaticamente. Usando uma função com permissões administrativas para a conta, anexe a política gerenciada do proprietário, conforme descrito em Anexe a política gerenciada de AWS CodeStar visualizador/colaborador/proprietário do seu projeto à função do usuário federado.

  1. Abra o IAM console. No painel de navegação, escolha Policies.

  2. Digite AWSCodeStarFullAccess no campo de pesquisa. O nome da política é exibido, com um tipo de política de Gerenciado pelo AWS . Você pode expandir a política para ver as permissões na declaração de política.

  3. Marque o círculo ao lado da política e, em Policy actions (Ações da política), escolha Attach (Anexar).

  4. Na página Summary (Resumo), selecione a guia Attached entities (Entidades anexadas). Escolha Anexar.

  5. Na página Attach Policy (Anexar política), filtre a função do usuário federado no campo de pesquisa. Selecione a caixa ao lado do nome da função e escolha Attach policy (Anexar política). A guia Attached entities (Entidades anexadas) mostrará o novo anexo.

Anexe a política gerenciada de AWS CodeStar visualizador/colaborador/proprietário do seu projeto à função do usuário federado

Conceda aos usuários federados acesso ao projeto anexando a política gerenciada de proprietário, colaborador ou visualizador do apropriada à função do usuário. A política gerenciada oferece o nível apropriado de permissões. Ao contrário dos IAM usuários, você deve anexar e desanexar manualmente as políticas gerenciadas para usuários federados. Isso equivale a atribuir permissões do projeto aos membros da equipe em AWS CodeStar. Para executar essas etapas, você deve estar conectado ao console como usuário raiz, usuário administrador na conta ou usuário ou IAM usuário federado com a política AdministratorAccess gerenciada associada ou equivalente.

Pré-requisitos:

  • Você deve ter criado uma função ou ter uma função existente assumida pelo usuário federado.

  • Você deve saber qual nível de permissões deseja conceder. As políticas gerenciadas anexadas às funções de proprietário, colaborador e visualizador fornecem permissões baseadas na função para o projeto.

  • Seu AWS CodeStar projeto deve ter sido criado. A política gerenciada não estará disponível IAM até que o projeto seja criado.

  1. Abra o IAM console. No painel de navegação, escolha Policies.

  2. Digite o ID do projeto no campo de pesquisa. O nome da política correspondente ao projeto é exibido, com um tipo de política de Customer managed (Gerenciado pelo cliente). Você pode expandir a política para ver as permissões na declaração de política.

  3. Escolha uma dessas políticas gerenciadas. Marque o círculo ao lado da política e, em Policy actions (Ações da política), escolha Attach (Anexar).

  4. Na página Summary (Resumo), selecione a guia Attached entities (Entidades anexadas). Escolha Anexar.

  5. Na página Attach Policy (Anexar política), filtre a função do usuário federado no campo de pesquisa. Selecione a caixa ao lado do nome da função e escolha Attach policy (Anexar política). A guia Attached entities (Entidades anexadas) mostrará o novo anexo.

Separar uma política AWS CodeStar gerenciada da função do usuário federado

Antes de excluir seu AWS CodeStar projeto, você deve separar manualmente todas as políticas gerenciadas anexadas à função de um usuário federado. Para executar essas etapas, você deve estar conectado ao console como usuário raiz, usuário administrador na conta ou usuário ou IAM usuário federado com a política AdministratorAccess gerenciada associada ou equivalente.

  1. Abra o IAM console. No painel de navegação, escolha Policies.

  2. Digite o ID do projeto no campo de pesquisa.

  3. Marque o círculo ao lado da política e, em Policy actions (Ações da política), escolha Attach (Anexar).

  4. Na página Summary (Resumo), selecione a guia Attached entities (Entidades anexadas).

  5. Filtre a função do usuário federado no campo de pesquisa. Escolha Desassociar.

Anexar uma política AWS Cloud9 gerenciada à função do usuário federado

Se você estiver usando um ambiente de AWS Cloud9 desenvolvimento, conceda aos usuários federados acesso a ele anexando a política AWSCloud9User gerenciada à função do usuário. Ao contrário dos IAM usuários, você deve anexar e desanexar manualmente as políticas gerenciadas para usuários federados. Para executar essas etapas, você deve estar conectado ao console como usuário raiz, usuário administrador na conta ou usuário ou IAM usuário federado com a política AdministratorAccess gerenciada associada ou equivalente.

Pré-requisitos:

  • Você deve ter criado uma função ou ter uma função existente assumida pelo usuário federado.

  • Você deve saber qual nível de permissões deseja conceder:

    • A política gerenciada AWSCloud9User permite que o usuário faça o seguinte:

      • Crie seus próprios ambientes AWS Cloud9 de desenvolvimento.

      • Obtenha informações sobre os ambientes.

      • Altere as configurações para os ambientes.

    • A política gerenciada AWSCloud9Administrator permite que o usuário faça o seguinte para eles ou outros:

      • Crie ambientes.

      • Obtenha informações sobre ambientes.

      • Exclua ambientes.

      • Altere as configurações de ambientes.

  1. Abra o IAM console. No painel de navegação, escolha Policies.

  2. Digite o nome da política no campo de pesquisa. A política gerenciada é exibida, com um tipo de política de Gerenciado pelo AWS . Você pode expandir a política para ver as permissões na declaração de política.

  3. Escolha uma dessas políticas gerenciadas. Marque o círculo ao lado da política e, em Policy actions (Ações da política), escolha Attach (Anexar).

  4. Na página Summary (Resumo), selecione a guia Attached entities (Entidades anexadas). Escolha Anexar.

  5. Na página Attach Policy (Anexar política), filtre a função do usuário federado no campo de pesquisa. Escolha a caixa ao lado do nome da função e Attach policy (Anexar política). A guia Attached entities (Entidades anexadas) mostrará o novo anexo.

Separar uma política AWS Cloud9 gerenciada da função do usuário federado

Se você estiver usando um ambiente de AWS Cloud9 desenvolvimento, poderá remover o acesso de um usuário federado a ele desanexando a política que concede acesso. Para executar essas etapas, você deve estar conectado ao console como usuário raiz, usuário administrador na conta ou usuário ou IAM usuário federado com a política AdministratorAccess gerenciada associada ou equivalente.

  1. Abra o IAM console. No painel de navegação, escolha Policies.

  2. Digite o nome do projeto no campo de pesquisa.

  3. Marque o círculo ao lado da política e, em Policy actions (Ações da política), escolha Attach (Anexar).

  4. Na página Summary (Resumo), selecione a guia Attached entities (Entidades anexadas).

  5. Filtre a função do usuário federado no campo de pesquisa. Escolha Desassociar.

Usando credenciais temporárias com AWS CodeStar

Você pode usar credenciais temporárias para entrar com a federação, assumir uma IAM função ou assumir uma função entre contas. Você obtém credenciais de segurança temporárias ligando para AWS STS API operações como AssumeRoleou GetFederationToken.

AWS CodeStar suporta o uso de credenciais temporárias, mas a funcionalidade de membro da AWS CodeStar equipe não funciona para acesso federado. AWS CodeStar A funcionalidade de membro da equipe só oferece suporte à adição de um IAM usuário como membro da equipe.

Funções vinculadas ao serviço

As funções vinculadas ao serviço permitem que AWS os serviços acessem recursos em outros serviços para concluir uma ação em seu nome. As funções vinculadas ao serviço aparecem em sua IAM conta e são de propriedade do serviço. Um administrador do pode visualizar, mas não editar, as permissões de funções vinculadas ao serviço.

AWS CodeStar não oferece suporte a funções vinculadas a serviços.

Perfis de serviço

Esse atributo permite que um serviço assuma um perfil de serviço em seu nome. O perfil permite que o serviço acesse recursos em outros serviços para concluir uma ação em seu nome. As funções de serviço aparecem na sua IAM conta e são de propriedade da conta. Isso significa que um administrador do pode alterar as permissões para essa função. Porém, fazer isso pode alterar a funcionalidade do serviço.

AWS CodeStar suporta funções de serviço. AWS CodeStar usa uma função de serviço aws-codestar-service-role,, quando cria e gerencia os recursos do seu projeto. Para obter mais informações, consulte Termos e conceitos de funções no Guia IAM do usuário.

Importante

Você deve estar conectado como um usuário administrativo do ou conta raiz para criar essa função de serviço. Para obter mais informações, consulte Somente acesso pela primeira vez: suas credenciais de usuário raiz e Como criar seu primeiro usuário e grupo administrador no Guia do IAMusuário.

Essa função é criada para você na primeira vez que você cria um projeto em AWS CodeStar. A função de serviço atua em seu nome para:

  • Criar os recursos escolhidos ao criar um projeto.

  • Exiba informações sobre esses recursos no painel do AWS CodeStar projeto.

Ela também atua em seu nome quando você gerencia os recursos de um projeto. Para obter um exemplo dessa declaração de política, consulte AWSCodeStarServiceRole Política.

Além disso, AWS CodeStar cria várias funções de serviço específicas do projeto, dependendo do tipo de projeto. AWS CloudFormation e as funções do conjunto de ferramentas são criadas para cada tipo de projeto.

  • AWS CloudFormation as funções permitem acessar AWS CodeStar AWS CloudFormation para criar e modificar pilhas para seu AWS CodeStar projeto.

  • As funções do conjunto de ferramentas AWS CodeStar permitem acessar outros AWS serviços para criar e modificar recursos para seu AWS CodeStar projeto.