Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Políticas de domínio

Modo de foco
Políticas de domínio - CodeArtifact

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á.

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á.

CodeArtifact suporta o uso de permissões baseadas em recursos para controlar o acesso. Com as permissões baseadas em recursos, você pode especificar quem tem acesso ao recurso e quais ações essas pessoas podem executar nele. Por padrão, somente a conta da AWS proprietária do domínio pode criar e acessar repositórios no domínio. Você pode aplicar um documento de política a um domínio para permitir que outras entidades principais do IAM o acessem.

Para obter mais informações, consulte Políticas e permissões e Políticas baseadas em identidade e políticas baseadas em recursos.

Permitir acesso entre contas a um domínio

Uma política de recursos é um arquivo de texto no formato JSON. O arquivo deve especificar uma entidade principal (ator), uma ou mais ações e um efeito (Allow ou Deny). Para criar um repositório em um domínio pertencente a outra conta, a entidade principal deve receber a permissão CreateRepository no recurso do domínio.

Por exemplo, a política de recursos a seguir concede à conta 123456789012 permissão para criar um repositório no domínio.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "codeartifact:CreateRepository" ], "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:root" }, "Resource": "*" } ] }

Para permitir a criação de repositórios com tags, você deve incluir a permissão codeartifact:TagResource. Isso também dará à conta acesso para adicionar tags ao domínio e a todos os repositórios nele contidos.

A política de domínio é avaliada para todas as operações contra o domínio e todos os recursos dentro do domínio. Isso significa que a política de domínio pode ser usada para aplicar permissões a repositórios e pacotes no domínio. Quando o Resource elemento é definido como*, a declaração se aplica a todos os recursos no domínio. Por exemplo, se a política acima também fosse incluída codeartifact:DescribeRepository na lista de ações permitidas do IAM, a política permitiria chamar DescribeRepository todos os repositórios no domínio. Uma política de domínio pode ser usada para aplicar permissões a recursos específicos no domínio usando um recurso específico ARNs no Resource elemento.

nota

As políticas do domínio e do repositório podem ser usadas para configurar permissões. Quando ambas as políticas estiverem presentes, as duas políticas serão avaliadas e uma ação será permitida se permitida por qualquer uma das políticas. Para obter mais informações, consulte Interação entre políticas de repositório e domínio.

Para acessar pacotes em um domínio pertencente a outra conta, uma entidade principal deve receber a permissão GetAuthorizationToken no recurso do domínio. Isso permite que o proprietário do domínio exerça controle sobre quais contas podem ler o conteúdo dos repositórios no domínio.

Por exemplo, a política de recursos a seguir concede à conta 123456789012 permissão para recuperar um token auth para qualquer repositório no domínio.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "codeartifact:GetAuthorizationToken" ], "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:root" }, "Resource": "*" } ] }
nota

Uma entidade principal que deseja buscar pacotes de um endpoint do repositório deve receber a permissão ReadFromRepository no recurso do repositório além da permissão GetAuthorizationToken no domínio. Da mesma forma, uma entidade principal que deseja publicar pacotes em um endpoint de repositório deve receber a permissão PublishPackageVersion além de GetAuthorizationToken.

Para obter mais informações sobre as permissões ReadFromRepository e PublishPackageVersion, consulte Políticas de repositório.

Exemplo de políticas de domínio

Quando várias contas estão usando um domínio, elas devem receber um conjunto básico de permissões para permitir o uso total do domínio. A política de recursos a seguir lista um conjunto de permissões que autorizam o uso total do domínio.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "BasicDomainPolicy", "Action": [ "codeartifact:GetDomainPermissionsPolicy", "codeartifact:ListRepositoriesInDomain", "codeartifact:GetAuthorizationToken", "codeartifact:DescribeDomain", "codeartifact:CreateRepository" ], "Effect": "Allow", "Resource": "*", "Principal": { "AWS": "arn:aws:iam::123456789012:root" } } ] }
nota

Você não precisa criar uma política de domínio se um domínio e todos os respectivos repositórios forem de propriedade de uma única conta e precisarem ser usados somente a partir dessa conta.

Exemplo de política de domínio com AWS Organizations

Você pode usar a chave de aws:PrincipalOrgID condição para conceder acesso a um CodeArtifact domínio de todas as contas da sua organização, da seguinte maneira.

{ "Version": "2012-10-17", "Statement": { "Sid": "DomainPolicyForOrganization", "Effect": "Allow", "Principal": "*", "Action": [ "codeartifact:GetDomainPermissionsPolicy", "codeartifact:ListRepositoriesInDomain", "codeartifact:GetAuthorizationToken", "codeartifact:DescribeDomain", "codeartifact:CreateRepository" ], "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID":["o-xxxxxxxxxxx"]} } } }

Para obter mais informações sobre como usar a chave de condição aws:PrincipalOrgID, consulte Chaves de contexto de condição global da AWS no Guia do usuário do IAM.

Definir uma política de domínio

Você pode usar o comando put-domain-permissions-policy para anexar uma política a um domínio.

aws codeartifact put-domain-permissions-policy --domain my_domain --domain-owner 111122223333 \ --policy-document file://</PATH/TO/policy.json>

Quando você chama put-domains-permissions-policy, a política de recursos no domínio é ignorada ao avaliar as permissões. Isso garante que o proprietário de um domínio não possa se bloquear do domínio, o que impediria que ele pudesse atualizar a política de recursos.

nota

Você não pode conceder permissões a outra AWS conta para atualizar a política de recursos em um domínio usando uma política de recursos, pois a política de recursos é ignorada durante a chamada put-domain-permissions-policy.

Exemplo de resultado:

{ "policy": { "resourceArn": "arn:aws:codeartifact:region-id:111122223333:domain/my_domain", "document": "{ ...policy document content...}", "revision": "MQlyyTQRASRU3HB58gBtSDHXG7Q3hvxxxxxxx=" } }

A saída do comando contém o nome do recurso da Amazon (ARN) do recurso do domínio, o conteúdo completo do documento de política e um identificador de revisão. O identificador de revisão pode ser passado para put-domain-permissions-policy usando a opção --policy-revision. Isso garante que uma revisão conhecida do documento seja sobrescrita e não uma versão mais recente definida por outro redator.

Ler uma política de domínio

Use o comando get-domain-permissions-policy para ler uma versão existente de um documento de política. Para formatar a saída para facilitar a leitura, use --output e --query policy.document junto com o módulo json.tool Python da seguinte maneira.

aws codeartifact get-domain-permissions-policy --domain my_domain --domain-owner 111122223333 \ --output text --query policy.document | python -m json.tool

Exemplo de resultado:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "BasicDomainPolicy", "Action": [ "codeartifact:GetDomainPermissionsPolicy", "codeartifact:ListRepositoriesInDomain", "codeartifact:GetAuthorizationToken", "codeartifact:CreateRepository" ], "Effect": "Allow", "Resource": "*", "Principal": { "AWS": "arn:aws:iam::111122223333:root" } } ] }

Excluir uma política de domínio

Use o comando delete-domain-permissions-policy para excluir uma política de um domínio.

aws codeartifact delete-domain-permissions-policy --domain my_domain --domain-owner 111122223333

O formato da saída é o mesmo que o dos comandos get-domain-permissions-policy e delete-domain-permissions-policy.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.