

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

# Lavorare con i domini in CodeArtifact
<a name="domains"></a>

CodeArtifact *i domini* semplificano la gestione di più repository all'interno di un'organizzazione. È possibile utilizzare un dominio per applicare autorizzazioni a molti repository di proprietà di account AWS diversi. Una risorsa viene archiviata una sola volta in un dominio, anche se è disponibile in più repository.

Sebbene sia possibile avere più domini, consigliamo un unico dominio di produzione che contenga tutti gli artefatti pubblicati in modo che i team di sviluppo possano trovare e condividere i pacchetti. Puoi utilizzare un secondo dominio di preproduzione per testare le modifiche alla configurazione del dominio di produzione.

Questi argomenti descrivono come utilizzare la CodeArtifact console e come CloudFormation creare o configurare i CodeArtifact domini. AWS CLI

**Topics**
+ [Panoramica del dominio](domain-overview.md)
+ [Creare un dominio](domain-create.md)
+ [Eliminazione di un dominio](delete-domain.md)
+ [Politiche di dominio](domain-policies.md)
+ [Aggiungi un tag a un dominio](tag-domains.md)

# Panoramica del dominio
<a name="domain-overview"></a>

Quando lavori con CodeArtifact, i domini sono utili per quanto segue: 
+  **Storage deduplicato**: una risorsa deve essere archiviata solo una volta in un dominio, anche se è disponibile in 1 o 1.000 repository. Ciò significa che paghi per lo storage una sola volta.
+  **Copia rapida**: quando si trasferiscono pacchetti da un repository upstream a un CodeArtifact repository downstream o si utilizza l'[CopyPackageVersions API](copy-package.md), è necessario aggiornare solo i record di metadati. Non viene copiata alcuna risorsa. In questo modo è possibile configurare rapidamente un nuovo repository per lo staging o il test. Per ulteriori informazioni, consulta [Lavorare con i repository upstream in CodeArtifact](repos-upstream.md).
+  **Condivisione semplificata tra repository e team**: tutte le risorse e i metadati di un dominio sono crittografati con un'unica chiave AWS KMS key (chiave KMS). Non è necessario gestire una chiave per ogni repository o concedere a più account l'accesso a una singola chiave.
+  **Applica la policy su più repository**: l'amministratore di dominio può applicare la policy a tutto il dominio. Ciò include la limitazione degli account che hanno accesso agli archivi del dominio e di chi può configurare le connessioni agli archivi pubblici da utilizzare come fonti di pacchetti. [Per ulteriori informazioni, consulta Politiche di dominio.](domain-policies.md)
+  **Nomi di repository univoci**: il dominio fornisce uno spazio dei nomi per i repository. I nomi dei repository devono essere univoci solo all'interno del dominio. È necessario utilizzare nomi significativi e facili da capire.

I nomi di dominio devono essere univoci all'interno di un account.

Non è possibile creare un repository senza un dominio. Quando si utilizza l'[CreateRepository](create-repo.md)API per creare un repository, è necessario specificare un nome di dominio. Non è possibile spostare un repository da un dominio all'altro.

