AWS CodeArtifact riferimento alle autorizzazioni - CodeArtifact

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

AWS CodeArtifact riferimento alle autorizzazioni

AWS CodeArtifact risorse e operazioni

Nel AWS CodeArtifact, la risorsa principale è un dominio. In una policy, devi utilizzare un Amazon Resource Name (ARN) per identificare la risorsa a cui si applica la policy. I repository sono anche risorse a cui sono associati degli ARN. Per ulteriori informazioni, consulta Amazon Resource Names (ARN) nella Riferimenti generali di Amazon Web Services.

Tipo di risorsa Formato ARN
Domain

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

Repository

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

Gruppo di pacchetti

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

Package con un namespace

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

Package senza namespace

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

Tutte le risorse CodeArtifact

arn:aws:codeartifact:*

Tutte CodeArtifact le risorse di proprietà dell'account specificato nella regione AWS specificata

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

L'ARN della risorsa specificato dipende dall'azione o dalle azioni a cui si desidera controllare l'accesso.

Puoi indicare un dominio specifico (myDomain) nella tua dichiarazione utilizzando il relativo ARN come segue.

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

Puoi indicare un repository specifico (myRepo) nella tua dichiarazione utilizzando il relativo ARN come segue.

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

Per specificare più risorse in una singola istruzione, separa i relativi ARN con virgole. La seguente dichiarazione si applica a tutti i pacchetti e i repository in un dominio specifico.

"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

Molti AWS servizi considerano i due punti (:) o una barra (/) come lo stesso carattere negli ARN. Tuttavia, CodeArtifact utilizza una corrispondenza esatta nei modelli e nelle regole delle risorse. Assicurati di utilizzare i caratteri ARN corretti durante la creazione di modelli di eventi, facendo in modo che corrispondano alla sintassi ARN nella risorsa.

AWS CodeArtifact Operazioni e autorizzazioni dell'API

È possibile utilizzare la tabella seguente come riferimento quando si configurano politiche di controllo degli accessi e si scrivono politiche di autorizzazione da allegare a un'identità IAM (politiche basate sull'identità).

Puoi utilizzare le chiavi di condizione AWS-wide nelle tue AWS CodeArtifact politiche per esprimere condizioni. Per un elenco, consulta IAM JSON Policy Elements Reference nella IAM User Guide.

Puoi specificare le operazioni nel campo Action della policy. Per specificare un'operazione, utilizza il prefisso codeartifact: seguito dal nome dell'operazione API (ad esempio, codeartifact:CreateDomain and codeartifact:AssociateExternalConnection). Per specificare più operazioni in una sola istruzione, separa ciascuna di esse con una virgola (ad esempio, "Action": [ "codeartifact:CreateDomain", "codeartifact:AssociateExternalConnection" ]).

Utilizzo di caratteri jolly

Puoi specificare un ARN, con o senza un carattere jolly (*), come valore della risorsa nel campo Resource della policy. È possibile utilizzare un carattere jolly per specificare più operazioni o risorse. Ad esempio, codeartifact:* specifica tutte le CodeArtifact azioni e codeartifact:Describe* specifica tutte le CodeArtifact azioni che iniziano con la parola. Describe

CodeArtifact Operazioni API e autorizzazioni richieste per le azioni
AWS CodeArtifact Operazioni API Autorizzazioni necessarie (operazioni API) Risorse
AssociateExternalConnection

codeartifact:AssociateExternalConnection

Necessario per aggiungere una connessione esterna a un repository.

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

CopyPackageVersions

Per copiare le versioni dei pacchetti da un repository di origine a un repository di destinazione:

codeartifact:CopyPackageVersions

Obbligatorio nel repository di destinazione.

codeartifact:ReadFromRepository

Obbligatorio nel repository di origine.

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

CreateDomain

codeartifact:CreateDomain

Necessario per creare domini.

kms:DescribeKey e kms:CreateGrant

Obbligatorio sulla chiave KMS fornita quando si specifica un valore non predefinito. encryptionKey

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

CreatePackageGroup

codeartifact:CreatePackageGroup

