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á.
Autenticação e controle de acesso para AWS CodeCommit
O acesso ao AWS CodeCommit requer credenciais. Essas credenciais devem ter permissões para acessar AWS recursos, como CodeCommit repositórios e seu usuário do IAM, que você usa para gerenciar suas credenciais do Git ou a chave pública SSH que você usa para fazer conexões com o Git. As seções a seguir fornecem detalhes sobre como você pode usar o AWS Identity and Access Management (IAM) e ajudar CodeCommit a proteger o acesso aos seus recursos:
Autenticação
Como CodeCommit os repositórios são Git-based e suportam a funcionalidade básica do Git, incluindo as credenciais do Git, recomendamos que você use um usuário do IAM ao trabalhar com eles. CodeCommit Você pode acessar CodeCommit com outros tipos de identidade, mas os outros tipos de identidade estão sujeitos a limitações, conforme descrito abaixo.
Tipos de identidade:
-
Usuário do IAM: um usuário do IAM é uma identidade na sua conta da Amazon Web Services com permissões personalizadas específicas. Por exemplo, um usuário do IAM pode ter permissões para criar e gerenciar credenciais do Git para acessar CodeCommit repositórios. Esse é o tipo de usuário recomendado para trabalhar com CodeCommit. Você pode usar um nome de usuário e uma senha do IAM para entrar em AWS páginas da Web seguras Console de gerenciamento da AWS
, como os Fóruns de AWS discussão ou o AWS Support Centro . É possível gerar credenciais do Git ou associar chaves públicas SSH com seu usuário do IAM, ou ainda instalar e configurar o git-remote-codecommit. Essas são as formas mais fáceis de configurar o Git para trabalhar com seus CodeCommit repositórios. Com as credenciais do Git, você gera um nome de usuário e senha estáticos no IAM. Essas credenciais são usadas para conexões HTTP com o Git e qualquer outra ferramenta de terceiros com suporte para a autenticação usando o nome de usuário e a senha do Git. Com as conexões SSH, você cria arquivos de chave pública e privada em sua máquina local que são CodeCommit usados pelo Git para autenticação SSH. Você associa a chave pública com o usuário do IAM e armazena a chave privada no computador local. O git-remote-codecommit estende o próprio Git e não requer a configuração das credenciais do Git para o usuário.
Além disso, você pode gerar chaves de acesso para cada usuário. Use as teclas de acesso ao acessar AWS os serviços de forma programática, por meio de um dos AWS SDKs
ou usando o AWS Command Line Interface ().AWS CLI As ferramentas de SDK e de CLI usam as chaves de acesso para o cadastramento criptográfico das suas solicitações. Se você não usa as AWS ferramentas, você mesmo deve assinar as solicitações. CodeCommit suporta o Signature Version 4, um protocolo para autenticar solicitações de API de entrada. Para obter mais informações sobre a autenticação de solicitações, consulte Processo de cadastramento do Signature versão 4 na Referência geral da AWS. -
Usuário raiz da conta Amazon Web Services — Ao se inscrever AWS, você fornece um endereço de e-mail e uma senha associados à sua conta da Amazon Web Services. Estas são suas credenciais raiz e elas fornecem acesso total a todos os seus recursos da AWS . Alguns CodeCommit recursos não estão disponíveis para usuários de contas raiz. Além disso, a única maneira de usar o Git com sua conta raiz é instalar e configurar git-remote-codecommit (recomendado) ou configurar o auxiliar de AWS credenciais, que está incluído no. AWS CLI Você não pode usar as credenciais do Git ou os pares de chaves público/privada SSH com o usuário da sua conta raiz. Por esses motivos, não recomendamos usar o usuário da sua conta raiz ao interagir com CodeCommit.
Importante
Por motivos de segurança, recomendamos que você use as credenciais raiz para criar somente um usuário administrador, que é um usuário do IAM com permissões totais à sua conta da AWS . Em seguida, você pode usar esse usuário administrador para criar outros usuários e funções IAM com permissões limitadas. Para mais informações, consulte Melhores práticas do IAM e Criar um grupo e um usuário administrador no Guia do usuário do IAM.
-
IAM Identity Center e usuários no IAM Identity Center — Centro de Identidade do AWS IAM expande os recursos do AWS Identity and Access Management para fornecer um local central que reúne a administração de usuários e seu acesso a Contas da AWS aplicativos em nuvem. Embora seja recomendado para a maioria dos usuários que trabalham com a AWS, o IAM Identity Center não fornece mecanismos para credenciais do Git ou pares de chaves SSH. Esses usuários podem instalar e configurar git-remote-codecommit para clonar CodeCommit repositórios localmente, mas nem todos os ambientes de desenvolvimento integrado (IDEs) suportam clonagem, push ou pull with. git-remote-codecommit
Como melhor prática, exija que usuários humanos usem a federação com um provedor de identidade para acessar Serviços da AWS usando credenciais temporárias.
Uma identidade federada é um usuário do seu diretório corporativo, provedor de identidade da web ou Directory Service que acessa Serviços da AWS usando credenciais de uma fonte de identidade. As identidades federadas assumem funções que oferecem credenciais temporárias.
Para o gerenciamento de acesso centralizado, recomendamos Centro de Identidade do AWS IAM. Para saber mais, consulte O que é o IAM Identity Center? no Guia do usuário do Centro de Identidade do AWS IAM .
-
Perfil do IAM: como um usuário do IAM;, um perfil do IAM é uma identidade do IAM que você pode criar na sua conta para conceder permissões específicas.
Uma perfil do IAM é uma identidade com permissões específicas que oferece credenciais temporárias. Você pode assumir uma função mudando de um usuário para uma função do IAM (console) ou chamando uma operação de AWS API AWS CLI ou. Para saber mais, consulte Métodos para assumir um perfil no Manual do usuário do IAM.
Os perfis do IAM são úteis para acesso de usuário federado, permissões de usuário do IAM temporárias, acesso entre contas, acesso entre serviços e aplicações em execução no Amazon EC2. Consulte mais informações em Acesso a recursos entre contas no IAM no Guia do usuário do IAM.
nota
Você não pode usar as credenciais do Git ou pares de chaves pública/privada SSH com usuários federados. Além disso, preferências do usuário não estão disponíveis para usuários federados. Para obter informações sobre como configurar conexões usando acesso federado, consulte Etapas de configuração para conexões HTTPS com AWS CodeCommit com git-remote-codecommit.
Controle de acesso
Você pode ter credenciais válidas para autenticar suas solicitações, mas, a menos que tenha permissões, não poderá criar nem acessar CodeCommit recursos. Por exemplo, você deve ter permissões para visualizar repositórios, enviar código por push, criar e gerenciar credenciais do Git e assim por diante.
As seções a seguir descrevem como gerenciar permissões para CodeCommit. Recomendamos que você leia a visão geral primeiro.
Visão geral do gerenciamento de permissões de acesso aos seus CodeCommit recursos
Cada AWS recurso é de propriedade de uma conta da Amazon Web Services. As permissões para criar ou acessar um recurso são regidas por políticas de permissões. Um administrador de conta pode anexar políticas de permissões a identidades do IAM (ou seja, usuários, grupos e funções). Alguns serviços, como AWS Lambda, também oferecem suporte à anexação de políticas de permissões aos recursos.
nota
Um administrador da conta (ou usuário administrador) é um usuário com privilégios de administrador. Para obter mais informações, consulte Práticas recomendadas de segurança no IAM no Guia do usuário do IAM.
Ao conceder permissões, você decide quem recebe as permissões, os recursos relacionados às permissões concedidas e as ações específicas que deseja permitir nesses recursos.
Tópicos
CodeCommit recursos e operações
Em CodeCommit, o recurso principal é um repositório. Cada recurso possui um nome de recurso da Amazon (ARN) exclusivo associado. Em uma política, você usa um Nome de recurso da Amazon (ARN) para identificar o recurso a que a política se aplica. Para obter mais informações sobre ARNs, consulte Nomes de recursos da Amazon (ARN) e namespaces de serviço da AWS no Referência geral da Amazon Web Services. O CodeCommit não oferece suporte a outros tipos de recursos, que são chamados de sub-recursos.
A tabela a seguir descreve como especificar CodeCommit recursos.
| Tipo de recurso | Formato do ARN |
|---|---|
| Repositório |
arn:aws:codecommit::: |
|
Todos os CodeCommit repositórios |
arn:aws:codecommit:* |
|
Todos os CodeCommit repositórios pertencentes à conta especificada no especificado Região da AWS |
arn:aws:codecommit::: * |
nota
A maioria dos AWS serviços trata dois pontos (:) ou uma barra (/) nos ARNs como o mesmo caractere. No entanto, CodeCommit exige uma correspondência exata nos padrões e regras de recursos. Ao criar padrões de eventos, certifique-se de usar os caracteres corretos do ARN para que eles correspondam à sintaxe de ARN no recurso.
Por exemplo, é possível indicar um repositório específico (MyDemoRepo) em sua instrução usando o ARN dele da seguinte maneira:
"Resource": "arn:aws:codecommit:us-west-2:111111111111:MyDemoRepo"
Para especificar todos os repositórios que pertencem a uma conta específica, use o caractere curinga (*) da seguinte maneira:
"Resource": "arn:aws:codecommit:us-west-2:111111111111:*"
Para especificar todos os ou se uma ação de API específica não for compatível com ARNs, use o caractere curinga (*) no elemento Resource, da seguinte maneira:
"Resource": "*"
Você também pode usar o caractere curinga (*) para especificar todos os recursos que correspondem à parte de um nome de repositório. Por exemplo, o ARN a seguir especifica qualquer CodeCommit repositório que comece com o nome MyDemo e que esteja registrado na conta 111111111111 da Amazon Web Services no: us-east-2 Região da AWS
arn:aws:codecommit:us-east-2:111111111111:MyDemo*
Para obter uma lista das operações disponíveis que funcionam com os CodeCommit recursos, consulteCodeCommit referência de permissões.
Informações sobre propriedade de recursos
A conta da Amazon Web Services tem os recursos criados na conta, independentemente de quem os criou. Mais especificamente, o proprietário do recurso é a conta da Amazon Web Services da entidade principal (isto é, a conta raiz, um usuário do IAM ou um perfil do IAM) que autentica a solicitação de criação de recursos. Os seguintes exemplos mostram como isso funciona:
-
Se você criar um usuário do IAM em sua conta da Amazon Web Services e conceder permissões para criar CodeCommit recursos para esse usuário, o usuário poderá criar CodeCommit recursos. No entanto, sua conta da Amazon Web Services, à qual o usuário pertence, possui os CodeCommit recursos.
-
Se você usar as credenciais da conta raiz da sua conta da Amazon Web Services para criar uma regra, sua conta da Amazon Web Services será a proprietária do CodeCommit recurso.
-
Se você criar uma função do IAM em sua conta da Amazon Web Services com permissões para criar CodeCommit recursos, qualquer pessoa que possa assumir a função poderá criar CodeCommit recursos. Sua conta da Amazon Web Services, à qual a função pertence, possui os CodeCommit recursos.
Gerenciar acesso aos recursos da
Para gerenciar o acesso aos AWS recursos, você usa políticas de permissões. Uma política de permissões descreve quem tem acesso a quê. A seção a seguir explica as opções para criar políticas de permissões.
nota
Esta seção discute o uso do IAM no contexto de CodeCommit. Não são fornecidas informações detalhadas sobre o serviço IAM. Para obter mais informações sobre o IAM, consulte O que é o IAM? no Guia 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 do IAM no Manual do usuário do IAM.
Políticas de permissões que são anexadas a uma identidade do IAM são chamadas de políticas baseadas em identidade (políticas do IAM). As políticas de permissões anexadas a um recurso são chamadas de políticas baseadas em recursos. Atualmente, CodeCommit oferece suporte somente a políticas baseadas em identidade (políticas do IAM).
Identity-based políticas (políticas do IAM)
Para gerenciar o acesso aos AWS recursos, você anexa políticas de permissões às identidades do IAM. Em CodeCommit, você usa políticas baseadas em identidade para controlar o acesso aos repositórios. Por exemplo, você pode fazer o seguinte:
-
Anexar uma política de permissões a um usuário ou grupo em sua conta — Para conceder a um usuário permissões para visualizar CodeCommit recursos no CodeCommit console, anexe uma política de permissões baseada em identidade a um usuário ou grupo ao qual o usuário pertence.
-
Anexe uma política de permissões a um perfil (para conceder permissões entre contas): a delegação, como quando você quer conceder acesso entre contas, envolve estabelecer uma confiança entre a conta que possui o recurso (a conta confiante) e a conta que contém os usuários que precisam acessar o recurso (a conta confiável). Uma política de permissões concede ao usuário de um perfil as permissões necessárias para realizar as tarefas pretendidas no recurso. Uma política de confiança especifica quais contas confiáveis podem conceder a seus usuários permissões para assumir a função. Para obter mais informações, consulte Termos e conceitos do IAM.
Para conceder permissões entre contas, anexe uma política de permissões baseada em identidade para um perfil do IAM. Por exemplo, o administrador na Conta A pode criar uma função para conceder permissões entre contas para outra conta da Amazon Web Services (por exemplo, Conta B) ou um AWS serviço da seguinte forma:
-
Um administrador da Conta A cria uma função do IAM e anexa uma política de permissões à função que concede permissões em recursos da Conta A.
-
Um administrador da Conta A anexa uma política de confiança à função identificando a Conta B como a entidade principal, que pode assumir a função.
-
O administrador da Conta B pode então delegar permissões para assumir a função a qualquer usuário na Conta B. Isso permite que os usuários da Conta B criem ou acessem recursos na Conta A. Se você quiser conceder a permissão de um AWS serviço para assumir a função, o principal na política de confiança também pode ser um diretor de AWS serviço. Para obter mais informações, consulte Delegação, em Termos e conceitos do IAM.
Para obter mais informações sobre o uso do IAM para delegar permissões, consulte Gerenciamento de acesso no Guia do usuário do IAM.
-
A política de exemplo a seguir permite que um usuário crie uma ramificação em um repositório chamado MyDemoRepo:
Para restringir as chamadas e os recursos aos quais os usuários da sua conta têm acesso, crie políticas do IAM específicas e, em seguida, anexe essas políticas a usuários do IAM. Para obter mais informações sobre como criar funções do IAM e explorar exemplos de declarações de política do IAM CodeCommit, consulteExemplos de políticas de identidade gerenciadas pelo cliente.
Resource-based políticas
Alguns serviços, como o Amazon S3, também suportam políticas de permissões baseadas em recursos. Por exemplo, você pode anexar uma política baseada em recursos a um bucket do S3 para gerenciar as permissões de acesso a esse bucket. CodeCommit não oferece suporte a políticas baseadas em recursos, mas você pode usar tags para identificar recursos, que podem ser usados nas políticas do IAM. Para obter um exemplo de uma política baseada em tags, consulte Identity-based políticas (políticas do IAM).
Escopo de recursos em CodeCommit
Em CodeCommit, você pode definir políticas e permissões baseadas em identidade para recursos, conforme descrito em. CodeCommit recursos e operações No entanto, você não pode definir o escopo da permissão ListRepositories para um recurso. Em vez disso, você deve definir o escopo para todos os recursos (usando o curinga *). Caso contrário, a ação falhará.
Todas as outras CodeCommit permissões podem ter como escopo os recursos.
Especificação de elementos de política: recursos, ações, efeitos e entidades de segurança
Você pode criar políticas para permitir ou negar aos usuários o acesso aos recursos, ou permitir ou negar que os usuários realizem ações específicas nesses recursos. CodeCommit define um conjunto de operações de API públicas que definem como os usuários trabalham com o serviço, seja por meio do CodeCommit console, dos SDKs ou chamando diretamente essas APIs. AWS CLI Para conceder permissões para essas operações de API, CodeCommit define um conjunto de ações que você pode especificar em uma política.
Algumas operações de API podem exigir permissões para mais de uma ação. Para obter mais informações sobre os recursos e operações da API, consulte CodeCommit recursos e operações e CodeCommit referência de permissões.
Estes são os elementos básicos de uma política:
-
Recurso: para identificar o recurso ao qual a política se aplica, você usa um nome do recurso da Amazon (ARN). Para obter mais informações, consulte CodeCommit recursos e operações.
-
Ação: para identificar operações de recursos que deseja permitir ou negar, use palavras-chave de ação. Por exemplo, dependendo do especificado
Effect, acodecommit:GetBranchpermissão permite ou nega que o usuário realize aGetBranchoperação, que obtém detalhes sobre uma ramificação em um CodeCommit repositório. -
Efeito: você especifica o efeito, permitir ou negar, que ocorre quando o usuário solicita a ação específica. Se você não conceder (permitir) explicitamente acesso a um recurso, o acesso estará implicitamente negado. Você também pode negar explicitamente o acesso a um recurso, para ter a certeza de que um usuário não consiga acessá-lo, mesmo que uma política diferente conceda acesso.
-
Principal — Nas políticas baseadas em identidade (políticas do IAM), o único tipo de política CodeCommit compatível, o usuário ao qual a política está vinculada é o principal implícito.
Para saber mais sobre a sintaxe da política do IAM, consulte a Referência da política do IAM no Guia do usuário do IAM.
Para ver uma tabela mostrando todas as ações da CodeCommit API e os recursos aos quais elas se aplicam, consulteCodeCommit referência de permissões.
Especificar condições em uma política
Ao conceder permissões, você usa a linguagem de políticas de acesso do IAM para especificar as condições em que uma política deve entrar em vigor. Por exemplo, é recomendável aplicar uma política somente após uma data específica. Para obter mais informações sobre como especificar condições em uma linguagem de política, consulte Condição e Gramática de políticas no Guia do usuário do IAM.
Para expressar condições, você usa chaves de condição predefinidas. Não existem chaves de condição específicas do CodeCommit. No entanto, existem chaves AWS de condição abrangentes que você pode usar conforme apropriado. Para obter uma lista completa AWS de chaves abrangentes, consulte Chaves disponíveis para condições no Guia do usuário do IAM.