

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Arbeiten Sie mit Domänen in CodeArtifact
<a name="domains"></a>

CodeArtifact *Domänen* erleichtern die Verwaltung mehrerer Repositorys in einer Organisation. Sie können eine Domäne verwenden, um Berechtigungen auf viele Repositorys anzuwenden, die verschiedenen AWS-Konten gehören. Ein Asset wird nur einmal in einer Domain gespeichert, auch wenn es in mehreren Repositorys verfügbar ist.

Sie können zwar mehrere Domains haben, wir empfehlen jedoch eine einzige Produktionsdomain, die alle veröffentlichten Artefakte enthält, damit Ihre Entwicklungsteams Pakete finden und gemeinsam nutzen können. Sie können eine zweite Vorproduktionsdomäne verwenden, um Änderungen an der Konfiguration der Produktionsdomäne zu testen.

In diesen Themen wird beschrieben, wie Sie die CodeArtifact Konsole AWS CLI, die und CloudFormation zum Erstellen oder Konfigurieren von CodeArtifact Domänen verwenden.

**Topics**
+ [Übersicht über die Domain](domain-overview.md)
+ [Domain erstellen](domain-create.md)
+ [Löschen einer Domain](delete-domain.md)
+ [Domänenrichtlinien](domain-policies.md)
+ [Kennzeichnen Sie eine Domain](tag-domains.md)

# Übersicht über die Domain
<a name="domain-overview"></a>

Wenn Sie mit Domains arbeiten CodeArtifact, sind sie für folgende Zwecke nützlich: 
+  **Deduplizierter Speicher**: Ein Asset muss nur einmal in einer Domain gespeichert werden, auch wenn es in 1 oder 1.000 Repositorys verfügbar ist. Das heißt, Sie zahlen nur einmal für Speicherplatz.
+  **Schnelles Kopieren**: Wenn Sie Pakete aus einem CodeArtifact Upstream-Repository in ein Downstream-Repository abrufen oder die [CopyPackageVersions API](copy-package.md) verwenden, müssen nur Metadatensätze aktualisiert werden. Es werden keine Assets kopiert. Dadurch lässt sich schnell ein neues Repository für Staging- oder Testzwecke einrichten. Weitere Informationen finden Sie unter [Arbeiten mit Upstream-Repositorys in CodeArtifact](repos-upstream.md).
+  **Einfache gemeinsame Nutzung zwischen Repositorys und Teams**: Alle Ressourcen und Metadaten in einer Domain werden mit einem einzigen Schlüssel AWS KMS key (KMS-Schlüssel) verschlüsselt. Sie müssen nicht für jedes Repository einen Schlüssel verwalten oder mehreren Konten Zugriff auf einen einzigen Schlüssel gewähren.
+  **Richtlinie auf mehrere Repositorys anwenden**: Der Domainadministrator kann Richtlinien auf die gesamte Domain anwenden. Dazu gehört die Einschränkung, welche Konten Zugriff auf Repositorys in der Domain haben und wer Verbindungen zu öffentlichen Repositorys konfigurieren kann, um sie als Paketquellen zu verwenden. [Weitere Informationen finden Sie unter Domänenrichtlinien.](domain-policies.md)
+  **Eindeutige Repository-Namen**: Die Domain stellt einen Namespace für Repositorys bereit. Repository-Namen müssen nur innerhalb der Domain eindeutig sein. Sie sollten aussagekräftige Namen verwenden, die leicht zu verstehen sind.

Domainnamen müssen innerhalb eines Kontos eindeutig sein.

Sie können kein Repository ohne eine Domain erstellen. Wenn Sie die [CreateRepository](create-repo.md)API verwenden, um ein Repository zu erstellen, müssen Sie einen Domainnamen angeben. Sie können ein Repository nicht von einer Domain in eine andere verschieben.