Un repository può appartenere allo stesso AWS account proprietario del dominio o a un account diverso. Se gli account proprietari sono diversi, all'account proprietario del repository deve essere concessa l'autorizzazione sulla risorsa del `CreateRepository` dominio. È possibile farlo aggiungendo una politica delle risorse al dominio utilizzando il comando. [PutDomainPermissionsPolicy](domain-policies.md#set-domain-policy)

Sebbene un'organizzazione possa avere più domini, si consiglia di disporre di un unico dominio di produzione che contenga tutti gli elementi pubblicati in modo che i team di sviluppo possano trovare e condividere i pacchetti all'interno dell'organizzazione. Un secondo dominio di preproduzione può essere utile per testare le modifiche alla configurazione del dominio di produzione.

## Domini con più account
<a name="domain-overview-cross-account"></a>

I nomi di dominio devono essere unici solo all'interno di un account, il che significa che potrebbero esserci più domini all'interno di una regione con lo stesso nome. Per questo motivo, se desideri accedere a un dominio di proprietà di un account per il quale non sei autenticato, devi fornire l'ID del proprietario del dominio insieme al nome di dominio sia nella CLI che nella console. Vedi i seguenti esempi di CLI.

**Accedi a un dominio di proprietà di un account su cui sei autenticato:**

Quando accedi a un dominio all'interno dell'account con cui sei autenticato, devi solo specificare il nome di dominio. L'esempio seguente elenca i pacchetti presenti nel *my\$1repo* repository del *my\$1domain* dominio di proprietà del tuo account.

```
aws codeartifact list-packages --domain my_domain --repository my_repo
```

**Accedi a un dominio di proprietà di un account al quale non sei autenticato:**

Quando accedi a un dominio di proprietà di un account al quale non sei autenticato, devi specificare il proprietario del dominio e il nome del dominio. L'esempio seguente elenca i pacchetti presenti nel *other-repo* repository del *other-domain* dominio di proprietà di un account al quale non sei autenticato. Notate l'aggiunta del parametro. `--domain-owner`

```
aws codeartifact list-packages --domain other-domain --domain-owner 111122223333 --repository other-repo
```

## Tipi di AWS KMS chiavi supportati in CodeArtifact
<a name="domain-overview-supported-kms-keys"></a>

CodeArtifact supporta solo chiavi [KMS simmetriche](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks). Non puoi utilizzare una chiave [KMS asimmetrica](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html#asymmetric-cmks) per crittografare i tuoi domini. CodeArtifact Per ulteriori informazioni, consulta [Identificazione](https://docs.aws.amazon.com/kms/latest/developerguide/find-symm-asymm.html) delle chiavi KMS simmetriche e asimmetriche. *Per informazioni su come creare una nuova chiave gestita dal cliente, consulta [Creazione di chiavi KMS con crittografia simmetrica](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) nella Guida per gli sviluppatori.AWS Key Management Service *

CodeArtifact supporta AWS KMS External Key Stores (XKS). Sei responsabile della disponibilità, della durabilità e della latenza delle operazioni chiave con le chiavi XKS, che possono influire sulla disponibilità, la durata e la latenza con. CodeArtifact Alcuni esempi di effetti dell'uso delle chiavi XKS con: CodeArtifact
+ Poiché ogni risorsa di un pacchetto richiesto e tutte le sue dipendenze sono soggette alla latenza di decrittografia, la latenza di compilazione può essere aumentata in modo sostanziale con un aumento della latenza delle operazioni XKS.
+ Poiché tutte le risorse sono crittografate CodeArtifact, una perdita dei materiali chiave XKS comporterà la perdita di tutte le risorse associate al dominio utilizzando la chiave XKS.

*Per ulteriori informazioni sulle chiavi XKS, consulta [Archivi di chiavi esterni](https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html) nella Guida per gli AWS Key Management Service sviluppatori.*

# Creare un dominio
<a name="domain-create"></a>

È possibile creare un dominio utilizzando la CodeArtifact console, il AWS Command Line Interface (AWS CLI) o CloudFormation. Quando crei un dominio, questo non contiene alcun repository. Per ulteriori informazioni, consulta [Creazione di un repository](create-repo.md). Per ulteriori informazioni sulla gestione dei CodeArtifact domini con CloudFormation, consulta. [Creare CodeArtifact risorse con AWS CloudFormation](cloudformation-codeartifact.md) 

**Topics**
+ [Creare un dominio (console)](#create-domain-console)
+ [Crea un dominio (AWS CLI)](#create-domain-cli)
+ [Esempio di politica AWS KMS chiave](#create-domain-kms-key-policy-example)

## Creare un dominio (console)
<a name="create-domain-console"></a>

1. Apri la AWS CodeArtifact console su [https://console.aws.amazon.com/codesuite/codeartifact/home](https://console.aws.amazon.com/codesuite/codeartifact/home).

1.  **Nel riquadro di navigazione, scegli **Domini, quindi** scegli Crea dominio.** 

1.  In **Nome**, inserisci un nome per il tuo dominio. 

1.  Espandere **Additional configuration (Configurazione aggiuntiva)**. 

1. Usa una AWS KMS key (chiave KMS) per crittografare tutte le risorse del tuo dominio. Puoi utilizzare una chiave KMS AWS gestita o una chiave KMS gestita da te. Per ulteriori informazioni sui tipi di chiavi KMS supportati in CodeArtifact, consulta. [Tipi di AWS KMS chiavi supportati in CodeArtifact](domain-overview.md#domain-overview-supported-kms-keys)
   + Scegli **AWS managed key** se desideri utilizzare la chiave predefinita Chiave gestita da AWS.
   +  Scegli la **chiave gestita dal cliente** se desideri utilizzare una chiave KMS da te gestita. Per utilizzare una chiave KMS che gestisci, in **ARN della chiave gestita dal cliente**, cerca e scegli la chiave KMS.

    *Per ulteriori informazioni, consulta la sezione [Chiave gestita da AWS](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk)[Customer managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) nella Developer Guide.AWS Key Management Service * 

1.  Scegli **Crea dominio**. 

## Crea un dominio (AWS CLI)
<a name="create-domain-cli"></a>

Per creare un dominio con AWS CLI, usa il `create-domain` comando. È necessario utilizzare una AWS KMS key (chiave KMS) per crittografare tutte le risorse del dominio. Puoi utilizzare una chiave KMS AWS gestita o una chiave KMS gestita da te. Se utilizzi una chiave KMS AWS gestita, non utilizzare il parametro. `--encryption-key`

Per ulteriori informazioni sui tipi di chiavi KMS supportati in CodeArtifact, consulta. [Tipi di AWS KMS chiavi supportati in CodeArtifact](domain-overview.md#domain-overview-supported-kms-keys) Per ulteriori informazioni sulle chiavi KMS, consulta [Chiave gestita da AWS](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk)la sezione relativa alla [chiave gestita dal cliente nella Guida per](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) gli *AWS Key Management Service sviluppatori*.

```
aws codeartifact create-domain --domain my_domain
```

 I dati in formato JSON vengono visualizzati nell'output con i dettagli sul nuovo dominio. 

```
{
    "domain": {
        "name": "my_domain",
        "owner": "111122223333",
        "arn": "arn:aws:codeartifact:us-west-2:111122223333:domain/my_domain",
        "status": "Active",
        "encryptionKey": "arn:aws:kms:us-west-2:111122223333:key/your-kms-key",
        "repositoryCount": 0,
        "assetSizeBytes": 0,
        "createdTime": "2020-10-12T16:51:18.039000-04:00"
    }
}
```

 Se utilizzi una chiave KMS che gestisci, includi il relativo Amazon Resource Name (ARN) nel parametro. `--encryption-key` 

```
aws codeartifact create-domain --domain my_domain --encryption-key arn:aws:kms:us-west-2:111122223333:key/your-kms-key
```

 I dati in formato JSON vengono visualizzati nell'output con i dettagli sul nuovo dominio. 

```
{
    "domain": {
        "name": "my_domain",
        "owner": "111122223333",
        "arn": "arn:aws:codeartifact:us-west-2:111122223333:domain/my_domain",
        "status": "Active",
        "encryptionKey": "arn:aws:kms:us-west-2:111122223333:key/your-kms-key",
        "repositoryCount": 0,
        "assetSizeBytes": 0,
        "createdTime": "2020-10-12T16:51:18.039000-04:00"
    }
}
```

### Creare un dominio con tag
<a name="create-domain-cli-tags"></a>

Per creare un dominio con tag, aggiungi il `--tags` parametro al tuo comando. `create-domain`

```
aws codeartifact create-domain --domain my_domain --tags key=k1,value=v1 key=k2,value=v2
```

## Esempio di politica AWS KMS chiave
<a name="create-domain-kms-key-policy-example"></a>

Quando crei un dominio in CodeArtifact, utilizzi una chiave KMS per crittografare tutte le risorse del dominio. Puoi scegliere una chiave KMS AWS gestita o una chiave gestita dal cliente che gestisci tu stesso. Per ulteriori informazioni sulle chiavi KMS, consulta la Guida per gli [AWS Key Management Service sviluppatori](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html).

Per utilizzare una chiave gestita dal cliente, la chiave KMS deve avere una politica chiave che consenta l'accesso a. CodeArtifact Una politica chiave è una politica delle risorse per una AWS KMS chiave e rappresenta il modo principale per controllare l'accesso alle chiavi KMS. Ogni chiave KMS deve avere esattamente una policy chiave. Le istruzioni nella policy delle chiavi determinano chi dispone dell'autorizzazione per utilizzare la chiave KMS e come questa può essere utilizzata.

L'esempio seguente di dichiarazione politica chiave consente di AWS CodeArtifact creare sovvenzioni e visualizzare i dettagli chiave per conto degli utenti autorizzati. Questa dichiarazione politica limita l'autorizzazione ad CodeArtifact agire per conto dell'ID dell'account specificato utilizzando le chiavi di `kms:CallerAccount` condizione `kms:ViaService` e. Inoltre concede tutte le AWS KMS autorizzazioni all'utente root IAM, in modo che la chiave possa essere gestita dopo la creazione.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "key-consolepolicy-3",
    "Statement": [
        {
            "Sid": "Allow access through AWS CodeArtifact for all principals in the account that are authorized to use CodeArtifact",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": [
                "kms:CreateGrant",
                "kms:DescribeKey"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "kms:CallerAccount": "111122223333",
                    "kms:ViaService": "codeartifact.us-west-2.amazonaws.com"
                }
            }
        },
        {
            "Sid": "Enable IAM User Permissions",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": "kms:*",
            "Resource": "*"
        }
    ]
}
```

------

# Eliminazione di un dominio
<a name="delete-domain"></a>

È possibile eliminare un dominio utilizzando la CodeArtifact console o AWS Command Line Interface (AWS CLI).

**Topics**
+ [Restrizioni all'eliminazione del dominio](#delete-domain-restrictions)
+ [Eliminare un dominio (console)](#delete-domain-console)
+ [Eliminazione di un dominio (AWS CLI)](#delete-domain-cli)

## Restrizioni all'eliminazione del dominio
<a name="delete-domain-restrictions"></a>

Normalmente, non è possibile eliminare un dominio che contiene repository. Prima di eliminare il dominio, è necessario eliminare i relativi repository. Per ulteriori informazioni, consulta [Eliminare un repository](delete-repo.md).

Tuttavia, se CodeArtifact non hai più accesso alla chiave KMS del dominio, puoi eliminare il dominio anche se contiene ancora repository. Questa situazione si verificherà se elimini la chiave KMS del dominio o revochi la [concessione KMS](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) utilizzata per accedere alla chiave. CodeArtifact In questo stato, non è possibile accedere ai repository del dominio o ai pacchetti in essi archiviati. Inoltre, l'elenco e l'eliminazione dei repository non sono possibili quando CodeArtifact non è possibile accedere alla chiave KMS del dominio. Per questo motivo, l'eliminazione del dominio non verifica se il dominio contiene repository quando la chiave KMS del dominio è inaccessibile.

**Nota**  
Quando un dominio che contiene ancora repository viene eliminato, CodeArtifact eliminerà i repository in modo asincrono entro 15 minuti. Dopo l'eliminazione del dominio, i repository saranno ancora visibili nella CodeArtifact console e nell'output del `list-repositories` comando fino alla pulizia automatica del repository.

## Eliminare un dominio (console)
<a name="delete-domain-console"></a>

1. Apri la AWS CodeArtifact console su [https://console.aws.amazon.com/codesuite/codeartifact/home](https://console.aws.amazon.com/codesuite/codeartifact/home).

1.  Nel pannello di navigazione, scegli **Domini**, quindi scegli il dominio che desideri eliminare. 

1.  Scegli **Elimina**. 

## Eliminazione di un dominio (AWS CLI)
<a name="delete-domain-cli"></a>

Usa il **delete-domain** comando per eliminare un dominio. 

```
aws codeartifact delete-domain --domain my_domain --domain-owner 111122223333
```

 I dati in formato JSON vengono visualizzati nell'output con i dettagli sul dominio eliminato.

```
{
    "domain": {
        "name": "my_domain",
        "owner": "111122223333",
        "arn": "arn:aws:codeartifact:us-west-2:111122223333:domain/my_domain",
        "status": "Active",
        "encryptionKey": "arn:aws:kms:us-west-2:111122223333:key/your-kms-key",
        "repositoryCount": 0,
        "assetSizeBytes": 0,
        "createdTime": "2020-10-12T16:51:18.039000-04:00"
    }
}
```

# Politiche di dominio
<a name="domain-policies"></a>

CodeArtifact supporta l'utilizzo di autorizzazioni basate sulle risorse per controllare l'accesso. Le autorizzazioni basate sulle risorse consentono di specificare chi ha accesso a una risorsa e quali azioni può eseguire su di essa. Per impostazione predefinita, solo l'account AWS proprietario del dominio può creare e accedere ai repository nel dominio. Puoi applicare un documento di policy a un dominio per consentire ad altri responsabili IAM di accedervi.

Per ulteriori informazioni, consulta [Politiche e autorizzazioni e Politiche](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) basate sull'[identità e Politiche basate sulle risorse](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html).

**Topics**
+ [Abilita l'accesso tra più account a un dominio](#enabling-cross-acount-access-to-a-domain)
+ [Esempio di policy di dominio](#domain-policy-example)
+ [Esempio di politica di dominio con AWS Organizations](#domain-policy-example-with-aws-organizations)
+ [Imposta una politica di dominio](#set-domain-policy)
+ [Leggi una politica di dominio](#reading-a-domain-policy)
+ [Eliminare una politica di dominio](#deleting-a-domain-policy)

## Abilita l'accesso tra più account a un dominio
<a name="enabling-cross-acount-access-to-a-domain"></a>

Una politica delle risorse è un file di testo in formato JSON. Il file deve specificare un principale (attore), una o più azioni e un effetto (`Allow`o`Deny`). Per creare un repository in un dominio di proprietà di un altro account, al principale deve essere concessa l'`CreateRepository`autorizzazione sulla risorsa del *dominio*.

Ad esempio, la seguente politica in materia di risorse concede all'account l'`123456789012`autorizzazione a creare un repository nel dominio.

------
#### [ JSON ]

****  

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

------

Per consentire la creazione di repository con tag, è necessario includere l'autorizzazione. `codeartifact:TagResource` Ciò consentirà inoltre all'account di aggiungere tag al dominio e a tutti i repository in esso contenuti.

La politica del dominio viene valutata per tutte le operazioni relative al dominio e a tutte le risorse all'interno del dominio. Ciò significa che la politica del dominio può essere utilizzata per applicare le autorizzazioni ai repository e ai pacchetti del dominio. Quando l'`Resource`elemento è impostato su`*`, l'istruzione si applica a tutte le risorse del dominio. Ad esempio, se la policy di cui sopra fosse inclusa anche `codeartifact:DescribeRepository` nell'elenco delle azioni IAM consentite, la policy consentirebbe di richiamare `DescribeRepository` ogni repository del dominio. Una policy di dominio può essere utilizzata per applicare autorizzazioni a risorse specifiche del dominio utilizzando una risorsa specifica ARNs nell'`Resource`elemento.

**Nota**  
È possibile utilizzare sia le politiche di dominio che quelle di repository per configurare le autorizzazioni. Quando sono presenti entrambe le politiche, entrambe verranno valutate e, se consentita da una delle due politiche, sarà consentita un'azione. Per ulteriori informazioni, consulta [Interazione tra le politiche del repository e del dominio](repo-policies.md#interaction-repo-domain-policies).

Per accedere ai pacchetti in un dominio di proprietà di un altro account, a un principale deve essere concessa l'`GetAuthorizationToken`autorizzazione sulla *risorsa del dominio*. Ciò consente al proprietario del dominio di esercitare il controllo sugli account che possono leggere il contenuto degli archivi del dominio.

Ad esempio, la seguente politica in materia di risorse concede all'account l'`123456789012`autorizzazione a recuperare un token di autenticazione per qualsiasi repository del dominio.

------
#### [ JSON ]

****  

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

------

**Nota**  
A un principale che desidera recuperare pacchetti da un endpoint del repository deve essere concessa l'`ReadFromRepository`autorizzazione sulla risorsa del repository oltre all'autorizzazione sul dominio. `GetAuthorizationToken` Allo stesso modo, a un principale che desidera pubblicare pacchetti su un endpoint del repository deve essere concessa l'autorizzazione in aggiunta a. `PublishPackageVersion` `GetAuthorizationToken`   
[Per ulteriori informazioni sulle `PublishPackageVersion` autorizzazioni `ReadFromRepository` e, vedere Repository Policies.](repo-policies.md)

## Esempio di policy di dominio
<a name="domain-policy-example"></a>

Quando più account utilizzano un dominio, è necessario concedere agli account un set di autorizzazioni di base per consentire il pieno utilizzo del dominio. La seguente politica delle risorse elenca una serie di autorizzazioni che consentono il pieno utilizzo del dominio.

------
#### [ JSON ]

****  

```
{
    "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**  
Non è necessario creare una politica di dominio se un dominio e tutti i relativi repository sono di proprietà di un singolo account e devono essere utilizzati solo da quell'account.

## Esempio di politica di dominio con AWS Organizations
<a name="domain-policy-example-with-aws-organizations"></a>

È possibile utilizzare la chiave di `aws:PrincipalOrgID` condizione per concedere l'accesso a un CodeArtifact dominio da tutti gli account dell'organizzazione, come segue.

------
#### [ JSON ]

****  

```
{
    "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"]}
        }
    }
}
```

------

Per ulteriori informazioni sull'utilizzo della chiave `aws:PrincipalOrgID` condition, consulta [AWS Global Condition Context Keys](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) nella *IAM User Guide*.

## Imposta una politica di dominio
<a name="set-domain-policy"></a>

È possibile utilizzare il `put-domain-permissions-policy` comando per allegare una politica a un dominio.

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

Quando si chiama`put-domains-permissions-policy`, la politica delle risorse sul dominio viene ignorata durante la valutazione delle autorizzazioni. Ciò garantisce che il proprietario di un dominio non possa escludersi dal dominio, il che gli impedirebbe di aggiornare la politica delle risorse.

**Nota**  
 Non è possibile concedere le autorizzazioni a un altro AWS account per aggiornare la politica delle risorse su un dominio utilizzando una politica delle risorse, poiché la politica delle risorse viene ignorata durante la chiamata. put-domain-permissions-policy 

Output di esempio:

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

L'output del comando contiene l'Amazon Resource Name (ARN) della risorsa di dominio, il contenuto completo del documento di policy e un identificatore di revisione. L'identificatore di revisione può essere passato a utilizzando l'opzione. `put-domain-permissions-policy` `--policy-revision` Ciò garantisce che una revisione nota del documento venga sovrascritta e non una versione più recente impostata da un altro autore.

## Leggi una politica di dominio
<a name="reading-a-domain-policy"></a>

Per leggere una versione esistente di un documento di policy, usa il `get-domain-permissions-policy` comando. Per formattare l'output in modo da renderlo leggibile, usa `--output` e `--query policy.document` insieme al modulo `json.tool` Python, come segue.

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

Output di esempio:

------
#### [ JSON ]

****  

```
{
    "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"
            }
        }
    ]
}
```

------

## Eliminare una politica di dominio
<a name="deleting-a-domain-policy"></a>

Usa il `delete-domain-permissions-policy` comando per eliminare una politica da un dominio.

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

Il formato dell'output è lo stesso dei `delete-domain-permissions-policy` comandi `get-domain-permissions-policy` and.

# Aggiungi un tag a un dominio in CodeArtifact
<a name="tag-domains"></a>

I tag sono coppie chiave-valore associate a risorse AWS. Puoi applicare tag ai tuoi domini in CodeArtifact. Per informazioni sull'etichettatura CodeArtifact delle risorse, sui casi d'uso, sui vincoli di chiave e valore dei tag e sui tipi di risorse supportati, consulta. [Applicazione di tag alle risorse](tag-resources.md)

È possibile utilizzare la CLI per specificare i tag quando si crea un dominio. Puoi utilizzare la console o la CLI per aggiungere o rimuovere tag e aggiornare i valori dei tag in un dominio. Puoi aggiungere fino a 50 tag a ciascun dominio.

**Topics**
+ [Domini di tag (CLI)](#tag-domains-tag-cli)
+ [Domini di tag (console)](#tag-domains-console)

## Domini di tag (CLI)
<a name="tag-domains-tag-cli"></a>

Puoi utilizzare la CLI per gestire i tag di dominio.

**Topics**
+ [Aggiungere tag a un dominio (CLI)](#add-domains-tag-cli)
+ [Visualizzare i tag per un dominio (CLI)](#list-domains-tag-cli)
+ [Modifica dei tag per un dominio (CLI)](#update-domains-tag-cli)
+ [Rimuovere tag da un dominio (CLI)](#delete-domains-tag-cli)

### Aggiungere tag a un dominio (CLI)
<a name="add-domains-tag-cli"></a>

Puoi usare la console o il AWS CLI per taggare i domini.

Per aggiungere un tag a un dominio quando lo crei, consulta[Creazione di un repository](create-repo.md).

In queste fasi, si assume che sia già installata una versione recente della AWS CLI o che sia aggiornata alla versione corrente. Per ulteriori informazioni, consultare [Installing the AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/installing.html).

Nel terminale o nella riga di comando, esegui il **tag-resource** comando, specificando l'Amazon Resource Name (ARN) del dominio a cui desideri aggiungere i tag e la chiave e il valore del tag che desideri aggiungere.

**Nota**  
Per ottenere l'ARN del dominio, esegui il `describe-domain` comando:  

```
aws codeartifact describe-domain --domain my_domain --query domain.arn
```

Puoi aggiungere più di un tag a un dominio. Ad esempio, per etichettare un dominio denominato *my\$1domain* con due tag, una chiave di tag denominata *key1* con il valore del *value1* tag e una chiave di tag denominata *key2* con il valore del tag di*value2*:

```
aws codeartifact tag-resource --resource-arn arn:aws:codeartifact:us-west-2:123456789012:domain/my_domain --tags key=key1,value=value1 key=key2,value=value2
```

In caso di successo, questo comando non produce alcun risultato.

### Visualizzare i tag per un dominio (CLI)
<a name="list-domains-tag-cli"></a>

Segui questi passaggi per utilizzare AWS CLI per visualizzare i AWS tag per un dominio. Se non sono stati aggiunti tag, l'elenco restituito è vuoto.

Nel terminale o nella riga di comando, esegui il **list-tags-for-resource** comando con l'Amazon Resource Name (ARN) del dominio.

**Nota**  
Per ottenere l'ARN del dominio, esegui il `describe-domain` comando:  

```
aws codeartifact describe-domain --domain my_domain --query domain.arn
```

Ad esempio, per visualizzare un elenco di chiavi e valori di tag per un dominio denominato *my\$1domain* con il valore `arn:aws:codeartifact:us-west-2:123456789012:domain/my_domain` ARN:

```
aws codeartifact list-tags-for-resource --resource-arn arn:aws:codeartifact:us-west-2:123456789012:domain/my_domain
```

Se il comando viene eseguito correttamente, restituisce informazioni simili alle seguenti:

```
{
    "tags": {
        "key1": "value1",
        "key2": "value2"
    }
}
```

### Modifica dei tag per un dominio (CLI)
<a name="update-domains-tag-cli"></a>

Segui questi passaggi per utilizzare AWS CLI per modificare un tag per un dominio. È possibile modificare il valore di una chiave esistente o aggiungere un'altra chiave. Puoi anche rimuovere i tag da un dominio, come illustrato nella sezione successiva.

Nel terminale o nella riga di comando, esegui il **tag-resource** comando, specificando l'ARN del dominio in cui desideri aggiornare un tag e specifica la chiave del tag e il valore del tag:

**Nota**  
Per ottenere l'ARN del dominio, esegui il `describe-domain` comando:  

```
aws codeartifact describe-domain --domain my_domain --query domain.arn
```

```
aws codeartifact tag-resource --resource-arn arn:aws:codeartifact:us-west-2:123456789012:domain/my_domain --tags key=key1,value=newvalue1
```

In caso di successo, questo comando non produce alcun risultato.

### Rimuovere tag da un dominio (CLI)
<a name="delete-domains-tag-cli"></a>

Segui questi passaggi per utilizzare AWS CLI per rimuovere un tag da un dominio.

**Nota**  
Se elimini un dominio, tutte le associazioni di tag vengono rimosse dal dominio eliminato. Non è necessario rimuovere i tag prima di eliminare un dominio.

Nel terminale o nella riga di comando, esegui il **untag-resource** comando, specificando l'ARN del dominio in cui desideri rimuovere i tag e la chiave del tag che desideri rimuovere.

**Nota**  
Per ottenere l'ARN del dominio, esegui il `describe-domain` comando:  

```
aws codeartifact describe-domain --domain my_domain --query domain.arn
```

Ad esempio, per rimuovere più tag su un dominio denominato *mydomain* con le chiavi dei tag *key1* e*key2*:

```
aws codeartifact untag-resource --resource-arn arn:aws:codeartifact:us-west-2:123456789012:domain/my_domain --tag-keys key1 key2
```

In caso di successo, questo comando non produce alcun risultato. Dopo aver rimosso i tag, è possibile visualizzare i tag rimanenti sul dominio utilizzando il `list-tags-for-resource` comando.

## Domini di tag (console)
<a name="tag-domains-console"></a>

È possibile utilizzare la console o l'interfaccia a riga di comando per aggiungere tag alle risorse.

**Topics**
+ [Aggiungere tag a un dominio (console)](#add-tag-domains-console)
+ [Visualizza i tag per un dominio (console)](#list-tag-domains-console)
+ [Modifica i tag per un dominio (console)](#update-tag-domains-console)
+ [Rimuovi i tag da un dominio (console)](#delete-tag-domains-console)

### Aggiungere tag a un dominio (console)
<a name="add-tag-domains-console"></a>

Puoi usare la console per aggiungere tag a un dominio esistente.

1. Apri la AWS CodeArtifact console su [https://console.aws.amazon.com/codesuite/codeartifact/home](https://console.aws.amazon.com/codesuite/codeartifact/home).

1. Nella pagina **Domini**, scegli il dominio a cui desideri aggiungere i tag.

1. Espandi la sezione **Dettagli**.

1. In **Tag di dominio**, scegli **Aggiungi tag di dominio** se non ci sono tag nel dominio o scegli **Visualizza e modifica i tag di dominio** se ce ne sono.

1. Scegli **Aggiungi nuovo tag**.

1. Nei campi **Chiave** e **Valore**, inserisci il testo per ogni tag che desideri aggiungere. Il campo **Value (Valore)** è facoltativo. Ad esempio, in **Key (Chiave)**, immettere **Name**. In **Valore**, immetti **Test**.  
![\[La configurazione del dominio.\]](http://docs.aws.amazon.com/it_it/codeartifact/latest/ug/images/domain-add-tag-console.png)

1. (Facoltativo) Scegliere **Add tag (Aggiungi tag)** per aggiungere ulteriori righe e inserire più tag.

1. Scegli **Aggiorna dominio**.

### Visualizza i tag per un dominio (console)
<a name="list-tag-domains-console"></a>

Puoi usare la console per elencare i tag dei domini esistenti.

1. Apri la AWS CodeArtifact console su [https://console.aws.amazon.com/codesuite/codeartifact/home](https://console.aws.amazon.com/codesuite/codeartifact/home).

1. Nella pagina **Domini**, scegli il dominio in cui desideri visualizzare i tag.

1. Espandi la sezione **Dettagli**.

1. In **Tag di dominio**, scegli **Visualizza e modifica i tag di dominio**.
**Nota**  
Se non ci sono tag aggiunti a questo dominio, la console leggerà **Aggiungi tag di dominio**.

### Modifica i tag per un dominio (console)
<a name="update-tag-domains-console"></a>

Puoi usare la console per modificare i tag che sono stati aggiunti al dominio.

1. Apri la AWS CodeArtifact console su [https://console.aws.amazon.com/codesuite/codeartifact/home](https://console.aws.amazon.com/codesuite/codeartifact/home).

1. Nella pagina **Domini**, scegli il dominio in cui desideri aggiornare i tag.

1. Espandi la sezione **Dettagli**.

1. In **Tag di dominio**, scegli **Visualizza e modifica i tag di dominio**.
**Nota**  
Se non ci sono tag aggiunti a questo dominio, la console leggerà **Aggiungi tag di dominio**.

1. Nei campi **Key (Chiave)** e **Value (Valore)**, aggiornare i valori di ogni campo in base alle esigenze. Ad esempio, per la chiave **Name**, in **Value (Valore)**, modificare **Test** in **Prod**.

1. Scegli **Aggiorna dominio**.

### Rimuovi i tag da un dominio (console)
<a name="delete-tag-domains-console"></a>

Puoi utilizzare la console per eliminare i tag dai domini.

1. Apri la AWS CodeArtifact console su [https://console.aws.amazon.com/codesuite/codeartifact/home](https://console.aws.amazon.com/codesuite/codeartifact/home).

1. Nella pagina **Domini**, scegli il dominio in cui desideri rimuovere i tag.

1. Espandi la sezione **Dettagli**.

1. In **Tag di dominio**, scegli **Visualizza e modifica i tag di dominio**.
**Nota**  
Se non ci sono tag aggiunti a questo dominio, la console leggerà **Aggiungi tag di dominio**.

1. Accanto alla chiave e al valore per ogni tag che desideri eliminare, scegli **Rimuovi**.

1. Scegli **Aggiorna dominio**.