AWS CodeArtifact referência de permissões - 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á.

AWS CodeArtifact referência de permissões

AWS CodeArtifact recursos e operações

Em AWS CodeArtifact, o recurso principal é um domínio. Em uma política, você usa um Amazon Resource Name (ARN) para identificar o recurso a que a política se aplica. Os repositórios também são recursos e têm ARNs a eles associados. Para obter mais informações, consulte Nomes de recurso da Amazon (ARNs) no Referência geral da Amazon Web Services.

Tipo de recurso Formato ARN
Domínio

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

Repositório

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

Package group

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

Pacote com namespace

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

Pacote sem namespace

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format//my_package

Todos os CodeArtifact recursos

arn:aws:codeartifact:*

Todos os CodeArtifact recursos pertencentes à conta especificada na região especificada da AWS

arn:aws:codeartifact:region-ID:account-ID:*

O ARN de recurso que você especifica depende a qual ação ou ações deseja controlar o acesso.

É possível indicar um domínio específico (myDomain) em sua instrução usando o respectivo ARN, da seguinte maneira.

"Resource": "arn:aws:codeartifact:us-east-2:123456789012:domain/myDomain"

É possível indicar um repositório específico (myRepo) em sua instrução usando o ARN dele da seguinte maneira.

"Resource": "arn:aws:codeartifact:us-east-2:123456789012:domain/myDomain/myRepo"

Para especificar vários recursos em uma única instrução, separe seus ARNs com vírgulas. A instrução a seguir se aplica a todos os pacotes e repositórios em um domínio específico.

"Resource": [ "arn:aws:codeartifact:us-east-2:123456789012:domain/myDomain", "arn:aws:codeartifact:us-east-2:123456789012:repository/myDomain/*", "arn:aws:codeartifact:us-east-2:123456789012:package/myDomain/*" ]
nota

Muitos AWS serviços tratam dois pontos (:) ou uma barra invertida (/) como o mesmo caractere em ARNs. No entanto, CodeArtifact usa uma correspondência exata nos padrões e regras dos recursos. Certifique-se de usar os caracteres corretos ao criar padrões de evento, de modo que eles correspondam à sintaxe ARN no recurso.

AWS CodeArtifact Operações e permissões de API

Use a tabela a seguir como uma referência ao configurar o controle de acesso e escrever políticas de permissões que você pode anexar a uma identidade do IAM (políticas baseadas em identidade).

Você pode usar chaves AWS de condição abrangentes em suas AWS CodeArtifact políticas para expressar condições. Para obter uma lista, consulte Referência de elementos de política JSON do IAM no Guia do usuário do IAM.

Você especifica as ações no campo Action das políticas. Para especificar uma ação, use o prefixo codeartifact: seguido pelo nome da operação API (por exemplo, codeartifact:CreateDomain e codeartifact:AssociateExternalConnection). Para especificar várias ações em uma única declaração, separe-as com vírgulas (por exemplo, "Action": [ "codeartifact:CreateDomain", "codeartifact:AssociateExternalConnection" ]).

Usando caracteres curinga

Você especifica um ARN, com ou sem um caractere curinga (*), como o valor do recurso no campo Resource das políticas. Você pode usar um curinga para especificar várias ações ou recursos. Por exemplo, codeartifact:* especifica todas as CodeArtifact ações e codeartifact:Describe* especifica todas as CodeArtifact ações que começam com a palavra. Describe

CodeArtifact Operações de API e permissões necessárias para ações
AWS CodeArtifact Operações de API Permissões obrigatórias (ações de API) Recursos
AssociateExternalConnection

codeartifact:AssociateExternalConnection

Necessário para adicionar uma conexão externa a um repositório.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

CopyPackageVersions

Para copiar versões de pacotes de um repositório de origem para um repositório de destino:

codeartifact:CopyPackageVersions

Obrigatório no repositório de destino.

codeartifact:ReadFromRepository

Obrigatório no repositório de origem.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

CreateDomain

codeartifact:CreateDomain

Obrigatório para criar domínios.

kms:DescribeKey e kms:CreateGrant