Ein Repository kann demselben AWS Konto gehören, dem die Domain gehört, oder einem anderen Konto. Wenn es sich bei den Eigentümerkonten um unterschiedliche Konten handelt, muss dem Konto, das das Repository besitzt, die entsprechenden Berechtigungen für die `CreateRepository` Domänenressource erteilt werden. Sie können dies tun, indem Sie der Domäne mithilfe des Befehls eine Ressourcenrichtlinie hinzufügen. [PutDomainPermissionsPolicy](domain-policies.md#set-domain-policy)

Eine Organisation kann zwar mehrere Domänen haben, es wird jedoch empfohlen, eine einzige Produktionsdomäne zu verwenden, die alle veröffentlichten Artefakte enthält, sodass Entwicklungsteams Pakete innerhalb ihrer Organisation finden und gemeinsam nutzen können. Eine zweite Vorproduktionsdomäne kann nützlich sein, um Änderungen an der Konfiguration der Produktionsdomäne zu testen.

## Kontenübergreifende Domänen
<a name="domain-overview-cross-account"></a>

Domainnamen müssen nur innerhalb eines Kontos eindeutig sein, was bedeutet, dass es innerhalb einer Region mehrere Domains geben kann, die denselben Namen haben. Wenn Sie also auf eine Domain zugreifen möchten, die einem Konto gehört, für das Sie nicht authentifiziert sind, müssen Sie die Domaininhaber-ID zusammen mit dem Domainnamen sowohl in der CLI als auch in der Konsole angeben. Sehen Sie sich die folgenden CLI-Beispiele an.

**Greifen Sie auf eine Domain zu, die einem Konto gehört, für das Sie authentifiziert sind:**

Wenn Sie innerhalb des Kontos, für das Sie authentifiziert sind, auf eine Domain zugreifen, müssen Sie nur den Domainnamen angeben. Das folgende Beispiel listet Pakete im *my\$1repo* Repository in der *my\$1domain* Domain auf, die Ihrem Konto gehört.

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

**Greifen Sie auf eine Domain zu, die einem Konto gehört, für das Sie nicht authentifiziert sind:**

Wenn Sie auf eine Domain zugreifen, die einem Konto gehört, für das Sie nicht authentifiziert sind, müssen Sie den Domaininhaber sowie den Domainnamen angeben. Das folgende Beispiel listet Pakete im *other-repo* Repository in der *other-domain* Domain auf, die einem Konto gehört, für das Sie nicht authentifiziert sind. Beachten Sie die Hinzufügung des `--domain-owner` Parameters.

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

## Arten von AWS KMS Schlüsseln, die unterstützt werden in CodeArtifact
<a name="domain-overview-supported-kms-keys"></a>

CodeArtifact unterstützt nur [symmetrische KMS-Schlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks). Sie können keinen [asymmetrischen KMS-Schlüssel verwenden, um Ihre Domänen](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html#asymmetric-cmks) zu verschlüsseln. CodeArtifact Weitere Informationen finden Sie unter [Identifizieren symmetrischer und asymmetrischer KMS-Schlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/find-symm-asymm.html). *Informationen zum Erstellen eines neuen, vom Kunden verwalteten Schlüssels finden Sie unter [Erstellen von KMS-Schlüsseln mit symmetrischer Verschlüsselung im AWS Key Management Service Entwicklerhandbuch](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk).*

CodeArtifact unterstützt AWS KMS externe Schlüsselspeicher (XKS). Sie sind verantwortlich für die Verfügbarkeit, Beständigkeit und Latenz wichtiger Operationen mit XKS-Schlüsseln, was sich auf die Verfügbarkeit, Haltbarkeit und Latenz von auswirken kann. CodeArtifact Einige Beispiele für Auswirkungen der Verwendung von XKS-Schlüsseln mit: CodeArtifact
+ Da jedes Asset eines angeforderten Pakets und all seine Abhängigkeiten einer Entschlüsselungslatenz unterliegen, kann die Build-Latenz mit einer Erhöhung der XKS-Operationslatenz erheblich erhöht werden.
+ Da alle Ressourcen verschlüsselt sind CodeArtifact, führt ein Verlust von XKS-Schlüsselmaterialien zum Verlust aller Ressourcen, die mit der Domäne verknüpft sind, die den XKS-Schlüssel verwendet.

*Weitere Informationen zu XKS-Schlüsseln finden Sie unter [Externe Schlüsselspeicher im AWS Key Management Service Entwicklerhandbuch](https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html).*

# Domain erstellen
<a name="domain-create"></a>

Sie können eine Domäne mithilfe der CodeArtifact Konsole, der Taste AWS Command Line Interface (AWS CLI) oder CloudFormation erstellen. Wenn Sie eine Domain erstellen, enthält sie keine Repositorys. Weitere Informationen finden Sie unter [Erstellen eines -Repositorys](create-repo.md). Weitere Informationen zur Verwaltung von CodeArtifact Domains mit finden Sie CloudFormation unter[CodeArtifact Ressourcen erstellen mit AWS CloudFormation](cloudformation-codeartifact.md). 

**Topics**
+ [Erstellen Sie eine Domäne (Konsole)](#create-domain-console)
+ [Erstellen Sie eine Domäne (AWS CLI)](#create-domain-cli)
+ [Beispiel für eine AWS KMS Schlüsselrichtlinie](#create-domain-kms-key-policy-example)

## Erstellen Sie eine Domäne (Konsole)
<a name="create-domain-console"></a>

1. Öffnen Sie die AWS CodeArtifact Konsole unter [https://console.aws.amazon.com/codesuite/codeartifact/home](https://console.aws.amazon.com/codesuite/codeartifact/home).

1.  **Wählen Sie im Navigationsbereich **Domains** und dann Create domain aus.** 

1.  **Geben Sie im Feld Name einen Namen für Ihre Domain ein.** 

1.  Erweitern Sie **Additional configuration (Zusätzliche Konfiguration)**. 

1. Verwenden Sie einen AWS KMS key (KMS-Schlüssel), um alle Ressourcen in Ihrer Domain zu verschlüsseln. Sie können einen AWS verwalteten KMS-Schlüssel oder einen KMS-Schlüssel verwenden, den Sie verwalten. Weitere Informationen zu den unterstützten Typen von KMS-Schlüsseln finden Sie unter[Arten von AWS KMS Schlüsseln, die unterstützt werden in CodeArtifact](domain-overview.md#domain-overview-supported-kms-keys). CodeArtifact
   + Wählen Sie **AWS-verwalteten Schlüssel**, wenn Sie den Standard verwenden möchten Von AWS verwalteter Schlüssel.
   +  Wählen Sie **Vom Kunden verwalteter Schlüssel**, wenn Sie einen von Ihnen verwalteten KMS-Schlüssel verwenden möchten. Um einen KMS-Schlüssel zu verwenden, den Sie verwalten, suchen Sie unter **ARN für vom Kunden verwalteten Schlüssel** nach dem KMS-Schlüssel und wählen Sie ihn aus.

    Weitere Informationen finden Sie unter [Von AWS verwalteter Schlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk)und vom [Kunden verwalteter Schlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) im *AWS Key Management Service Entwicklerhandbuch*. 

1.  Wählen Sie **Domain erstellen** aus. 

## Erstellen Sie eine Domäne (AWS CLI)
<a name="create-domain-cli"></a>

Um eine Domain mit dem zu erstellen AWS CLI, verwenden Sie den `create-domain` Befehl. Sie müssen einen AWS KMS key (KMS-Schlüssel) verwenden, um alle Ressourcen in Ihrer Domain zu verschlüsseln. Sie können einen AWS verwalteten KMS-Schlüssel oder einen von Ihnen verwalteten KMS-Schlüssel verwenden. Wenn Sie einen AWS verwalteten KMS-Schlüssel verwenden, verwenden Sie den `--encryption-key` Parameter nicht.

Weitere Informationen zu den unterstützten Typen von KMS-Schlüsseln finden Sie unter[Arten von AWS KMS Schlüsseln, die unterstützt werden in CodeArtifact](domain-overview.md#domain-overview-supported-kms-keys). CodeArtifact Weitere Informationen zu KMS-Schlüsseln finden Sie unter [Von AWS verwalteter Schlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk)und vom [Kunden verwaltete Schlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) im *AWS Key Management Service Entwicklerhandbuch*.

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

 In der Ausgabe werden Daten im JSON-Format mit Details zu Ihrer neuen Domain angezeigt. 

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

 Wenn Sie einen KMS-Schlüssel verwenden, den Sie verwalten, geben Sie dessen Amazon-Ressourcennamen (ARN) in den `--encryption-key` Parameter ein. 

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

 In der Ausgabe werden Daten im JSON-Format mit Details zu Ihrer neuen Domain angezeigt. 

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

### Erstellen einer Domäne mit Tags
<a name="create-domain-cli-tags"></a>

Um eine Domain mit Tags zu erstellen, fügen Sie den `--tags` Parameter zu Ihrem Befehl hinzu. `create-domain`

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

## Beispiel für eine AWS KMS Schlüsselrichtlinie
<a name="create-domain-kms-key-policy-example"></a>

Wenn Sie eine Domäne in erstellen CodeArtifact, verwenden Sie einen KMS-Schlüssel, um alle Ressourcen in der Domäne zu verschlüsseln. Sie können einen AWS verwalteten KMS-Schlüssel oder einen vom Kunden verwalteten Schlüssel wählen, den Sie verwalten. Weitere Informationen zu KMS-Schlüsseln finden Sie im [AWS Key Management Service Entwicklerhandbuch](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html).

Um einen vom Kunden verwalteten Schlüssel verwenden zu können, muss Ihr KMS-Schlüssel über eine Schlüsselrichtlinie verfügen, die Zugriff darauf gewährt CodeArtifact. Eine Schlüsselrichtlinie ist eine Ressourcenrichtlinie für einen AWS KMS Schlüssel und stellt die wichtigste Methode zur Steuerung des Zugriffs auf KMS-Schlüssel dar. Jeder KMS-Schlüssel muss genau eine Schlüsselrichtlinie haben. Die Anweisungen im Schlüsselrichtliniendokument legen fest, wer über eine Berechtigung zur Verwendung des KMS-Schlüssels verfügt, und wie diese Verwendung erfolgen kann.

Das folgende Beispiel für eine wichtige Richtlinienerklärung ermöglicht es AWS CodeArtifact , Zuschüsse zu erstellen und wichtige Details im Namen autorisierter Benutzer einzusehen. Diese Grundsatzerklärung beschränkt die Erlaubnis darauf, im Namen der angegebenen Konto-ID zu CodeArtifact handeln, indem die Bedingungsschlüssel `kms:ViaService` und die `kms:CallerAccount` Bedingungsschlüssel verwendet werden. Außerdem werden dem IAM-Root-Benutzer alle AWS KMS Berechtigungen erteilt, sodass der Schlüssel nach seiner Erstellung verwaltet werden kann.

------
#### [ 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": "*"
        }
    ]
}
```

------

# Löschen einer Domain
<a name="delete-domain"></a>

Sie können eine Domain mit der CodeArtifact Konsole oder der AWS Command Line Interface (AWS CLI) löschen.

**Topics**
+ [Einschränkungen beim Löschen von Domains](#delete-domain-restrictions)
+ [Eine Domain löschen (Konsole)](#delete-domain-console)
+ [Löschen einer Domain (AWS CLI)](#delete-domain-cli)

## Einschränkungen beim Löschen von Domains
<a name="delete-domain-restrictions"></a>

Normalerweise können Sie eine Domain, die Repositorys enthält, nicht löschen. Bevor Sie die Domain löschen, müssen Sie zuerst ihre Repositorys löschen. Weitere Informationen finden Sie unter [Löschen Sie ein Repository](delete-repo.md).

Wenn Sie jedoch CodeArtifact keinen Zugriff mehr auf den KMS-Schlüssel der Domäne haben, können Sie die Domäne löschen, auch wenn sie noch Repositorys enthält. Diese Situation tritt ein, wenn Sie den KMS-Schlüssel der Domäne löschen oder die KMS-Genehmigung widerrufen, die [für](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) den Zugriff auf den Schlüssel CodeArtifact verwendet wird. In diesem Zustand können Sie nicht auf die Repositorys in der Domäne oder die darin gespeicherten Pakete zugreifen. Das Auflisten und Löschen von Repositorys ist auch nicht möglich, wenn CodeArtifact kein Zugriff auf den KMS-Schlüssel der Domäne möglich ist. Aus diesem Grund wird beim Löschen von Domänen nicht geprüft, ob die Domain Repositorys enthält, wenn auf den KMS-Schlüssel der Domain nicht zugegriffen werden kann.

**Anmerkung**  
Wenn eine Domain gelöscht wird, die noch Repositorys enthält, CodeArtifact werden die Repositorys innerhalb von 15 Minuten asynchron gelöscht. Nach dem Löschen der Domain sind die Repositorys weiterhin in der CodeArtifact Konsole und in der `list-repositories` Befehlsausgabe sichtbar, bis die automatische Repository-Bereinigung erfolgt.

## Eine Domain löschen (Konsole)
<a name="delete-domain-console"></a>

1. Öffnen Sie die AWS CodeArtifact Konsole unter [https://console.aws.amazon.com/codesuite/codeartifact/home](https://console.aws.amazon.com/codesuite/codeartifact/home).

1.  Wählen Sie im Navigationsbereich **Domains** und dann die Domain aus, die Sie löschen möchten. 

1.  Wählen Sie **Löschen** aus. 

## Löschen einer Domain (AWS CLI)
<a name="delete-domain-cli"></a>

Verwenden Sie den **delete-domain** Befehl, um eine Domain zu löschen. 

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

 In der Ausgabe werden Daten im JSON-Format mit Details zur gelöschten Domain angezeigt.

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

# Domänenrichtlinien
<a name="domain-policies"></a>

CodeArtifact unterstützt die Verwendung ressourcenbasierter Berechtigungen zur Zugriffskontrolle. Mit ressourcenbasierten Berechtigungen können Sie angeben, wer Zugriff auf eine Ressource hat und welche Aktionen sie mit ihr ausführen können. Standardmäßig kann nur das AWS-Konto, dem die Domain gehört, Repositorys in der Domain erstellen und darauf zugreifen. Sie können ein Richtliniendokument auf eine Domain anwenden, um anderen IAM-Prinzipalen den Zugriff darauf zu ermöglichen.

Weitere Informationen finden Sie unter [Richtlinien und Berechtigungen und](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) [Identitätsbasierte Richtlinien und Ressourcenbasierte Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html).

**Topics**
+ [Aktivieren Sie den kontoübergreifenden Zugriff auf eine Domain](#enabling-cross-acount-access-to-a-domain)
+ [Beispiel für eine Domänenrichtlinie](#domain-policy-example)
+ [Beispiel für eine Domänenrichtlinie mit AWS Organizations](#domain-policy-example-with-aws-organizations)
+ [Legen Sie eine Domain-Richtlinie fest](#set-domain-policy)
+ [Lesen Sie eine Domänenrichtlinie](#reading-a-domain-policy)
+ [Löschen Sie eine Domänenrichtlinie](#deleting-a-domain-policy)

## Aktivieren Sie den kontoübergreifenden Zugriff auf eine Domain
<a name="enabling-cross-acount-access-to-a-domain"></a>

Eine Ressourcenrichtlinie ist eine Textdatei im JSON-Format. Die Datei muss einen Prinzipal (Akteur), eine oder mehrere Aktionen und einen Effekt (`Allow`oder`Deny`) angeben. Um ein Repository in einer Domäne zu erstellen, die einem anderen Konto gehört, muss dem Prinzipal die entsprechenden `CreateRepository` Berechtigungen für die *Domänenressource* erteilt werden.

Die folgende Ressourcenrichtlinie gewährt dem Konto beispielsweise die `123456789012` Berechtigung, ein Repository in der Domäne zu erstellen.

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

****  

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

------

Um das Erstellen von Repositorys mit Tags zu ermöglichen, müssen Sie die `codeartifact:TagResource` entsprechende Berechtigung angeben. Dadurch erhält das Konto auch Zugriff auf das Hinzufügen von Tags zur Domain und allen darin enthaltenen Repositorys.

Die Domänenrichtlinie wird für alle Operationen mit der Domain und allen Ressourcen innerhalb der Domain bewertet. Das bedeutet, dass die Domänenrichtlinie verwendet werden kann, um Berechtigungen auf Repositorys und Pakete in der Domäne anzuwenden. Wenn das `Resource` Element auf gesetzt ist`*`, gilt die Anweisung für alle Ressourcen in der Domäne. Wenn die obige Richtlinie beispielsweise auch `codeartifact:DescribeRepository` in der Liste der zulässigen IAM-Aktionen enthalten wäre, würde die Richtlinie den Aufruf `DescribeRepository` jedes Repositorys in der Domäne zulassen. Eine Domänenrichtlinie kann verwendet werden, um Berechtigungen auf bestimmte Ressourcen in der Domäne anzuwenden, indem bestimmte Ressourcen ARNs in dem `Resource` Element verwendet werden.

**Anmerkung**  
Sowohl Domänen- als auch Repository-Richtlinien können zur Konfiguration von Berechtigungen verwendet werden. Wenn beide Richtlinien vorhanden sind, werden beide Richtlinien bewertet und eine Aktion ist zulässig, sofern eine der Richtlinien dies zulässt. Weitere Informationen finden Sie unter [Interaktion zwischen Repository- und Domänenrichtlinien](repo-policies.md#interaction-repo-domain-policies).

Um auf Pakete in einer Domäne zuzugreifen, die einem anderen Konto gehört, muss einem Prinzipal die entsprechenden `GetAuthorizationToken` Berechtigungen für die *Domänenressource* erteilt werden. Auf diese Weise kann der Domaininhaber kontrollieren, welche Konten die Inhalte von Repositorys in der Domain lesen können.

Die folgende Ressourcenrichtlinie gewährt dem Konto beispielsweise die `123456789012` Erlaubnis, ein Authentifizierungstoken für jedes Repository in der Domain abzurufen.

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

****  

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

------

**Anmerkung**  
Einem Principal, der Pakete von einem Repository-Endpunkt abrufen möchte, muss zusätzlich zu der `ReadFromRepository` Berechtigung für die Domäne auch die Berechtigung für die Repository-Ressource `GetAuthorizationToken` erteilt werden. In ähnlicher Weise muss einem Prinzipal, der Pakete auf einem Repository-Endpunkt veröffentlichen möchte, zusätzlich zu `GetAuthorizationToken` die `PublishPackageVersion` entsprechende Berechtigung erteilt werden.   
Weitere Informationen zu den `PublishPackageVersion` Berechtigungen `ReadFromRepository` und finden Sie unter [Repository-Richtlinien](repo-policies.md).

## Beispiel für eine Domänenrichtlinie
<a name="domain-policy-example"></a>

Wenn mehrere Konten eine Domäne verwenden, sollten den Konten grundlegende Berechtigungen erteilt werden, damit sie die Domäne vollständig nutzen können. Die folgende Ressourcenrichtlinie listet eine Reihe von Berechtigungen auf, die die vollständige Nutzung der Domäne ermöglichen.

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

------

**Anmerkung**  
Sie müssen keine Domänenrichtlinie erstellen, wenn eine Domäne und alle zugehörigen Repositorys einem einzigen Konto gehören und nur von diesem Konto aus verwendet werden müssen.

## Beispiel für eine Domänenrichtlinie mit AWS Organizations
<a name="domain-policy-example-with-aws-organizations"></a>

Sie können den `aws:PrincipalOrgID` Bedingungsschlüssel verwenden, um von allen Konten in Ihrer Organisation aus Zugriff auf eine CodeArtifact Domain zu gewähren. Gehen Sie dazu wie folgt vor.

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

------

Weitere Informationen zur Verwendung des `aws:PrincipalOrgID` Bedingungsschlüssels finden Sie unter [AWS Global Condition Context Keys](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) im *IAM-Benutzerhandbuch*.

## Legen Sie eine Domain-Richtlinie fest
<a name="set-domain-policy"></a>

Sie können den `put-domain-permissions-policy` Befehl verwenden, um eine Richtlinie an eine Domain anzuhängen.

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

Wenn Sie aufrufen`put-domains-permissions-policy`, wird die Ressourcenrichtlinie für die Domain bei der Auswertung von Berechtigungen ignoriert. Dadurch wird sichergestellt, dass sich der Besitzer einer Domain nicht selbst aus der Domain aussperren kann, was ihn daran hindern würde, die Ressourcenrichtlinie zu aktualisieren.

**Anmerkung**  
 Sie können einem anderen AWS Konto keine Berechtigungen zum Aktualisieren der Ressourcenrichtlinie für eine Domäne mithilfe einer Ressourcenrichtlinie gewähren, da die Ressourcenrichtlinie beim Aufrufen ignoriert wird put-domain-permissions-policy. 

Beispielausgabe:

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

Die Ausgabe des Befehls enthält den Amazon-Ressourcennamen (ARN) der Domain-Ressource, den vollständigen Inhalt des Richtliniendokuments und eine Revisions-ID. Die Revisions-ID kann `put-domain-permissions-policy` mithilfe der `--policy-revision` Option an übergeben werden. Dadurch wird sichergestellt, dass eine bekannte Version des Dokuments überschrieben wird und nicht eine neuere Version, die von einem anderen Autor festgelegt wurde.

## Lesen Sie eine Domänenrichtlinie
<a name="reading-a-domain-policy"></a>

Verwenden Sie den `get-domain-permissions-policy` Befehl, um eine vorhandene Version eines Richtliniendokuments zu lesen. Um die Ausgabe aus Gründen der Lesbarkeit zu formatieren, verwenden Sie das `--output` und `--query policy.document` zusammen mit dem `json.tool` Python-Modul wie folgt.

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

Beispielausgabe:

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

------

## Löschen Sie eine Domänenrichtlinie
<a name="deleting-a-domain-policy"></a>

Verwenden Sie den `delete-domain-permissions-policy` Befehl, um eine Richtlinie aus einer Domain zu löschen.

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

Das Format der Ausgabe entspricht dem der `delete-domain-permissions-policy` Befehle `get-domain-permissions-policy` und.

# Kennzeichnen Sie eine Domain in CodeArtifact
<a name="tag-domains"></a>

Tags sind mit AWS-Ressourcen verknüpfte Schlüssel-Wert-Paare. In können Sie Tags auf Ihre Domains anwenden CodeArtifact. Informationen zu CodeArtifact Ressourcen-Tagging, Anwendungsfällen, Einschränkungen für Tagschlüssel und -werte sowie zu unterstützten Ressourcentypen finden Sie unter[Taggen von -Ressourcen](tag-resources.md).

Sie können die CLI verwenden, um Tags anzugeben, wenn Sie eine Domain erstellen. Sie können die Konsole oder CLI verwenden, um Tags hinzuzufügen oder zu entfernen und die Werte von Tags in einer Domain zu aktualisieren. Sie können jeder Domain bis zu 50 Tags hinzufügen.

**Topics**
+ [Tag-Domains (CLI)](#tag-domains-tag-cli)
+ [Domains taggen (Konsole)](#tag-domains-console)

## Tag-Domains (CLI)
<a name="tag-domains-tag-cli"></a>

Sie können die CLI verwenden, um Domain-Tags zu verwalten.

**Topics**
+ [Hinzufügen von Tags zu einer Domain (CLI)](#add-domains-tag-cli)
+ [Tags für eine Domain anzeigen (CLI)](#list-domains-tag-cli)
+ [Tags für eine Domain bearbeiten (CLI)](#update-domains-tag-cli)
+ [Tags aus einer Domain entfernen (CLI)](#delete-domains-tag-cli)

### Hinzufügen von Tags zu einer Domain (CLI)
<a name="add-domains-tag-cli"></a>

Sie können die Konsole oder die verwenden, um Domains AWS CLI zu taggen.

Informationen zum Hinzufügen eines Tags zu einer Domain, wenn Sie sie erstellen, finden Sie unter[Erstellen eines -Repositorys](create-repo.md).

Bei diesen Schritten wird davon ausgegangen, dass Sie bereits eine aktuelle Version der AWS CLI installiert oder eine Aktualisierung auf die aktuelle Version vorgenommen haben. Weitere Informationen finden Sie unter [Installieren der AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/installing.html).

Führen Sie den Befehl am Terminal oder in der **tag-resource** Befehlszeile aus und geben Sie den Amazon-Ressourcennamen (ARN) der Domain an, der Sie Tags hinzufügen möchten, sowie den Schlüssel und den Wert des Tags, das Sie hinzufügen möchten.

**Anmerkung**  
Führen Sie den `describe-domain` folgenden Befehl aus, um den ARN der Domain abzurufen:  

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

Sie können einer Domain mehr als ein Tag hinzufügen. Um beispielsweise eine Domain *my\$1domain* mit zwei Tags zu taggen, einem Tag-Schlüssel *key1* mit dem Tag-Wert von *value1* und einem Tag-Schlüssel *key2* mit dem Tag-Wert von*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
```

Bei Erfolg hat dieser Befehl keine Ausgabe.

### Tags für eine Domain anzeigen (CLI)
<a name="list-domains-tag-cli"></a>

Gehen Sie wie folgt vor AWS CLI , um die AWS Tags für eine Domain anzuzeigen. Wenn keine Tags hinzugefügt wurden, ist die zurückgegebene Liste leer.

Führen Sie im Terminal oder in der Befehlszeile den **list-tags-for-resource** Befehl mit dem Amazon-Ressourcennamen (ARN) der Domain aus.

**Anmerkung**  
Führen Sie den `describe-domain` folgenden Befehl aus, um den ARN der Domain abzurufen:  

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

Um beispielsweise eine Liste von Tag-Schlüsseln und Tag-Werten für eine Domain anzuzeigen, die *my\$1domain* mit dem `arn:aws:codeartifact:us-west-2:123456789012:domain/my_domain` ARN-Wert benannt ist:

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

Bei erfolgreicher Ausführung gibt dieser Befehl etwa wie folgt aussehende Informationen zurück:

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

### Tags für eine Domain bearbeiten (CLI)
<a name="update-domains-tag-cli"></a>

Gehen Sie wie folgt vor, AWS CLI um mit dem ein Tag für eine Domain zu bearbeiten. Sie können den Wert für einen vorhandenen Schlüssel ändern oder einen anderen Schlüssel hinzufügen. Sie können Tags auch aus einer Domain entfernen, wie im nächsten Abschnitt gezeigt.

Führen Sie im Terminal oder in der Befehlszeile den **tag-resource** Befehl aus und geben Sie den ARN der Domain an, in der Sie ein Tag aktualisieren möchten, und geben Sie den Tag-Schlüssel und den Tag-Wert an:

**Anmerkung**  
Führen Sie den `describe-domain` folgenden Befehl aus, um den ARN der Domain abzurufen:  

```
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
```

Wenn dieser Befehl erfolgreich ist, hat er keine Ausgabe.

### Tags aus einer Domain entfernen (CLI)
<a name="delete-domains-tag-cli"></a>

Gehen Sie wie folgt vor, AWS CLI um mit dem ein Tag aus einer Domain zu entfernen.

**Anmerkung**  
Wenn Sie eine Domain löschen, werden alle Tag-Verknüpfungen aus der gelöschten Domain entfernt. Sie müssen keine Tags entfernen, bevor Sie eine Domain löschen.

Führen Sie im Terminal oder in der Befehlszeile den **untag-resource** Befehl aus und geben Sie den ARN der Domain an, aus der Sie Tags entfernen möchten, und den Tag-Schlüssel des Tags, das Sie entfernen möchten.

**Anmerkung**  
Führen Sie den `describe-domain` folgenden Befehl aus, um den ARN der Domain abzurufen:  

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

Um beispielsweise mehrere Tags auf einer Domain zu entfernen, die *mydomain* mit den Tag-Schlüsseln benannt ist *key1* und*key2*:

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

Wenn dieser Befehl erfolgreich ist, hat er keine Ausgabe. Nach dem Entfernen von Tags können Sie mit dem `list-tags-for-resource` Befehl die verbleibenden Tags auf der Domain anzeigen.

## Domains taggen (Konsole)
<a name="tag-domains-console"></a>

Sie können Ressourcen über die Konsole oder CLI mit Tags markieren.

**Topics**
+ [Fügen Sie einer Domain Tags hinzu (Konsole)](#add-tag-domains-console)
+ [Tags für eine Domain anzeigen (Konsole)](#list-tag-domains-console)
+ [Bearbeiten Sie die Tags für eine Domain (Konsole)](#update-tag-domains-console)
+ [Tags aus einer Domain entfernen (Konsole)](#delete-tag-domains-console)

### Fügen Sie einer Domain Tags hinzu (Konsole)
<a name="add-tag-domains-console"></a>

Sie können die Konsole verwenden, um einer vorhandenen Domain Tags hinzuzufügen.

1. Öffnen Sie die AWS CodeArtifact Konsole unter [https://console.aws.amazon.com/codesuite/codeartifact/home](https://console.aws.amazon.com/codesuite/codeartifact/home).

1. Wählen Sie auf der Seite **Domains** die Domain aus, der Sie Tags hinzufügen möchten.

1. Erweitern Sie den Abschnitt **Details**.

1. Wählen Sie unter **Domain-Tags** die Option **Domain-Tags hinzufügen**, wenn die Domain keine Tags enthält, oder wählen Sie **Domain-Tags anzeigen und bearbeiten**, falls vorhanden.

1. Wählen Sie **Neues Tag hinzufügen** aus.

1. Geben Sie in den Feldern **Schlüssel** und **Wert** den Text für jedes Tag ein, das Sie hinzufügen möchten. (Das Feld **Value (Wert)** ist optional.) Geben Sie beispielsweise für **Key (Schlüssel)** **Name** ein. Geben Sie unter **Value (Wert)** **Test** ein.  
![\[Die Domänenkonfiguration.\]](http://docs.aws.amazon.com/de_de/codeartifact/latest/ug/images/domain-add-tag-console.png)

1. (Optional) Wählen Sie **Add tag (Tag hinzufügen)** aus, um weitere Zeilen hinzuzufügen und weitere Tags einzugeben.

1. Wählen Sie **Domain aktualisieren**.

### Tags für eine Domain anzeigen (Konsole)
<a name="list-tag-domains-console"></a>

Sie können die Konsole verwenden, um Tags für bestehende Domains aufzulisten.

1. Öffnen Sie die AWS CodeArtifact Konsole unter [https://console.aws.amazon.com/codesuite/codeartifact/home](https://console.aws.amazon.com/codesuite/codeartifact/home).

1. Wählen Sie auf der Seite **Domains** die Domain aus, für die Sie Tags anzeigen möchten.

1. Erweitern Sie den Abschnitt **Details**.

1. Wählen Sie unter **Domain-Tags** die Option **Domain-Tags anzeigen und bearbeiten** aus.
**Anmerkung**  
Wenn zu dieser Domain keine Tags hinzugefügt wurden, wird in der Konsole **Domain-Tags hinzufügen** angezeigt.

### Bearbeiten Sie die Tags für eine Domain (Konsole)
<a name="update-tag-domains-console"></a>

Sie können die Konsole verwenden, um Tags zu bearbeiten, die der Domain hinzugefügt wurden.

1. Öffnen Sie die AWS CodeArtifact Konsole unter [https://console.aws.amazon.com/codesuite/codeartifact/home](https://console.aws.amazon.com/codesuite/codeartifact/home).

1. Wählen Sie auf der Seite **Domains** die Domain aus, für die Sie Tags aktualisieren möchten.

1. Erweitern Sie den Abschnitt **Details**.

1. Wählen Sie unter **Domain-Tags** die Option **Domain-Tags anzeigen und bearbeiten** aus.
**Anmerkung**  
Wenn zu dieser Domain keine Tags hinzugefügt wurden, wird in der Konsole **Domain-Tags hinzufügen** angezeigt.

1. Aktualisieren Sie in den Feldern **Key (Schlüssel)** und **Value (Wert)** die Werte nach Bedarf. Ändern Sie beispielsweise für den Schlüssel **Name** unter **Value (Wert)** die Angabe **Test** in **Prod**.

1. Wählen Sie **Domain aktualisieren**.

### Tags aus einer Domain entfernen (Konsole)
<a name="delete-tag-domains-console"></a>

Sie können die Konsole verwenden, um Tags aus Domains zu löschen.

1. Öffnen Sie die AWS CodeArtifact Konsole unter [https://console.aws.amazon.com/codesuite/codeartifact/home](https://console.aws.amazon.com/codesuite/codeartifact/home).

1. Wählen Sie auf der Seite **Domains** die Domain aus, für die Sie Tags entfernen möchten.

1. Erweitern Sie den Abschnitt **Details**.

1. Wählen Sie unter **Domain-Tags** die Option **Domain-Tags anzeigen und bearbeiten** aus.
**Anmerkung**  
Wenn zu dieser Domain keine Tags hinzugefügt wurden, wird in der Konsole **Domain-Tags hinzufügen** angezeigt.

1. Wählen Sie neben dem Schlüssel und dem Wert für jedes Tag, das Sie löschen möchten, die Option **Entfernen** aus.

1. Wählen Sie „**Domain aktualisieren**“.