

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
<a name="auth-and-access-control-permissions-reference"></a>

## AWS CodeArtifact risorse e operazioni
<a name="arn-formats"></a>

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 ARNs associati. Per ulteriori informazioni, consulta [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) nel *Riferimenti generali di Amazon Web Services*.


| Tipo di risorsa | Formato ARN | 
| --- | --- | 
| Dominio |  `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, separale ARNs 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 in. ARNs 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
<a name="permission-ref"></a>

Puoi utilizzare la tabella seguente come riferimento quando configuri il controllo degli accessi e scrivi 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys) 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 (\$1), 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) | Resources | 
| --- | --- | --- | 
| 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\$1domain/my\$1repo/package-format/namespace/my\$1package | 
| 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, [UpdateRepository](https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_UpdateRepository.html)consulta [Modifica la configurazione upstream di un repository](config-repos.md#modify-upstream) 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`  | 

## Gruppo di pacchetti ARNs
<a name="package-group-arns"></a>

**Nota**  
Questa sezione spiega come la codifica dei gruppi di pacchetti ARNs e dei pattern sia informativa. Si consiglia di copiare ARNs dalla console o eseguire il recupero ARNs utilizzando l'`DescribePackageGroup`API invece di codificare modelli e costruire. ARNs

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 ARNs fanno distinzione tra maiuscole e minuscole, quindi `*` devono essere codificati come e non. `%2a` `%2A`