Obrigatório na chave KMS fornecida ao especificar uma encryptionKey não padrão.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

CreatePackageGroup

codeartifact:CreatePackageGroup

Necessário para criar grupos de pacotes.

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

CreateRepository

codeartifact:CreateRepository

Obrigatório para criar repositórios.

codeartifact:AssociateWithDownstreamRepository

Obrigatório em um repositório para que possa ser adicionado como um repositório upstream aos repositórios downstream.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

DeleteDomain

codeartifact:DeleteDomain

Obrigatório para excluir domínios.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

DeleteDomainPermissionsPolicy

codeartifact:DeleteDomainPermissionsPolicy

Obrigatório para excluir uma política de recursos do domínio.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

DeletePackage

codeartifact:DeletePackage

Obrigatório para excluir um pacote.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

DeletePackageGroup

codeartifact:DeletePackageGroup

Necessário para excluir um grupo de pacotes.

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

DeletePackageVersions

codeartifact:DeletePackageVersions

Obrigatório para excluir versões de um pacote.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

DeleteRepository

codeartifact:DeleteRepository

Obrigatório para excluir um repositório.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

DeleteRepositoryPermissionsPolicy

codeartifact:DeleteRepositoryPermissionsPolicy

Obrigatório para excluir uma política de recursos do repositório.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

DescribeDomain

codeartifact:DescribeDomain

Obrigatório para obter informações sobre um domínio.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

DescribePackage

codeartifact:DescribePackage

Obrigatório para obter informações sobre um pacote.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

DescribePackageGroup

codeartifact:DescribePackageGroup

Necessário para obter informações sobre um grupo de pacotes.

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

DescribePackageVersion

codeartifact:DescribePackageVersion

Obrigatório para obter informações sobre a versão de um pacote.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

DescribeRepository

codeartifact:DescribeRepository

Obrigatório para obter informações sobre um repositório.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

DisassociateExternalConnection

codeartifact:DisassociateExternalConnection

Obrigatório para remover uma conexão externa de um repositório.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

DisposePackageVersions

codeartifact:DisposePackageVersions

Obrigatório para descartar versões de um pacote.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

GetAssociatedPackageGroup

codeartifact:GetAssociatedPackageGroup

Necessário para obter o grupo de pacotes associado a um pacote.

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

GetAuthorizationToken

codeartifact:GetAuthorizationToken

sts:GetServiceBearerToken

Obrigatório para obter um token de autorização temporário para acessar repositórios.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

GetDomainPermissionsPolicy

codeartifact:GetDomainPermissionsPolicy

Obrigatório para obter uma política de recursos de domínio.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

GetPackageVersionAsset

codeartifact:GetPackageVersionAsset

Obrigatório para obter ativos em uma versão de pacote.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package
GetPackageVersionReadme

codeartifact:GetPackageVersionReadme

Obrigatório para obter o leiame de uma versão do pacote.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

GetRepositoryEndpoint

codeartifact:GetRepositoryEndpoint

Obrigatório para obter um endpoint do repositório.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

GetRepositoryPermissionsPolicy

codeartifact:GetRepositoryPermissionsPolicy

Obrigatório para obter uma política de recursos do repositório.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

ListAssociatedPackages

codeartifact:ListAssociatedPackages

Obrigatório para retornar uma lista de pacotes associados a um grupo de pacotes.

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

ListDomains

codeartifact:ListDomains

Obrigatório para retornar uma lista paginada de domínios em uma conta da AWS.

*

ListPackageGroups

codeartifact:ListPackageGroups

Obrigatório para retornar uma lista paginada de grupos de pacotes em um domínio.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

ListPackages

codeartifact:ListPackages

Obrigatório para retornar uma lista paginada de pacotes em um repositório.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

ListPackageVersionAssets

codeartifact:ListPackageVersionAssets

Obrigatório para retornar uma lista paginada de ativos em uma versão de pacote.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

ListPackageVersionDependencies

codeartifact:ListPackageVersionDependencies

Obrigatório para retornar uma lista paginada das dependências em uma versão de pacote.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

ListPackageVersions

codeartifact:ListPackageVersions

