

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 (\*), 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`<br />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:<br />`codeartifact:CopyPackageVersions`<br />Obbligatorio nel repository di destinazione.<br />`codeartifact:ReadFromRepository`<br />Obbligatorio nel repository di origine. | `arn:aws:codeartifact:{{region-ID}}:{{account-ID}}:repository/{{my_domain}}/{{my_repo}}` | 
| CreateDomain | `codeartifact:CreateDomain`<br />Necessario per creare domini.<br />`kms:DescribeKey` e `kms:CreateGrant`<br />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`<br />Necessario per creare gruppi di pacchetti. | `arn:aws:codeartifact:{{region-ID}}:{{account-ID}}:package-group/{{my_domain}}/{{encoded_package_group_pattern}}` | 
| CreateRepository | `codeartifact:CreateRepository`<br />Necessario per creare repository.<br />`codeartifact:AssociateWithDownstreamRepository`<br />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`<br />Necessario per eliminare i domini. | `arn:aws:codeartifact:{{region-ID}}:{{account-ID}}:domain/{{my_domain}}` | 
| DeleteDomainPermissionsPolicy | `codeartifact:DeleteDomainPermissionsPolicy`<br />Necessario per eliminare la politica delle risorse di un dominio. | `arn:aws:codeartifact:{{region-ID}}:{{account-ID}}:domain/{{my_domain}}` | 
| DeletePackage | `codeartifact:DeletePackage`<br />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`<br />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`<br />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`<br />Necessaria per eliminare un repository . | `arn:aws:codeartifact:{{region-ID}}:{{account-ID}}:repository/{{my_domain}}/{{my_repo}}` | 
| DeleteRepositoryPermissionsPolicy | `codeartifact:DeleteRepositoryPermissionsPolicy`<br />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`<br />Necessario per ottenere informazioni su un dominio. | `arn:aws:codeartifact:{{region-ID}}:{{account-ID}}:domain/{{my_domain}}` | 
| DescribePackage | `codeartifact:DescribePackage`<br />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`<br />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`<br />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`<br />Necessario per ottenere informazioni su un repository. | `arn:aws:codeartifact:{{region-ID}}:{{account-ID}}:repository/{{my_domain}}/{{my_repo}}` | 
| DisassociateExternalConnection | `codeartifact:DisassociateExternalConnection`<br />Necessario per rimuovere una connessione esterna da un repository. | `arn:aws:codeartifact:{{region-ID}}:{{account-ID}}:repository/{{my_domain}}/{{my_repo}}` | 
| DisposePackageVersions | `codeartifact:DisposePackageVersions`<br />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`<br />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`<br />`sts:GetServiceBearerToken`<br />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`<br />Necessario per ottenere una politica delle risorse di dominio. | `arn:aws:codeartifact:{{region-ID}}:{{account-ID}}:domain/{{my_domain}}` | 
| GetPackageVersionAsset | `codeartifact:GetPackageVersionAsset`<br />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`<br />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`<br />Necessario per ottenere un endpoint del repository. | `arn:aws:codeartifact:{{region-ID}}:{{account-ID}}:repository/{{my_domain}}/{{my_repo}}` | 
| GetRepositoryPermissionsPolicy | `codeartifact:GetRepositoryPermissionsPolicy`<br />Necessario per ottenere una politica delle risorse del repository. | `arn:aws:codeartifact:{{region-ID}}:{{account-ID}}:repository/{{my_domain}}/{{my_repo}}` | 
| ListAssociatedPackages | `codeartifact:ListAssociatedPackages`<br />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`<br />Obbligatorio per restituire un elenco impaginato di domini in un account AWS. | `*` | 
| ListPackageGroups | `codeartifact:ListPackageGroups`<br />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`<br />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`<br />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`<br />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`<br />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`<br />Necessario per restituire un elenco impaginato di repository in un account AWS. | `*` | 
| ListRepositoriesInDomain | `codeartifact:ListRepositoriesInDomain`<br />Obbligatorio per restituire un elenco impaginato di repository in un dominio. | `arn:aws:codeartifact:{{region-ID}}:{{account-ID}}:domain/{{my_domain}}` | 
| ListSubPackageGroups | `codeartifact:ListSubPackageGroups`<br />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`<br />Obbligatoria per elencare i tag per una risorsa specificata. | `arn:aws:codeartifact:{{region-ID}}:{{account-ID}}:domain/{{my_domain}}`<br />`arn:aws:codeartifact:{{region-ID}}:{{account-ID}}:repository/{{my_domain}}/{{my_repo}}` | 
| PublishPackageVersion | `codeartifact:PublishPackageVersion`<br />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`<br />Necessario per aggiungere una politica delle risorse a un dominio. | `arn:aws:codeartifact:{{region-ID}}:{{account-ID}}:domain/{{my_domain}}` | 
| PutPackageMetadata | `codeartifact:PutPackageMetadata`<br />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`<br />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`<br />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`<br />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`<br />Necessario per etichettare una risorsa. | `arn:aws:codeartifact:{{region-ID}}:{{account-ID}}:domain/{{my_domain}}`<br />`arn:aws:codeartifact:{{region-ID}}:{{account-ID}}:repository/{{my_domain}}/{{my_repo}}` | 
| UntagResource | `codeartifact:UntagResource`<br />Necessario per rimuovere un tag da una risorsa. | `arn:aws:codeartifact:{{region-ID}}:{{account-ID}}:domain/{{my_domain}}`<br />`arn:aws:codeartifact:{{region-ID}}:{{account-ID}}:repository/{{my_domain}}/{{my_repo}}` | 
| UpdatePackageGroup | `codeartifact:UpdatePackageGroup`<br />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`<br />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`<br />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`<br />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*.<br />`codeartifact:AssociateWithDownstreamRepository`<br />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`