Necessario per creare gruppi di pacchetti.

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

CreateRepository

codeartifact:CreateRepository

Necessario per creare repository.

codeartifact:AssociateWithDownstreamRepository

Richiesto su un repository in modo che possa essere aggiunto come repository upstream ai repository downstream.

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

DeleteDomain

codeartifact:DeleteDomain

Necessario per eliminare i domini.

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

DeleteDomainPermissionsPolicy

codeartifact:DeleteDomainPermissionsPolicy

Necessario per eliminare la politica delle risorse di un dominio.

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

DeletePackage

codeartifact:DeletePackage

Necessario per eliminare un pacchetto.

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

DeletePackageGroup

codeartifact:DeletePackageGroup

Necessario per eliminare un gruppo di pacchetti.

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

DeletePackageVersions

codeartifact:DeletePackageVersions

Necessario per eliminare le versioni di un pacchetto.

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

DeleteRepository

codeartifact:DeleteRepository

Necessaria per eliminare un repository .

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

DeleteRepositoryPermissionsPolicy

codeartifact:DeleteRepositoryPermissionsPolicy

Necessario per eliminare la politica delle risorse di un repository.

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

DescribeDomain

codeartifact:DescribeDomain

Necessario per ottenere informazioni su un dominio.

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

DescribePackage

codeartifact:DescribePackage

Necessario per ottenere informazioni su un pacchetto.

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

DescribePackageGroup

codeartifact:DescribePackageGroup

Necessario per ottenere informazioni su un gruppo di pacchetti.

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

DescribePackageVersion

codeartifact:DescribePackageVersion

Necessario per ottenere informazioni sulla versione di un pacchetto.

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

DescribeRepository

codeartifact:DescribeRepository

Necessario per ottenere informazioni su un repository.

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

DisassociateExternalConnection

codeartifact:DisassociateExternalConnection

Necessario per rimuovere una connessione esterna da un repository.

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

DisposePackageVersions

codeartifact:DisposePackageVersions

Necessario per eliminare le versioni di un pacchetto.

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

GetAssociatedPackageGroup

codeartifact:GetAssociatedPackageGroup

Necessario per ottenere il gruppo di pacchetti associato a un pacchetto.

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

GetAuthorizationToken

codeartifact:GetAuthorizationToken

sts:GetServiceBearerToken

Necessario per ottenere un token di autorizzazione temporaneo per l'accesso ai repository.

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

GetDomainPermissionsPolicy

codeartifact:GetDomainPermissionsPolicy

Necessario per ottenere una politica delle risorse di dominio.

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

GetPackageVersionAsset

codeartifact:GetPackageVersionAsset

Necessario per ottenere risorse in una versione del pacchetto.

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

codeartifact:GetPackageVersionReadme

Necessario per ottenere il file readme di una versione del pacchetto.

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

GetRepositoryEndpoint

codeartifact:GetRepositoryEndpoint

Necessario per ottenere un endpoint del repository.

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

GetRepositoryPermissionsPolicy

codeartifact:GetRepositoryPermissionsPolicy

Necessario per ottenere una politica delle risorse del repository.

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

ListAssociatedPackages

codeartifact:ListAssociatedPackages

Necessario per restituire un elenco di pacchetti associati a un gruppo di pacchetti.

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

ListDomains

codeartifact:ListDomains

Obbligatorio per restituire un elenco impaginato di domini in un account AWS.

*

ListPackageGroups

codeartifact:ListPackageGroups

Obbligatorio per restituire un elenco impaginato di gruppi di pacchetti in un dominio.

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

ListPackages

codeartifact:ListPackages

Obbligatorio per restituire un elenco impaginato di pacchetti in un repository.

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

ListPackageVersionAssets

codeartifact:ListPackageVersionAssets

Obbligatorio per restituire un elenco impaginato di risorse in una versione del pacchetto.

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

ListPackageVersionDependencies

codeartifact:ListPackageVersionDependencies

Obbligatorio per restituire un elenco impaginato delle dipendenze di una versione del pacchetto.

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

ListPackageVersions