Obrigatório para retornar uma lista paginada de versões de pacotes em um repositório.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

ListRepositories

codeartifact:ListRepositories

Obrigatório para retornar uma lista paginada de repositórios em uma conta da AWS.

*

ListRepositoriesInDomain

codeartifact:ListRepositoriesInDomain

Obrigatório para retornar uma lista paginada de repositórios em um domínio.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

ListSubPackageGroups

codeartifact:ListSubPackageGroups

Obrigatório para devolver uma lista de grupos diretos de pacotes secundários de um grupo de pacotes.

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

ListTagsForResource

codeartifact:ListTagsForResource

Obrigatório para listar tags de um recurso específico.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

PublishPackageVersion

codeartifact:PublishPackageVersion

Obrigatório para publicar uma versão do pacote em um repositório.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

PutDomainPermissionsPolicy

codeartifact:PutDomainPermissionsPolicy

Obrigatório para adicionar uma política de recursos a um domínio.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

PutPackageMetadata

codeartifact:PutPackageMetadata

Obrigatório para publicar versões do pacote Maven em um repositório ou para adicionar ou remover tags npm das versões do pacote npm.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

PutPackageOriginConfiguration

codeartifact:PutPackageOriginConfiguration

Obrigatório para atualizar a configuração de origem de um pacote.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

PutRepositoryPermissionsPolicy

codeartifact:PutRepositoryPermissionsPolicy

Obrigatório para adicionar uma política de recursos a um repositório.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

ReadFromRepository

codeartifact:ReadFromRepository

Obrigatório para ler de um repositório usando um cliente de gerenciador de pacotes.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

TagResource

codeartifact:TagResource

Obrigatório para marcar um recurso.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

UntagResource

codeartifact:UntagResource

Obrigatório para remover uma tag de um recurso.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

UpdatePackageGroup

codeartifact:UpdatePackageGroup

Necessário para atualizar um grupo de pacotes.

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

UpdatePackageGroupOriginConfiguration

codeartifact:UpdatePackageGroupOriginConfiguration

Necessário para atualizar a configuração de origem de um grupo de pacotes.

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

UpdatePackageVersionsStatus

codeartifact:UpdatePackageVersionsStatus

Obrigatório para alterar o status de uma versão do pacote.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

UpdateRepository

codeartifact:UpdateRepository

Obrigatório para atualizar a descrição ou as conexões upstream de um repositório. Consulte Modificar a configuração upstream de um repositório ou UpdateRepositoryno Guia da CodeArtifact API para obter mais informações.

codeartifact:AssociateWithDownstreamRepository

Obrigatório em um repositório para que possa ser adicionado como um repositório upstream aos repositórios downstream.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

Grupo de pacotes ARnS

nota

Esta seção sobre como os ARNs do grupo de pacotes e a codificação de padrões é informativa. É recomendável copiar ARNs do console ou buscar ARNs usando a DescribePackageGroup API em vez de codificar padrões e construir ARNs.

As políticas do IAM usam o caractere curinga,*, para combinar várias ações do IAM ou vários recursos. Os padrões de grupos de pacotes também usam o * caractere. Para criar com mais facilidade políticas do IAM que correspondam a um único grupo de pacotes, o formato ARN do grupo de pacotes usa uma versão codificada do padrão de grupo de pacotes.

Especificamente, o formato ARN do grupo de pacotes é o seguinte:

arn:aws:codeartifact:region:account-ID:package-group/my_domain/encoded_package_group_pattern

Onde o padrão de grupo de pacotes codificado é o padrão de grupo de pacotes, com certos caracteres especiais substituídos por seus valores codificados em porcentagem. A lista a seguir contém os caracteres e seus valores correspondentes codificados em porcentagem:

  • * : %2a

  • $ : %24

  • % : %25

Por exemplo, o ARN de um grupo de pacotes raiz de um domínio, (/*), seria:

arn:aws:codeartifact:us-east-1:111122223333:package-group/my_domain/%2a

Observe que os caracteres não incluídos na lista não podem ser codificados e os ARNs diferenciam maiúsculas de minúsculas, portanto, * devem ser codificados como ou não. %2a %2A