codeartifact:ListPackageVersions

Obbligatorio per restituire un elenco impaginato delle versioni dei pacchetti in un repository.

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

ListRepositories

codeartifact:ListRepositories

Necessario per restituire un elenco impaginato di repository in un account AWS.

*

ListRepositoriesInDomain

codeartifact:ListRepositoriesInDomain

Obbligatorio per restituire un elenco impaginato di repository in un dominio.

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

ListSubPackageGroups

codeartifact:ListSubPackageGroups

Obbligatorio per restituire un elenco di gruppi di pacchetti secondari diretti di un gruppo di pacchetti.

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

ListTagsForResource

codeartifact:ListTagsForResource

Obbligatoria per elencare i tag per una risorsa specificata.

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

Necessario per pubblicare una versione del pacchetto in un repository.

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

PutDomainPermissionsPolicy

codeartifact:PutDomainPermissionsPolicy

Necessario per aggiungere una politica delle risorse a un dominio.

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

PutPackageMetadata

codeartifact:PutPackageMetadata

Necessario per pubblicare le versioni dei pacchetti Maven in un repository o per aggiungere o rimuovere i tag npm dalle versioni del pacchetto npm.

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

PutPackageOriginConfiguration

codeartifact:PutPackageOriginConfiguration

Necessario per aggiornare la configurazione di origine di un pacchetto.

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

PutRepositoryPermissionsPolicy

codeartifact:PutRepositoryPermissionsPolicy

Necessario per aggiungere una politica delle risorse a un repository.

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

ReadFromRepository

codeartifact:ReadFromRepository

Necessario per leggere da un repository utilizzando un client di gestione dei pacchetti.

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

TagResource

codeartifact:TagResource

Necessario per etichettare una risorsa.

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

Necessario per rimuovere un tag da una risorsa.

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

Necessario per aggiornare un gruppo di pacchetti.

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

UpdatePackageGroupOriginConfiguration

codeartifact:UpdatePackageGroupOriginConfiguration

Necessario per aggiornare la configurazione di origine di un gruppo di pacchetti.

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

UpdatePackageVersionsStatus

codeartifact:UpdatePackageVersionsStatus

Necessario per modificare lo stato di una versione del pacchetto.

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

UpdateRepository

codeartifact:UpdateRepository

Necessario per aggiornare la descrizione di un repository o le connessioni upstream. Per ulteriori informazioni, UpdateRepositoryconsulta Modifica la configurazione upstream di un repository o consulta la Guida CodeArtifact API.

codeartifact:AssociateWithDownstreamRepository

Richiesto su un repository in modo che possa essere aggiunto come repository upstream ai repository downstream.

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

ARN del gruppo di pacchetti

Nota

Questa sezione spiega come gli ARN dei gruppi di pacchetti e la codifica dei pattern sono informativi. Si consiglia di copiare gli ARN dalla console o di recuperare gli ARN utilizzando l'DescribePackageGroupAPI invece di codificare modelli e costruire ARN.

Le policy IAM utilizzano il carattere jolly,*, per abbinare più azioni IAM o più risorse. Anche i modelli di gruppi di pacchetti utilizzano il * carattere. Per scrivere più facilmente policy IAM che corrispondano a un singolo gruppo di pacchetti, il formato ARN del gruppo di pacchetti utilizza una versione codificata del pattern del gruppo di pacchetti.

In particolare, il formato ARN del gruppo di pacchetti è il seguente:

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

Dove lo schema codificato del gruppo di pacchetti è lo schema del gruppo di pacchetti, con alcuni caratteri speciali sostituiti con i relativi valori codificati in percentuale. L'elenco seguente contiene i caratteri e i corrispondenti valori codificati in percentuale:

  • * : %2a

  • $ : %24

  • % : %25

Ad esempio, l'ARN per un gruppo di pacchetti root di un dominio, (/*), sarebbe:

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

Nota che i caratteri non inclusi nell'elenco non possono essere codificati e gli ARN fanno distinzione tra maiuscole e minuscole, quindi * devono essere codificati come e non. %2a %2A