

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.

# Identity and Access Management für AWS CodeArtifact
<a name="security-iam"></a>

AWS Identity and Access Management (IAM) hilft einem Administrator AWS-Service , den Zugriff auf Ressourcen sicher zu AWS kontrollieren. IAM-Administratoren kontrollieren, wer *authentifiziert* (angemeldet) und *autorisiert* werden kann (über Berechtigungen verfügt), um Ressourcen zu verwenden. CodeArtifact IAM ist ein Programm AWS-Service , das Sie ohne zusätzliche Kosten nutzen können.

**Topics**
+ [Zielgruppe](#security_iam_audience)
+ [Authentifizierung mit Identitäten](#security_iam_authentication)
+ [Verwalten des Zugriffs mit Richtlinien](#security_iam_access-manage)
+ [Wie AWS CodeArtifact funktioniert mit IAM](security_iam_service-with-iam.md)
+ [Beispiele für identitätsbasierte Richtlinien für AWS CodeArtifact](security_iam_id-based-policy-examples.md)
+ [Verwendung von Tags zur Steuerung des Zugriffs auf CodeArtifact Ressourcen](tag-based-access-control.md)
+ [AWS CodeArtifact Referenz zu Berechtigungen](auth-and-access-control-permissions-reference.md)
+ [Problembehandlung bei AWS CodeArtifact Identität und Zugriff](security_iam_troubleshoot.md)

## Zielgruppe
<a name="security_iam_audience"></a>

Wie Sie AWS Identity and Access Management (IAM) verwenden, hängt von Ihrer Rolle ab:
+ **Servicebenutzer** – Fordern Sie von Ihrem Administrator Berechtigungen an, wenn Sie nicht auf Features zugreifen können (siehe [Problembehandlung bei AWS CodeArtifact Identität und Zugriff](security_iam_troubleshoot.md)).
+ **Serviceadministrator** – Bestimmen Sie den Benutzerzugriff und stellen Sie Berechtigungsanfragen (siehe [Wie AWS CodeArtifact funktioniert mit IAM](security_iam_service-with-iam.md)).
+ **IAM-Administrator** – Schreiben Sie Richtlinien zur Zugriffsverwaltung (siehe [Beispiele für identitätsbasierte Richtlinien für AWS CodeArtifact](security_iam_id-based-policy-examples.md)).

## Authentifizierung mit Identitäten
<a name="security_iam_authentication"></a>

Authentifizierung ist die Art und Weise, wie Sie sich AWS mit Ihren Identitätsdaten anmelden. Sie müssen sich als IAM-Benutzer authentifizieren oder eine IAM-Rolle annehmen. Root-Benutzer des AWS-Kontos

Sie können sich als föderierte Identität anmelden, indem Sie Anmeldeinformationen aus einer Identitätsquelle wie AWS IAM Identity Center (IAM Identity Center), Single Sign-On-Authentifizierung oder Anmeldeinformationen verwenden. Google/Facebook Weitere Informationen zum Anmelden finden Sie unter [So melden Sie sich bei Ihrem AWS-Konto an](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) im *Benutzerhandbuch für AWS-Anmeldung *.

 AWS Bietet für den programmatischen Zugriff ein SDK und eine CLI zum kryptografischen Signieren von Anfragen. Weitere Informationen finden Sie unter [AWS Signature Version 4 for API requests](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) im *IAM-Benutzerhandbuch*.

### AWS-Konto Root-Benutzer
<a name="security_iam_authentication-rootuser"></a>

 Wenn Sie einen erstellen AWS-Konto, beginnen Sie mit einer Anmeldeidentität, dem sogenannten AWS-Konto *Root-Benutzer*, der vollständigen Zugriff auf alle AWS-Services Ressourcen hat. Wir raten ausdrücklich davon ab, den Root-Benutzer für Alltagsaufgaben zu verwenden. Eine Liste der Aufgaben, für die Sie sich als Root-Benutzer anmelden müssen, finden Sie unter [Tasks that require root user credentials](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) im *IAM-Benutzerhandbuch*. 

### Verbundidentität
<a name="security_iam_authentication-federated"></a>

Es hat sich bewährt, dass menschliche Benutzer für den Zugriff AWS-Services mithilfe temporärer Anmeldeinformationen einen Verbund mit einem Identitätsanbieter verwenden müssen.

Eine *föderierte Identität* ist ein Benutzer aus Ihrem Unternehmensverzeichnis, Ihrem Directory Service Web-Identitätsanbieter oder der AWS-Services mithilfe von Anmeldeinformationen aus einer Identitätsquelle zugreift. Verbundene Identitäten übernehmen Rollen, die temporäre Anmeldeinformationen bereitstellen.

Für die zentrale Zugriffsverwaltung empfehlen wir AWS IAM Identity Center. Weitere Informationen finden Sie unter [Was ist IAM Identity Center?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) im *AWS IAM Identity Center -Benutzerhandbuch*.

### IAM-Benutzer und -Gruppen
<a name="security_iam_authentication-iamuser"></a>

Ein *[IAM-Benutzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)* ist eine Identität mit bestimmten Berechtigungen für eine einzelne Person oder Anwendung. Wir empfehlen die Verwendung temporärer Anmeldeinformationen anstelle von IAM-Benutzern mit langfristigen Anmeldeinformationen. Weitere Informationen finden Sie im *IAM-Benutzerhandbuch* unter [Erfordern, dass menschliche Benutzer den Verbund mit einem Identitätsanbieter verwenden müssen, um AWS mithilfe temporärer Anmeldeinformationen darauf zugreifen zu](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) können.

Eine [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) spezifiziert eine Sammlung von IAM-Benutzern und erleichtert die Verwaltung von Berechtigungen für große Gruppen von Benutzern. Weitere Informationen finden Sie unter [Anwendungsfälle für IAM-Benutzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html) im *IAM-Benutzerhandbuch*.

### IAM-Rollen
<a name="security_iam_authentication-iamrole"></a>

Eine *[IAM-Rolle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)* ist eine Identität mit spezifischen Berechtigungen, die temporäre Anmeldeinformationen bereitstellt. Sie können eine Rolle übernehmen, indem Sie [von einer Benutzer- zu einer IAM-Rolle (Konsole) wechseln](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) AWS CLI oder einen AWS API-Vorgang aufrufen. Weitere Informationen finden Sie unter [Methoden, um eine Rolle zu übernehmen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) im *IAM-Benutzerhandbuch*.

IAM-Rollen sind nützlich für den Verbundbenutzer-Zugriff, temporäre IAM-Benutzerberechtigungen, kontoübergreifenden Zugriff, serviceübergreifenden Zugriff und Anwendungen, die auf Amazon EC2 laufen. Weitere Informationen finden Sie unter [Kontoübergreifender Ressourcenzugriff in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) im *IAM-Benutzerhandbuch*.

## Verwalten des Zugriffs mit Richtlinien
<a name="security_iam_access-manage"></a>

Sie kontrollieren den Zugriff, AWS indem Sie Richtlinien erstellen und diese an AWS Identitäten oder Ressourcen anhängen. Eine Richtlinie definiert Berechtigungen, wenn sie mit einer Identität oder Ressource verknüpft sind. AWS bewertet diese Richtlinien, wenn ein Principal eine Anfrage stellt. Die meisten Richtlinien werden AWS als JSON-Dokumente gespeichert. Weitere Informationen zu JSON-Richtliniendokumenten finden Sie unter [Übersicht über JSON-Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) im *IAM-Benutzerhandbuch*.

Mit Hilfe von Richtlinien legen Administratoren fest, wer Zugriff auf was hat, indem sie definieren, welches **Prinzipal** welche **Aktionen** auf welchen **Ressourcen**und unter welchen **Bedingungen**durchführen darf.

Standardmäßig haben Benutzer, Gruppen und Rollen keine Berechtigungen. Ein IAM-Administrator erstellt IAM-Richtlinien und fügt sie zu Rollen hinzu, die die Benutzer dann übernehmen können. IAM-Richtlinien definieren Berechtigungen unabhängig von der Methode, die zur Ausführung der Operation verwendet wird.

### Identitätsbasierte Richtlinien
<a name="security_iam_access-manage-id-based-policies"></a>

Identitätsbasierte Richtlinien sind JSON-Berechtigungsrichtliniendokumente, die Sie einer Identität (Benutzer, Gruppe oder Rolle) anfügen können. Diese Richtlinien steuern, welche Aktionen Identitäten für welche Ressourcen und unter welchen Bedingungen ausführen können. Informationen zum Erstellen identitätsbasierter Richtlinien finden Sie unter [Definieren benutzerdefinierter IAM-Berechtigungen mit vom Kunden verwalteten Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) im *IAM-Benutzerhandbuch*.

Identitätsbasierte Richtlinien können *Inline-Richtlinien* (direkt in eine einzelne Identität eingebettet) oder *verwaltete Richtlinien* (eigenständige Richtlinien, die mit mehreren Identitäten verbunden sind) sein. Informationen dazu, wie Sie zwischen verwalteten und Inline-Richtlinien wählen, finden Sie unter [Choose between managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html) im *IAM-Benutzerhandbuch*.

### Ressourcenbasierte Richtlinien
<a name="security_iam_access-manage-resource-based-policies"></a>

Ressourcenbasierte Richtlinien sind JSON-Richtliniendokumente, die Sie an eine Ressource anfügen. Beispiele hierfür sind *Vertrauensrichtlinien für IAM-Rollen* und Amazon S3*-Bucket-Richtlinien*. In Services, die ressourcenbasierte Richtlinien unterstützen, können Service-Administratoren sie verwenden, um den Zugriff auf eine bestimmte Ressource zu steuern. Sie müssen in einer ressourcenbasierten Richtlinie [einen Prinzipal angeben](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html).

Ressourcenbasierte Richtlinien sind Richtlinien innerhalb dieses Diensts. Sie können AWS verwaltete Richtlinien von IAM nicht in einer ressourcenbasierten Richtlinie verwenden.

### Weitere Richtlinientypen
<a name="security_iam_access-manage-other-policies"></a>

AWS unterstützt zusätzliche Richtlinientypen, mit denen die maximalen Berechtigungen festgelegt werden können, die durch gängigere Richtlinientypen gewährt werden:
+ **Berechtigungsgrenzen** – Eine Berechtigungsgrenze legt die maximalen Berechtigungen fest, die eine identitätsbasierte Richtlinie einer IAM-Entität erteilen kann. Weitere Informationen finden Sie unter [Berechtigungsgrenzen für IAM-Entitäten](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) im *-IAM-Benutzerhandbuch*.
+ **Richtlinien zur Dienstkontrolle (SCPs)** — Geben Sie die maximalen Berechtigungen für eine Organisation oder Organisationseinheit in an AWS Organizations. Weitere Informationen finden Sie unter [Service-Kontrollrichtlinien](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) im *AWS Organizations -Benutzerhandbuch*.
+ **Richtlinien zur Ressourcenkontrolle (RCPs)** — Legen Sie die maximal verfügbaren Berechtigungen für Ressourcen in Ihren Konten fest. Weitere Informationen finden Sie im *AWS Organizations Benutzerhandbuch* unter [Richtlinien zur Ressourcenkontrolle (RCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html).
+ **Sitzungsrichtlinien** – Sitzungsrichtlinien sind erweiterte Richtlinien, die als Parameter übergeben werden, wenn Sie eine temporäre Sitzung für eine Rolle oder einen Verbundbenutzer erstellen. Weitere Informationen finden Sie unter [Sitzungsrichtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) im *IAM-Benutzerhandbuch*.

### Mehrere Richtlinientypen
<a name="security_iam_access-manage-multiple-policies"></a>

Wenn für eine Anfrage mehrere Arten von Richtlinien gelten, sind die sich daraus ergebenden Berechtigungen schwieriger zu verstehen. Informationen darüber, wie AWS bestimmt wird, ob eine Anfrage zulässig ist, wenn mehrere Richtlinientypen betroffen sind, finden Sie unter [Bewertungslogik für Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) im *IAM-Benutzerhandbuch*.

# Wie AWS CodeArtifact funktioniert mit IAM
<a name="security_iam_service-with-iam"></a>

Bevor Sie IAM zur Verwaltung des Zugriffs auf verwenden, sollten Sie sich darüber informieren CodeArtifact, mit welchen IAM-Funktionen Sie arbeiten können. CodeArtifact


**IAM-Funktionen, die Sie mit verwenden können AWS CodeArtifact**  

| IAM-Feature | CodeArtifact Unterstützung | 
| --- | --- | 
|  [Identitätsbasierte Richtlinien](#security_iam_service-with-iam-id-based-policies)  |   Ja  | 
|  [Ressourcenbasierte Richtlinien](#security_iam_service-with-iam-resource-based-policies)  |   Ja  | 
|  [Richtlinienaktionen](#security_iam_service-with-iam-id-based-policies-actions)  |   Ja  | 
|  [Richtlinienressourcen](#security_iam_service-with-iam-id-based-policies-resources)  |   Ja  | 
|  [Richtlinienbedingungsschlüssel (servicespezifisch)](#security_iam_service-with-iam-id-based-policies-conditionkeys)  |   Nein   | 
|  [ACLs](#security_iam_service-with-iam-acls)  |   Nein   | 
|  [ABAC (Tags in Richtlinien)](#security_iam_service-with-iam-tags)  |   Teilweise  | 
|  [Temporäre Anmeldeinformationen](#security_iam_service-with-iam-roles-tempcreds)  |   Ja  | 
|  [Prinzipalberechtigungen](#security_iam_service-with-iam-principal-permissions)  |   Ja  | 
|  [Servicerollen](#security_iam_service-with-iam-roles-service)  |   Nein   | 
|  [Serviceverknüpfte Rollen](#security_iam_service-with-iam-roles-service-linked)  |   Nein   | 

Einen allgemeinen Überblick darüber, wie CodeArtifact und andere AWS Dienste mit den meisten IAM-Funktionen funktionieren, finden Sie im [IAM-Benutzerhandbuch unter AWS Dienste, die mit *IAM* funktionieren](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html).

## Identitätsbasierte Richtlinien für CodeArtifact
<a name="security_iam_service-with-iam-id-based-policies"></a>

**Unterstützt Richtlinien auf Identitätsbasis:** Ja

Identitätsbasierte Richtlinien sind JSON-Berechtigungsrichtliniendokumente, die Sie einer Identität anfügen können, wie z. B. IAM-Benutzern, -Benutzergruppen oder -Rollen. Diese Richtlinien steuern, welche Aktionen die Benutzer und Rollen für welche Ressourcen und unter welchen Bedingungen ausführen können. Informationen zum Erstellen identitätsbasierter Richtlinien finden Sie unter [Definieren benutzerdefinierter IAM-Berechtigungen mit vom Kunden verwalteten Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) im *IAM-Benutzerhandbuch*.

Mit identitätsbasierten IAM-Richtlinien können Sie angeben, welche Aktionen und Ressourcen zugelassen oder abgelehnt werden. Darüber hinaus können Sie die Bedingungen festlegen, unter denen Aktionen zugelassen oder abgelehnt werden. Informationen zu sämtlichen Elementen, die Sie in einer JSON-Richtlinie verwenden, finden Sie in der [IAM-Referenz für JSON-Richtlinienelemente](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) im *IAM-Benutzerhandbuch*.

### Beispiele für identitätsbasierte Richtlinien für CodeArtifact
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Beispiele für CodeArtifact identitätsbasierte Richtlinien finden Sie unter. [Beispiele für identitätsbasierte Richtlinien für AWS CodeArtifact](security_iam_id-based-policy-examples.md)

## Ressourcenbasierte Richtlinien in CodeArtifact
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**Unterstützt ressourcenbasierte Richtlinien:** Ja

Ressourcenbasierte Richtlinien sind JSON-Richtliniendokumente, die Sie an eine Ressource anfügen. Beispiele für ressourcenbasierte Richtlinien sind IAM-*Rollen-Vertrauensrichtlinien* und Amazon-S3-*Bucket-Richtlinien*. In Services, die ressourcenbasierte Richtlinien unterstützen, können Service-Administratoren sie verwenden, um den Zugriff auf eine bestimmte Ressource zu steuern. Für die Ressource, an welche die Richtlinie angehängt ist, legt die Richtlinie fest, welche Aktionen ein bestimmter Prinzipal unter welchen Bedingungen für diese Ressource ausführen kann. Sie müssen in einer ressourcenbasierten Richtlinie [einen Prinzipal angeben](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html). Zu den Prinzipalen können Konten, Benutzer, Rollen, Verbundbenutzer oder gehören. AWS-Services

Um kontoübergreifenden Zugriff zu ermöglichen, können Sie ein gesamtes Konto oder IAM-Entitäten in einem anderen Konto als Prinzipal in einer ressourcenbasierten Richtlinie angeben. Weitere Informationen finden Sie unter [Kontoübergreifender Ressourcenzugriff in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) im *IAM-Benutzerhandbuch*.

## Richtlinienaktionen für CodeArtifact
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**Unterstützt Richtlinienaktionen:** Ja

Administratoren können mithilfe von AWS JSON-Richtlinien angeben, wer Zugriff auf was hat. Das heißt, welcher **Prinzipal** **Aktionen** für welche **Ressourcen** und unter welchen **Bedingungen** ausführen kann.

Das Element `Action` einer JSON-Richtlinie beschreibt die Aktionen, mit denen Sie den Zugriff in einer Richtlinie zulassen oder verweigern können. Nehmen Sie Aktionen in eine Richtlinie auf, um Berechtigungen zur Ausführung des zugehörigen Vorgangs zu erteilen.



Eine Liste der CodeArtifact Aktionen finden Sie unter [Aktionen definiert von AWS CodeArtifact](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscodeartifact.html#awscodeartifact-actions-as-permissions) in der *Serviceautorisierungsreferenz*.

Bei Richtlinienaktionen wird vor der Aktion das folgende Präfix CodeArtifact verwendet:

```
codeartifact
```

Um mehrere Aktionen in einer einzigen Anweisung anzugeben, trennen Sie sie mit Kommata:

```
"Action": [
      "codeartifact:action1",
      "codeartifact:action2"
         ]
```

Sie können auch Platzhalter verwenden, um mehrere Aktionen anzugeben. Beispielsweise können Sie alle Aktionen festlegen, die mit dem Wort `Describe` beginnen, einschließlich der folgenden Aktion:

```
"Action": "codeartifact:Describe*"
```

Beispiele für CodeArtifact identitätsbasierte Richtlinien finden Sie unter. [Beispiele für identitätsbasierte Richtlinien für AWS CodeArtifact](security_iam_id-based-policy-examples.md)

## Politische Ressourcen für CodeArtifact
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**Unterstützt Richtlinienressourcen:** Ja

Administratoren können mithilfe von AWS JSON-Richtlinien angeben, wer Zugriff auf was hat. Das heißt, welcher **Prinzipal** **Aktionen** für welche **Ressourcen** und unter welchen **Bedingungen** ausführen kann.

Das JSON-Richtlinienelement `Resource` gibt die Objekte an, auf welche die Aktion angewendet wird. Als Best Practice geben Sie eine Ressource mit dem zugehörigen [Amazon-Ressourcennamen (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) an. Verwenden Sie für Aktionen, die keine Berechtigungen auf Ressourcenebene unterstützen, einen Platzhalter (\$1), um anzugeben, dass die Anweisung für alle Ressourcen gilt.

```
"Resource": "*"
```

Eine Liste der CodeArtifact Ressourcentypen und ihrer ARNs Eigenschaften finden Sie unter [Resources defined by AWS CodeArtifact](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscodeartifact.html#awscodeartifact-resources-for-iam-policies) in der *Service Authorization Reference*. Informationen zu den Aktionen, mit denen Sie den ARN einzelner Ressourcen angeben können, finden Sie unter [Von AWS definierte AktionenCodeArtifact](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscodeartifact.html#awscodeartifact-actions-as-permissions). Beispiele für die Angabe von CodeArtifact Ressourcen ARNs in Richtlinien finden Sie unter[AWS CodeArtifact Ressourcen und Operationen](auth-and-access-control-permissions-reference.md#arn-formats).

## Bedingungsschlüssel für Richtlinien für CodeArtifact
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

**Unterstützt servicespezifische Richtlinienbedingungsschlüssel:** Nein 

Administratoren können mithilfe von AWS JSON-Richtlinien angeben, wer auf was Zugriff hat. Das heißt, welcher **Prinzipal** **Aktionen** für welche **Ressourcen** und unter welchen **Bedingungen** ausführen kann.

Das Element `Condition` gibt an, wann Anweisungen auf der Grundlage definierter Kriterien ausgeführt werden. Sie können bedingte Ausdrücke erstellen, die [Bedingungsoperatoren](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html) verwenden, z. B. ist gleich oder kleiner als, damit die Bedingung in der Richtlinie mit Werten in der Anforderung übereinstimmt. Eine Übersicht aller AWS globalen Bedingungsschlüssel finden Sie unter [Kontextschlüssel für AWS globale Bedingungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) im *IAM-Benutzerhandbuch*.

**Anmerkung**  
AWS CodeArtifact unterstützt die folgenden AWS globalen Bedingungskontextschlüssel nicht:  
 [Referer](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-referer) 
[UserAgent](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-useragent)

Eine Liste der CodeArtifact Bedingungsschlüssel finden Sie unter [Bedingungsschlüssel für AWS CodeArtifact](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscodeartifact.html#awscodeartifact-policy-keys) in der *Service Authorization Reference*. Informationen zu den Aktionen und Ressourcen, mit denen Sie einen Bedingungsschlüssel verwenden können, finden Sie unter [Aktionen definiert von AWS CodeArtifact](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscodeartifact.html#awscodeartifact-actions-as-permissions).

Beispiele für CodeArtifact identitätsbasierte Richtlinien finden Sie unter. [Beispiele für identitätsbasierte Richtlinien für AWS CodeArtifact](security_iam_id-based-policy-examples.md)

## ACLs in CodeArtifact
<a name="security_iam_service-with-iam-acls"></a>

**Unterstützt ACLs:** Nein 

Zugriffskontrolllisten (ACLs) steuern, welche Principals (Kontomitglieder, Benutzer oder Rollen) über Zugriffsberechtigungen für eine Ressource verfügen. ACLs ähneln ressourcenbasierten Richtlinien, verwenden jedoch nicht das JSON-Richtliniendokumentformat.

## ABAC mit CodeArtifact
<a name="security_iam_service-with-iam-tags"></a>

**Unterstützt ABAC (Tags in Richtlinien):** Teilweise

Die attributbasierte Zugriffskontrolle (ABAC) ist eine Autorisierungsstrategie, bei der Berechtigungen basierend auf Attributen, auch als Tags bezeichnet, definiert werden. Sie können Tags an IAM-Entitäten und AWS -Ressourcen anhängen und dann ABAC-Richtlinien entwerfen, die Operationen zulassen, wenn das Tag des Prinzipals mit dem Tag auf der Ressource übereinstimmt.

Um den Zugriff auf der Grundlage von Tags zu steuern, geben Sie im Bedingungselement einer[ Richtlinie Tag-Informationen ](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)an, indem Sie die Schlüssel `aws:ResourceTag/key-name`, `aws:RequestTag/key-name`, oder Bedingung `aws:TagKeys` verwenden.

Wenn ein Service alle drei Bedingungsschlüssel für jeden Ressourcentyp unterstützt, lautet der Wert für den Service **Ja**. Wenn ein Service alle drei Bedingungsschlüssel für nur einige Ressourcentypen unterstützt, lautet der Wert **Teilweise**.

*Weitere Informationen zu ABAC finden Sie unter [Definieren von Berechtigungen mit ABAC-Autorisierung](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) im IAM-Benutzerhandbuch*. Um ein Tutorial mit Schritten zur Einstellung von ABAC anzuzeigen, siehe [Attributbasierte Zugriffskontrolle (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html) verwenden im *IAM-Benutzerhandbuch*.

Weitere Informationen zum Markieren von CodeArtifact Ressourcen, einschließlich beispielhafter identitätsbasierter Richtlinien zur Beschränkung des Zugriffs auf eine Ressource auf der Grundlage der Tags auf dieser Ressource, finden Sie unter. [Verwendung von Tags zur Steuerung des Zugriffs auf CodeArtifact Ressourcen](tag-based-access-control.md)

## Verwenden temporärer Anmeldeinformationen mit CodeArtifact
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**Unterstützt temporäre Anmeldeinformationen:** Ja

Temporäre Anmeldeinformationen ermöglichen kurzfristigen Zugriff auf AWS Ressourcen und werden automatisch erstellt, wenn Sie einen Verbund verwenden oder die Rollen wechseln. AWS empfiehlt, temporäre Anmeldeinformationen dynamisch zu generieren, anstatt langfristige Zugriffsschlüssel zu verwenden. Weitere Informationen finden Sie unter [Temporäre Anmeldeinformationen in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) und [AWS-Services , die mit IAM funktionieren](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) im *IAM-Benutzerhandbuch*.

## Serviceübergreifende Prinzipalberechtigungen für CodeArtifact
<a name="security_iam_service-with-iam-principal-permissions"></a>

**Unterstützt Forward Access Sessions (FAS):** Ja

 Forward Access Sessions (FAS) verwenden die Berechtigungen des Prinzipals, der einen aufruft AWS-Service, in Kombination mit der Anforderung, Anfragen an nachgelagerte Dienste AWS-Service zu stellen. Einzelheiten zu den Richtlinien für FAS-Anforderungen finden Sie unter [Zugriffssitzungen weiterleiten](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html). 

Es gibt zwei CodeArtifact API-Aktionen, für die der aufrufende Principal über Berechtigungen für andere Dienste verfügen muss:

1. `GetAuthorizationToken`benötigt `sts:GetServiceBearerToken` zusammen mit`codeartifact:GetAuthorizationToken`.

1. `CreateDomain`, erfordert bei der Bereitstellung eines nicht standardmäßigen Verschlüsselungsschlüssels `kms:DescribeKey` sowohl als auch `kms:CreateGrant` den KMS-Schlüssel zusammen mit`codeartifact:CreateDomain`.

Weitere Informationen zu den erforderlichen Berechtigungen und Ressourcen für Aktionen in finden Sie CodeArtifact unter[AWS CodeArtifact Referenz zu Berechtigungen](auth-and-access-control-permissions-reference.md).

## Servicerollen für CodeArtifact
<a name="security_iam_service-with-iam-roles-service"></a>

**Unterstützt Servicerollen:** Nein 

 Eine Servicerolle ist eine [IAM-Rolle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html), die ein Service annimmt, um Aktionen in Ihrem Namen auszuführen. Ein IAM-Administrator kann eine Servicerolle innerhalb von IAM erstellen, ändern und löschen. Weitere Informationen finden Sie unter [Erstellen einer Rolle zum Delegieren von Berechtigungen an einen AWS-Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) im *IAM-Benutzerhandbuch*. 

**Warnung**  
Durch das Ändern der Berechtigungen für eine Servicerolle kann die CodeArtifact Funktionalität beeinträchtigt werden. Bearbeiten Sie Servicerollen nur, CodeArtifact wenn Sie dazu eine Anleitung erhalten.

## Dienstbezogene Rollen für CodeArtifact
<a name="security_iam_service-with-iam-roles-service-linked"></a>

**Unterstützt serviceverknüpfte Rollen:** Ja 

 Eine dienstbezogene Rolle ist eine Art von Servicerolle, die mit einer verknüpft ist. AWS-Service Der Service kann die Rolle übernehmen, um eine Aktion in Ihrem Namen auszuführen. Dienstbezogene Rollen werden in Ihrem Dienst angezeigt AWS-Konto und gehören dem Dienst. Ein IAM-Administrator kann die Berechtigungen für Service-verknüpfte Rollen anzeigen, aber nicht bearbeiten. 

Details zum Erstellen oder Verwalten von serviceverknüpften Rollen finden Sie unter [AWS -Services, die mit IAM funktionieren](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html). Suchen Sie in der Tabelle nach einem Service mit einem `Yes` in der Spalte **Service-linked role** (Serviceverknüpfte Rolle). Wählen Sie den Link **Yes** (Ja) aus, um die Dokumentation für die serviceverknüpfte Rolle für diesen Service anzuzeigen.

# Beispiele für identitätsbasierte Richtlinien für AWS CodeArtifact
<a name="security_iam_id-based-policy-examples"></a>

Benutzer und Rollen haben standardmäßig nicht die Berechtigung, CodeArtifact-Ressourcen zu erstellen oder zu ändern. Ein IAM-Administrator muss IAM-Richtlinien erstellen, die Benutzern die Berechtigung erteilen, Aktionen für die Ressourcen auszuführen, die sie benötigen.

Informationen dazu, wie Sie unter Verwendung dieser beispielhaften JSON-Richtliniendokumente eine identitätsbasierte IAM-Richtlinie erstellen, finden Sie unter [Erstellen von IAM-Richtlinien (Konsole)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) im *IAM-Benutzerhandbuch*.

Einzelheiten zu Aktionen und Ressourcentypen, die von definiert wurden CodeArtifact, einschließlich des Formats von ARNs für die einzelnen Ressourcentypen, finden Sie unter [Aktionen, Ressourcen und Bedingungsschlüssel für AWS CodeArtifact](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscodeartifact.html) in der Referenz zur *Serviceautorisierung*.

**Topics**
+ [Best Practices für Richtlinien](#security_iam_service-with-iam-policy-best-practices)
+ [Verwenden der Konsole CodeArtifact](#security_iam_id-based-policy-examples-console)
+ [Von AWS verwaltete (vordefinierte) Richtlinien für AWS CodeArtifact](#managed-policies)
+ [Erlauben Sie einem Benutzer, seine eigenen Berechtigungen einzusehen](#security_iam_id-based-policy-examples-view-own-permissions)
+ [Erlaubt einem Benutzer, Informationen über Repositorys und Domänen abzurufen](#security_iam_id-based-policy-examples-repos-and-domains)
+ [Erlauben Sie einem Benutzer, Informationen zu bestimmten Domänen abzurufen](#security_iam_id-based-policy-examples-specific-domains)
+ [Erlaubt einem Benutzer, Informationen über bestimmte Repositorys abzurufen](#security_iam_id-based-policy-examples-specific-repos)
+ [Die Dauer des Autorisierungstokens](#limit-token-duration)

## Best Practices für Richtlinien
<a name="security_iam_service-with-iam-policy-best-practices"></a>

Identitätsbasierte Richtlinien legen fest, ob jemand CodeArtifact Ressourcen in Ihrem Konto erstellen, darauf zugreifen oder sie löschen kann. Dies kann zusätzliche Kosten für Ihr verursachen AWS-Konto. Beachten Sie beim Erstellen oder Bearbeiten identitätsbasierter Richtlinien die folgenden Richtlinien und Empfehlungen:
+ **Erste Schritte mit AWS verwalteten Richtlinien und Umstellung auf Berechtigungen mit den geringsten Rechten** — Verwenden Sie die *AWS verwalteten Richtlinien*, die Berechtigungen für viele gängige Anwendungsfälle gewähren, um damit zu beginnen, Ihren Benutzern und Workloads Berechtigungen zu gewähren. Sie sind in Ihrem verfügbar. AWS-Konto Wir empfehlen Ihnen, die Berechtigungen weiter zu reduzieren, indem Sie vom AWS Kunden verwaltete Richtlinien definieren, die speziell auf Ihre Anwendungsfälle zugeschnitten sind. Weitere Informationen finden Sie unter [Von AWS verwaltete Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) oder [Von AWS verwaltete Richtlinien für Auftragsfunktionen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) im *IAM-Benutzerhandbuch*.
+ **Anwendung von Berechtigungen mit den geringsten Rechten** – Wenn Sie mit IAM-Richtlinien Berechtigungen festlegen, gewähren Sie nur die Berechtigungen, die für die Durchführung einer Aufgabe erforderlich sind. Sie tun dies, indem Sie die Aktionen definieren, die für bestimmte Ressourcen unter bestimmten Bedingungen durchgeführt werden können, auch bekannt als *die geringsten Berechtigungen*. Weitere Informationen zur Verwendung von IAM zum Anwenden von Berechtigungen finden Sie unter [ Richtlinien und Berechtigungen in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) im *IAM-Benutzerhandbuch*.
+ **Verwenden von Bedingungen in IAM-Richtlinien zur weiteren Einschränkung des Zugriffs** – Sie können Ihren Richtlinien eine Bedingung hinzufügen, um den Zugriff auf Aktionen und Ressourcen zu beschränken. Sie können beispielsweise eine Richtlinienbedingung schreiben, um festzulegen, dass alle Anforderungen mithilfe von SSL gesendet werden müssen. Sie können auch Bedingungen verwenden, um Zugriff auf Serviceaktionen zu gewähren, wenn diese für einen bestimmten Zweck verwendet werden AWS-Service, z. CloudFormation B. Weitere Informationen finden Sie unter [IAM-JSON-Richtlinienelemente: Bedingung](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) im *IAM-Benutzerhandbuch*.
+ **Verwenden von IAM Access Analyzer zur Validierung Ihrer IAM-Richtlinien, um sichere und funktionale Berechtigungen zu gewährleisten** – IAM Access Analyzer validiert neue und vorhandene Richtlinien, damit die Richtlinien der IAM-Richtliniensprache (JSON) und den bewährten IAM-Methoden entsprechen. IAM Access Analyzer stellt mehr als 100 Richtlinienprüfungen und umsetzbare Empfehlungen zur Verfügung, damit Sie sichere und funktionale Richtlinien erstellen können. Weitere Informationen finden Sie unter [Richtlinienvalidierung mit IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) im *IAM-Benutzerhandbuch*.
+ **Multi-Faktor-Authentifizierung (MFA) erforderlich** — Wenn Sie ein Szenario haben, das IAM-Benutzer oder einen Root-Benutzer in Ihrem System erfordert AWS-Konto, aktivieren Sie MFA für zusätzliche Sicherheit. Um MFA beim Aufrufen von API-Vorgängen anzufordern, fügen Sie Ihren Richtlinien MFA-Bedingungen hinzu. Weitere Informationen finden Sie unter [Sicherer API-Zugriff mit MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) im *IAM-Benutzerhandbuch*.

Weitere Informationen zu bewährten Methoden in IAM finden Sie unter [Best Practices für die Sicherheit in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) im *IAM-Benutzerhandbuch*.

## Verwenden der Konsole CodeArtifact
<a name="security_iam_id-based-policy-examples-console"></a>

Um auf die AWS CodeArtifact Konsole zugreifen zu können, benötigen Sie ein Mindestmaß an Berechtigungen. Diese Berechtigungen müssen es Ihnen ermöglichen, Details zu den CodeArtifact Ressourcen in Ihrem aufzulisten und anzuzeigen AWS-Konto. Wenn Sie eine identitätsbasierte Richtlinie erstellen, die strenger ist als die mindestens erforderlichen Berechtigungen, funktioniert die Konsole nicht wie vorgesehen für Entitäten (Benutzer oder Rollen) mit dieser Richtlinie.

Sie müssen Benutzern, die nur die API AWS CLI oder die AWS API aufrufen, keine Mindestberechtigungen für die Konsole gewähren. Stattdessen sollten Sie nur Zugriff auf die Aktionen zulassen, die der API-Operation entsprechen, die die Benutzer ausführen möchten.

Um sicherzustellen, dass Benutzer und Rollen die CodeArtifact Konsole weiterhin verwenden können, fügen Sie den Entitäten auch die `AWSCodeArtifactAdminAccess` oder die `AWSCodeArtifactReadOnlyAccess` AWS verwaltete Richtlinie hinzu. Weitere Informationen finden Sie unter [Hinzufügen von Berechtigungen zu einem Benutzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) im *IAM-Benutzerhandbuch*.

## Von AWS verwaltete (vordefinierte) Richtlinien für AWS CodeArtifact
<a name="managed-policies"></a>

AWS adressiert viele gängige Anwendungsfälle durch die Bereitstellung eigenständiger IAM-Richtlinien, die von erstellt und verwaltet AWS werden. Diese AWS verwalteten Richtlinien gewähren die erforderlichen Berechtigungen für allgemeine Anwendungsfälle, sodass Sie nicht erst untersuchen müssen, welche Berechtigungen benötigt werden. Weitere Informationen finden Sie unter [AWS-verwaltete Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) im *IAM Benutzerhandbuch*.

Die folgenden AWS verwalteten Richtlinien, die Sie Benutzern in Ihrem Konto zuordnen können, sind spezifisch für AWS CodeArtifact.
+ `AWSCodeArtifactAdminAccess`— Bietet vollen Zugriff, CodeArtifact einschließlich der Berechtigungen zur Verwaltung von CodeArtifact Domänen. 

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

****  

  ```
  {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
        {
           "Action": [
              "codeartifact:*"
           ],
           "Effect": "Allow",
           "Resource": "*"
        },
        {
           "Effect": "Allow",
           "Action": "sts:GetServiceBearerToken",
           "Resource": "*",
           "Condition": {
              "StringEquals": {
                 "sts:AWSServiceName": "codeartifact.amazonaws.com"
              }
           }
        }
     ]
  }
  ```

------
+ `AWSCodeArtifactReadOnlyAccess`— Bietet schreibgeschützten Zugriff auf. CodeArtifact

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

****  

  ```
  {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
        {
           "Action": [
              "codeartifact:Describe*",
              "codeartifact:Get*",
              "codeartifact:List*",
              "codeartifact:ReadFromRepository"
           ],
           "Effect": "Allow",
           "Resource": "*"
        },
        {
           "Effect": "Allow",
           "Action": "sts:GetServiceBearerToken",
           "Resource": "*",
           "Condition": {
              "StringEquals": {
                 "sts:AWSServiceName": "codeartifact.amazonaws.com"
              }
           }
        }  
     ]
  }
  ```

------

Um CodeArtifact Servicerollen zu erstellen und zu verwalten, müssen Sie auch die AWS verwaltete Richtlinie mit dem Namen anhängen. `IAMFullAccess`

Sie können auch Ihre eigenen, benutzerdefinierten IAM-Richtlinien erstellen, um Berechtigungen für CodeArtifact-Aktionen und -Ressourcen zu gewähren. Die benutzerdefinierten Richtlinien können Sie dann den IAM-Benutzern oder -Gruppen zuweisen, die diese Berechtigungen benötigen.

## Erlauben Sie einem Benutzer, seine eigenen Berechtigungen einzusehen
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

In diesem Beispiel wird gezeigt, wie Sie eine Richtlinie erstellen, die IAM-Benutzern die Berechtigung zum Anzeigen der eingebundenen Richtlinien und verwalteten Richtlinien gewährt, die ihrer Benutzeridentität angefügt sind. Diese Richtlinie umfasst Berechtigungen zum Ausführen dieser Aktion auf der Konsole oder programmgesteuert mithilfe der AWS CLI AWS OR-API.

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

## Erlaubt einem Benutzer, Informationen über Repositorys und Domänen abzurufen
<a name="security_iam_id-based-policy-examples-repos-and-domains"></a>

Die folgende Richtlinie ermöglicht es einem IAM-Benutzer oder einer IAM-Rolle, jede Art von CodeArtifact Ressource aufzulisten und zu beschreiben, einschließlich Domänen, Repositorys, Pakete und Ressourcen. Die Richtlinie beinhaltet auch die `codeArtifact:ReadFromRepository` Berechtigung, die es dem Prinzipal ermöglicht, Pakete aus einem Repository abzurufen. CodeArtifact Es erlaubt nicht, neue Domänen oder Repositorys zu erstellen und neue Pakete zu veröffentlichen.

Die `sts:GetServiceBearerToken` Berechtigungen `codeartifact:GetAuthorizationToken` und sind erforderlich, um die `GetAuthorizationToken` API aufzurufen.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect": "Allow",
         "Action": [
            "codeartifact:List*",
            "codeartifact:Describe*",
            "codeartifact:Get*",
            "codeartifact:Read*"
         ],
         "Resource": "*"      
      },
      {
         "Effect": "Allow",
         "Action": "sts:GetServiceBearerToken",
         "Resource": "*",
         "Condition": {
            "StringEquals": {
               "sts:AWSServiceName": "codeartifact.amazonaws.com"
            }
         }
      }
   ]
}
```

------

## Erlauben Sie einem Benutzer, Informationen zu bestimmten Domänen abzurufen
<a name="security_iam_id-based-policy-examples-specific-domains"></a>

Im Folgenden finden Sie ein Beispiel für eine Berechtigungsrichtlinie, die es einem Benutzer ermöglicht, nur Domänen in der `us-east-2` Region für Konten `123456789012` für jede Domäne aufzulisten, die mit dem Namen beginnen`my`.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect": "Allow",
         "Action": "codeartifact:ListDomains",
         "Resource": "arn:aws:codeartifact:us-east-2:111122223333:domain/my*"      
      }
   ]
}
```

------

## Erlaubt einem Benutzer, Informationen über bestimmte Repositorys abzurufen
<a name="security_iam_id-based-policy-examples-specific-repos"></a>

Im Folgenden finden Sie ein Beispiel für eine Berechtigungsrichtlinie, die es einem Benutzer ermöglicht, Informationen über Repositorys abzurufen, die mit enden`test`, einschließlich Informationen über die darin enthaltenen Pakete. Der Benutzer kann keine Ressourcen veröffentlichen, erstellen oder löschen.

Die `sts:GetServiceBearerToken` Berechtigungen `codeartifact:GetAuthorizationToken` und sind erforderlich, um die `GetAuthorizationToken` API aufzurufen.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect": "Allow",
         "Action": [
            "codeartifact:List*",
            "codeartifact:Describe*",
            "codeartifact:Get*",
            "codeartifact:Read*"
         ],
         "Resource": "arn:aws:codeartifact:*:*:repository/*/*test"      
      },
      {
         "Effect": "Allow",
         "Action": [
            "codeartifact:List*",
            "codeartifact:Describe*"
         ],
         "Resource": "arn:aws:codeartifact:*:*:package/*/*test/*/*/*"   
      },
      {
         "Effect": "Allow",
         "Action": "sts:GetServiceBearerToken",
         "Resource": "*",
         "Condition": {
            "StringEquals": {
               "sts:AWSServiceName": "codeartifact.amazonaws.com"
            }
         }
      },
      {
         "Effect": "Allow",
         "Action": "codeartifact:GetAuthorizationToken",
         "Resource": "*"
      }
   ]
}
```

------

## Die Dauer des Autorisierungstokens
<a name="limit-token-duration"></a>

Benutzer müssen sich CodeArtifact mit Autorisierungstoken authentifizieren, um Paketversionen zu veröffentlichen oder zu nutzen. Autorisierungstoken sind nur während ihrer konfigurierten Lebensdauer gültig. Token haben eine Standardlebensdauer von 12 Stunden. Weitere Informationen zu Autorisierungstoken finden Sie unter[AWS CodeArtifact Authentifizierung und Tokens](tokens-authentication.md).

Beim Abrufen eines Tokens können Benutzer die Lebensdauer des Tokens konfigurieren. Gültige Werte für die Lebensdauer eines Autorisierungstokens sind `0` und eine beliebige Zahl zwischen `900` (15 Minuten) und `43200` (12 Stunden). Mit dem Wert von `0` wird ein Token mit einer Dauer erstellt, die den temporären Anmeldeinformationen der Benutzerrolle entspricht.

Administratoren können die gültigen Werte für die Gültigkeitsdauer eines Autorisierungstokens einschränken, indem sie den `sts:DurationSeconds` Bedingungsschlüssel in der Berechtigungsrichtlinie verwenden, die dem Benutzer oder der Gruppe zugewiesen ist. Wenn der Benutzer versucht, ein Autorisierungstoken mit einer Gültigkeitsdauer außerhalb der gültigen Werte zu erstellen, schlägt die Tokenerstellung fehl.

Die folgenden Beispielrichtlinien begrenzen die mögliche Dauer eines von CodeArtifact Benutzern erstellten Autorisierungstokens.

**Beispielrichtlinie: Beschränken Sie die Lebensdauer eines Tokens auf genau 12 Stunden (43200 Sekunden)**

Mit dieser Richtlinie können Benutzer nur Autorisierungstoken mit einer Lebensdauer von 12 Stunden erstellen.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "codeartifact:*",
            "Resource": "*"
        },
        {
            "Sid": "sts",
            "Effect": "Allow",
            "Action": "sts:GetServiceBearerToken",
            "Resource": "*",
            "Condition": {
                "NumericEquals": {
                    "sts:DurationSeconds": 43200
                },
                "StringEquals": {
                    "sts:AWSServiceName": "codeartifact.amazonaws.com"
                }
            }
        }
    ]
}
```

------

**Beispielrichtlinie: Beschränken Sie die Gültigkeitsdauer von Token auf 15 Minuten bis 1 Stunde oder entspricht dem Zeitraum der temporären Anmeldeinformationen des Benutzers**

Mit dieser Richtlinie können Benutzer Token erstellen, die zwischen 15 Minuten und 1 Stunde gültig sind. Benutzer können auch ein Token erstellen, das für die Dauer der temporären Anmeldeinformationen ihrer Rolle gültig ist, indem sie `0` für angeben`--durationSeconds`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "codeartifact:*",
            "Resource": "*"
        },
        {
            "Sid": "sts",
            "Effect": "Allow",
            "Action": "sts:GetServiceBearerToken",
            "Resource": "*",
            "Condition": {
                "NumericLessThanEquals": {
                    "sts:DurationSeconds": 3600
                },
                "StringEquals": {
                    "sts:AWSServiceName": "codeartifact.amazonaws.com"
                }
            }
        }
    ]
}
```

------







# Verwendung von Tags zur Steuerung des Zugriffs auf CodeArtifact Ressourcen
<a name="tag-based-access-control"></a>

Bedingungen in IAM-Benutzerrichtlinienanweisungen sind Teil der Syntax, mit der Sie Berechtigungen für Ressourcen angeben, die für Aktionen erforderlich sind. CodeArtifact Das Verwenden von Tags in Bedingungen ist eine Möglichkeit zur Kontrolle des Zugriffs auf Ressourcen und Anfragen. Informationen zum Markieren von CodeArtifact Ressourcen finden Sie unter. [Taggen von -Ressourcen](tag-resources.md) Dieses Thema behandelt die Tag-basierte Zugriffskontrolle.

Wenn Sie IAM-Richtlinien entwerfen, können Sie präzise abgestufte Berechtigungen festlegen, indem Sie Zugriff auf bestimmte Ressourcen gewähren. Mit zunehmender Anzahl der Ressourcen, die Sie verwalten, wird diese Aufgabe erschwert. Durch Markieren von Ressourcen und Verwenden von Tags in Richtlinienanweisungsbedingungen lässt sich diese Aufgabe vereinfachen. Sie erteilen Massenzugriff auf eine beliebige Ressource mit einem bestimmten Tag. Anschließend wenden Sie dieses Tag während der Erstellung oder zu einem späteren Zeitpunkt wiederholt auf relevante Ressourcen an.

Markierungen können an die Ressource angehängt oder in der Anfrage an Services übergeben werden, die das Markieren unterstützen. In CodeArtifact können Ressourcen Tags haben, und einige Aktionen können Tags enthalten. Wenn Sie eine IAM-Richtlinie erstellen, können Sie Tag-Bedingungsschlüssel verwenden, um Folgendes zu kontrollieren:
+ Welche Benutzer auf der Grundlage von bereits vorhandenen Tags Aktionen für eine Domain oder Repository-Ressource ausführen können.
+ Welche Tags in der Anforderung einer Aktion übergeben werden können.
+ Ob bestimmte Tag-Schlüssel in einer Anforderung verwendet werden können.

Die vollständige Syntax und Semantik der Tag-Bedingungsschlüssel finden Sie unter [Steuern des Zugriffs mit Tags](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html) im *IAM-Benutzerhandbuch*.

**Wichtig**  
Wenn Sie Tags für Ressourcen verwenden, um Aktionen einzuschränken, müssen sich die Tags auf der Ressource befinden, auf der die Aktion ausgeführt wird. Um beispielsweise `DescribeRepository` Berechtigungen mit Tags zu verweigern, müssen sich die Tags in jedem Repository und nicht in der Domain befinden. Eine Liste der Aktionen CodeArtifact und der Ressourcen, auf denen sie ausgeführt werden, finden [AWS CodeArtifact Referenz zu Berechtigungen](auth-and-access-control-permissions-reference.md) Sie unter.

## Beispiele für Tag-basierte Zugriffskontrolle
<a name="tag-based-access-control-examples"></a>

Die folgenden Beispiele zeigen, wie Sie Tag-Bedingungen in Richtlinien für CodeArtifact -Benutzer festlegen.

**Example 1: Einschränken von Aktionen basierend auf Tags in der Anforderung**  
Die Richtlinie für `AWSCodeArtifactAdminAccess` verwaltete Benutzer gibt Benutzern uneingeschränkte Rechte, jede CodeArtifact Aktion auf einer beliebigen Ressource auszuführen.  
Die folgende Richtlinie schränkt diese Befugnis ein und verweigert nicht autorisierten Benutzern die Erlaubnis, Repositorys zu erstellen, sofern die Anfrage nicht bestimmte Tags enthält. Zu diesem Zweck wird die `CreateRepository` Aktion verweigert, wenn in der Anfrage kein Tag angegeben ist, das `costcenter` mit einem der Werte oder benannt ist. `1` `2` Der Administrator eines Kunden muss diese IAM-Richtlinie nicht autorisierten IAM-Benutzern hinzufügen, zusätzlich zu der verwalteten Benutzerrichtlinie.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": "codeartifact:CreateRepository",
      "Resource": "*",
      "Condition": {
        "Null": {
          "aws:RequestTag/costcenter": "true"
        }
      }
    },
    {
      "Effect": "Deny",
      "Action": "codeartifact:CreateRepository",
      "Resource": "*",
      "Condition": {
          "ForAnyValue:StringNotEquals": {
              "aws:RequestTag/costcenter": [
                  "1",
                  "2"
              ]
          }
      }
  }
  ]
}
```

**Example 2: Einschränken von Aktionen basierend auf Ressourcen-Tags**  
Die Richtlinie für `AWSCodeArtifactAdminAccess` verwaltete Benutzer gibt Benutzern uneingeschränkte Rechte, jede CodeArtifact Aktion auf einer beliebigen Ressource auszuführen.  
Die folgende Richtlinie schränkt diese Befugnis ein und verweigert nicht autorisierten Benutzern die Erlaubnis, Aktionen an Repositorys in bestimmten Domänen durchzuführen. Hierfür verweigert sie einige Aktionen, wenn die Ressource über ein Tag mit dem Namen `Key1` und einem der Werte `Value1` oder `Value2` verfügt. (Der Bedingungsschlüssel `aws:ResourceTag` wird verwendet, um den Zugriff auf die Ressourcen auf der Grundlage der Tags dieser Ressourcen zu steuern.) Der Administrator eines Kunden muss diese IAM-Richtlinie nicht autorisierten IAM-Benutzern hinzufügen, zusätzlich zu der verwalteten Benutzerrichtlinie.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "codeartifact:TagResource",
        "codeartifact:UntagResource",
        "codeartifact:DescribeDomain",
        "codeartifact:DescribeRepository",
        "codeartifact:PutDomainPermissionsPolicy",
        "codeartifact:PutRepositoryPermissionsPolicy",
        "codeartifact:ListRepositoriesInDomain",
        "codeartifact:UpdateRepository",
        "codeartifact:ReadFromRepository",
        "codeartifact:ListPackages",
        "codeartifact:ListTagsForResource"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/Key1": ["Value1", "Value2"]
        }
      }
    }
  ]
}
```

**Example 3: Erlaube Aktionen, die auf Ressourcen-Tags basieren**  
Die folgende Richtlinie gewährt Benutzern die Erlaubnis, Aktionen an Repositorys und Paketen durchzuführen und Informationen darüber abzurufen. CodeArtifact  
Zu diesem Zweck sind bestimmte Aktionen zulässig, wenn das Repository über ein Tag verfügt, das `Key1` mit diesem Wert `Value1` benannt ist. (Der Bedingungsschlüssel `aws:RequestTag` wird verwendet, um zu steuern, welche Tags in einer IAM-Anforderung übergeben werden können.) Die Bedingung `aws:TagKeys` stellt sicher, dass bei Tag-Schlüsseln die Groß- und Kleinschreibung beachtet wird. Diese Richtlinie ist nützlich für IAM-Benutzer, denen die `AWSCodeArtifactAdminAccess`-Richtlinie für verwaltete Benutzer nicht angefügt ist. Die verwaltete Richtlinie gibt Benutzern uneingeschränkte Rechte, jede CodeArtifact Aktion auf einer beliebigen Ressource auszuführen.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "codeartifact:UpdateRepository",
        "codeartifact:DeleteRepository",
        "codeartifact:ListPackages"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/Key1": "Value1"
        }
      }
    }
  ]
}
```

**Example 4: Erlaube Aktionen, die auf Tags in der Anfrage basieren**  
Die folgende Richtlinie gewährt Benutzern die Erlaubnis, Repositorys in bestimmten Domänen in CodeArtifact zu erstellen.  
Zu diesem Zweck sind die `TagResource` Aktionen `CreateRepository` und zulässig, wenn die Create-Resource-API in der Anfrage ein Tag `Key1` mit dem Namen des Werts `Value1` angibt. (Der Bedingungsschlüssel `aws:RequestTag` wird verwendet, um zu steuern, welche Tags in einer IAM-Anforderung übergeben werden können.) Die Bedingung `aws:TagKeys` stellt sicher, dass bei Tag-Schlüsseln die Groß- und Kleinschreibung beachtet wird. Diese Richtlinie ist nützlich für IAM-Benutzer, denen die `AWSCodeArtifactAdminAccess`-Richtlinie für verwaltete Benutzer nicht angefügt ist. Die verwaltete Richtlinie gibt Benutzern uneingeschränkte Rechte, jede CodeArtifact Aktion auf einer beliebigen Ressource auszuführen.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "codeartifact:CreateRepository",
        "codeartifact:TagResource"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/Key1": "Value1"
        }
      }
    }
  ]
}
```

# AWS CodeArtifact Referenz zu Berechtigungen
<a name="auth-and-access-control-permissions-reference"></a>

## AWS CodeArtifact Ressourcen und Operationen
<a name="arn-formats"></a>

In AWS CodeArtifact, die primäre Ressource ist eine Domain. In einer Richtlinie identifizieren Sie die Ressource, für welche die Richtlinie gilt, mithilfe eines Amazon-Ressourcennamens (ARN). Repositorien sind ebenfalls Ressourcen und wurden mit ihnen ARNs verknüpft. Weitere Informationen finden Sie unter [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in der *Allgemeine Amazon Web Services-Referenz*.


| Ressourcentyp | ARN-Format | 
| --- | --- | 
| Domain |  `arn:aws:codeartifact:region-ID:account-ID:domain/my_domain`  | 
| Repository |  `arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo`  | 
| Paketgruppe |  `arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern`  | 
| Package mit einem Namespace |  `arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package`  | 
| Package ohne Namespace |  `arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format//my_package`  | 
|  Alle Ressourcen CodeArtifact   |  `arn:aws:codeartifact:*`  | 
|  Alle CodeArtifact Ressourcen, die dem angegebenen Konto in der angegebenen AWS-Region gehören  |  `arn:aws:codeartifact:region-ID:account-ID:*`  | 

Welchen Ressourcen-ARN Sie angeben, hängt davon ab, auf welche Aktion oder Aktionen Sie den Zugriff kontrollieren möchten.

Sie können in Ihrer Anweisung eine bestimmte Domain (*myDomain*) mit ihrem ARN wie folgt angeben.

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

Sie können in Ihrer Anweisung ein bestimmtes Repository (*myRepo*) mit seinem ARN wie folgt angeben.

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

Um mehrere Ressourcen in einer einzigen Anweisung anzugeben, trennen Sie sie ARNs durch Kommas. Die folgende Aussage gilt für alle Pakete und Repositorys in einer bestimmten Domäne.

```
"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/*"
]
```

**Anmerkung**  
Viele AWS Dienste behandeln einen Doppelpunkt (:) oder einen Schrägstrich (/) als dasselbe Zeichen in. ARNs CodeArtifact Verwendet jedoch eine exakte Übereinstimmung in den Ressourcenmustern und Regeln. Verwenden Sie also die richtigen Zeichen zum Erstellen von Ereignismustern, sodass sie mit der ARN-Syntax in der Ressource übereinstimmen.

## AWS CodeArtifact API-Operationen und Berechtigungen
<a name="permission-ref"></a>

Sie können die folgende Tabelle als Referenz verwenden, wenn Sie Zugriffskontrolle einrichten und Berechtigungsrichtlinien schreiben, die Sie einer IAM-Identität zuordnen können (identitätsbasierte Richtlinien). 

Sie können in Ihren AWS CodeArtifact Richtlinien AWS allgemeine Bedingungsschlüssel verwenden, um Bedingungen auszudrücken. Eine Liste finden Sie unter [IAM JSON Policy Elements Reference](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys) im *IAM-Benutzerhandbuch*.

Sie geben die Aktionen im Feld `Action` der Richtlinie an. Um eine Aktion anzugeben, verwenden Sie das Präfix `codeartifact:` gefolgt vom Namen der API-Operation (z. B. `codeartifact:CreateDomain` und `codeartifact:AssociateExternalConnection`). Um mehrere Aktionen in einer einzigen Anweisung anzugeben, trennen Sie sie mit Komma (z. B. `"Action": [ "codeartifact:CreateDomain", "codeartifact:AssociateExternalConnection" ]`).

**Verwenden von Platzhalterzeichen**

Sie geben einen ARN mit oder ohne Platzhalterzeichen (\$1) als Ressourcenwert im Feld `Resource` der Richtlinie an. Sie können das Platzhalterzeichen verwenden, um mehrere Aktionen oder Ressourcen anzugeben. `codeartifact:*`Gibt beispielsweise alle Aktionen an und `codeartifact:Describe*` gibt alle CodeArtifact CodeArtifact Aktionen an, die mit dem Wort `Describe` beginnen.


**CodeArtifact API-Operationen und erforderliche Berechtigungen für Aktionen**  

| AWS CodeArtifact API-Operationen | Erforderliche Berechtigungen (API-Aktionen) | Ressourcen | 
| --- | --- | --- | 
| AssociateExternalConnection |  `codeartifact:AssociateExternalConnection` Erforderlich, um eine externe Verbindung zu einem Repository hinzuzufügen.  |  `arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo`  | 
| CopyPackageVersions |  Um Paketversionen von einem Quell-Repository in ein Ziel-Repository zu kopieren: `codeartifact:CopyPackageVersions` Für das Ziel-Repository erforderlich. `codeartifact:ReadFromRepository` Für das Quell-Repository erforderlich.  |  `arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo`  | 
| CreateDomain |  `codeartifact:CreateDomain` Erforderlich, um Domänen zu erstellen. `kms:DescribeKey` und `kms:CreateGrant` Erforderlich für den angegebenen KMS-Schlüssel, wenn ein anderer als der `encryptionKey` Standardschlüssel angegeben wird.  |  `arn:aws:codeartifact:region-ID:account-ID:domain/my_domain`  | 
| CreatePackageGroup |  `codeartifact:CreatePackageGroup` Erforderlich, um Paketgruppen zu erstellen.  |  `arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern`  | 
| CreateRepository |  `codeartifact:CreateRepository` Erforderlich, um Repositorys zu erstellen. `codeartifact:AssociateWithDownstreamRepository` Erforderlich für ein Repository, damit es als Upstream-Repository zu Downstream-Repositorys hinzugefügt werden kann.  |  `arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo`  | 
| DeleteDomain |  `codeartifact:DeleteDomain` Erforderlich, um Domänen zu löschen.  |  `arn:aws:codeartifact:region-ID:account-ID:domain/my_domain`  | 
| DeleteDomainPermissionsPolicy |  `codeartifact:DeleteDomainPermissionsPolicy` Erforderlich, um die Ressourcenrichtlinie einer Domain zu löschen.  |  `arn:aws:codeartifact:region-ID:account-ID:domain/my_domain`  | 
| DeletePackage |  `codeartifact:DeletePackage` Erforderlich, um ein Paket zu löschen.  |  `arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package`  | 
| DeletePackageGroup |  `codeartifact:DeletePackageGroup` Erforderlich, um eine Paketgruppe zu löschen.  |  `arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern`  | 
| DeletePackageVersions |  `codeartifact:DeletePackageVersions` Erforderlich, um Versionen eines Pakets zu löschen.  |  `arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package`  | 
| DeleteRepository |  `codeartifact:DeleteRepository` Erforderlich zum Löschen eines -Repositorys.  |  `arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo`  | 
| DeleteRepositoryPermissionsPolicy |  `codeartifact:DeleteRepositoryPermissionsPolicy` Erforderlich, um die Ressourcenrichtlinie eines Repositorys zu löschen.  |  `arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo`  | 
| DescribeDomain |  `codeartifact:DescribeDomain` Erforderlich, um Informationen über eine Domain abzurufen.  |  `arn:aws:codeartifact:region-ID:account-ID:domain/my_domain`  | 
| DescribePackage |  `codeartifact:DescribePackage` Erforderlich, um Informationen über ein Paket zu erhalten.  |  `arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package`  | 
| DescribePackageGroup |  `codeartifact:DescribePackageGroup` Erforderlich, um Informationen über eine Paketgruppe abzurufen.  |  `arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern`  | 
| DescribePackageVersion |  `codeartifact:DescribePackageVersion` Erforderlich, um Informationen über eine Paketversion abzurufen.  |  `arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package`  | 
| DescribeRepository |  `codeartifact:DescribeRepository` Erforderlich, um Informationen über ein Repository abzurufen.  |  `arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo`  | 
| DisassociateExternalConnection |  `codeartifact:DisassociateExternalConnection` Erforderlich, um eine externe Verbindung aus einem Repository zu entfernen.  |  `arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo`  | 
| DisposePackageVersions |  `codeartifact:DisposePackageVersions` Erforderlich, um Versionen eines Pakets zu löschen.  |  `arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package`  | 
| GetAssociatedPackageGroup |  `codeartifact:GetAssociatedPackageGroup` Erforderlich, um die zugehörige Paketgruppe eines Pakets abzurufen.  |  `arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern`  | 
| GetAuthorizationToken |  `codeartifact:GetAuthorizationToken` `sts:GetServiceBearerToken` Erforderlich, um ein temporäres Autorisierungstoken für den Zugriff auf Repositorys zu erhalten.  |  `arn:aws:codeartifact:region-ID:account-ID:domain/my_domain`  | 
| GetDomainPermissionsPolicy |  `codeartifact:GetDomainPermissionsPolicy` Erforderlich, um eine Domain-Ressourcenrichtlinie zu erhalten.  |  `arn:aws:codeartifact:region-ID:account-ID:domain/my_domain`  | 
| GetPackageVersionAsset |  `codeartifact:GetPackageVersionAsset` Erforderlich, um Assets in einer Paketversion abzurufen.  | arn:aws:codeartifact:region-ID:account-ID:package/my\$1domain/my\$1repo/package-format/namespace/my\$1package | 
| GetPackageVersionReadme |  `codeartifact:GetPackageVersionReadme` Erforderlich, um die Readme-Datei einer Paketversion abzurufen.  |  `arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package`  | 
| GetRepositoryEndpoint |  `codeartifact:GetRepositoryEndpoint` Erforderlich, um einen Repository-Endpunkt zu erhalten.  |  `arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo`  | 
| GetRepositoryPermissionsPolicy |  `codeartifact:GetRepositoryPermissionsPolicy` Erforderlich, um eine Repository-Ressourcenrichtlinie abzurufen.  |  `arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo`  | 
| ListAssociatedPackages |  `codeartifact:ListAssociatedPackages` Erforderlich, um eine Liste von Paketen zurückzugeben, die einer Paketgruppe zugeordnet sind.  |  `arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern`  | 
| ListDomains |  `codeartifact:ListDomains` Erforderlich, um eine paginierte Liste von Domains in einem AWS-Konto zurückzugeben.  |  `*`  | 
| ListPackageGroups |  `codeartifact:ListPackageGroups` Erforderlich, um eine paginierte Liste von Paketgruppen in einer Domain zurückzugeben.  |  `arn:aws:codeartifact:region-ID:account-ID:domain/my_domain`  | 
| ListPackages |  `codeartifact:ListPackages` Erforderlich, um eine paginierte Liste von Paketen in einem Repository zurückzugeben.  |  `arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo`  | 
| ListPackageVersionAssets |  `codeartifact:ListPackageVersionAssets` Erforderlich, um eine paginierte Liste von Assets in einer Paketversion zurückzugeben.  |  `arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package`  | 
| ListPackageVersionDependencies |  `codeartifact:ListPackageVersionDependencies` Erforderlich, um eine paginierte Liste der Abhängigkeiten einer Paketversion zurückzugeben.  |  `arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package`  | 
| ListPackageVersions |  `codeartifact:ListPackageVersions` Erforderlich, um eine paginierte Liste von Paketversionen in einem Repository zurückzugeben.  |  `arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package`  | 
| ListRepositories |  `codeartifact:ListRepositories` Erforderlich, um eine paginierte Liste von Repositorys in einem AWS-Konto zurückzugeben.  |  `*`  | 
| ListRepositoriesInDomain |  `codeartifact:ListRepositoriesInDomain` Erforderlich, um eine paginierte Liste von Repositorys in einer Domain zurückzugeben.  |  `arn:aws:codeartifact:region-ID:account-ID:domain/my_domain`  | 
| ListSubPackageGroups |  `codeartifact:ListSubPackageGroups` Erforderlich, um eine Liste direkter untergeordneter Paketgruppen einer Paketgruppe zurückzugeben.  |  `arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern`  | 
| ListTagsForResource |  `codeartifact:ListTagsForResource` Erforderlich, um Tags für eine angegebene Ressource aufzulisten.  |  `arn:aws:codeartifact:region-ID:account-ID:domain/my_domain` `arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo`  | 
| PublishPackageVersion |  `codeartifact:PublishPackageVersion` Erforderlich, um eine Paketversion in einem Repository zu veröffentlichen.  |  `arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package`  | 
| PutDomainPermissionsPolicy |  `codeartifact:PutDomainPermissionsPolicy` Erforderlich, um einer Domain eine Ressourcenrichtlinie hinzuzufügen.  |  `arn:aws:codeartifact:region-ID:account-ID:domain/my_domain`  | 
| PutPackageMetadata |  `codeartifact:PutPackageMetadata` Erforderlich, um Maven-Paketversionen in einem Repository zu veröffentlichen oder NPM-Tags zu npm-Paketversionen hinzuzufügen oder zu entfernen.  |  `arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package`  | 
| PutPackageOriginConfiguration |  `codeartifact:PutPackageOriginConfiguration` Erforderlich, um die Originalkonfiguration eines Pakets zu aktualisieren.  |  `arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package`  | 
| PutRepositoryPermissionsPolicy |  `codeartifact:PutRepositoryPermissionsPolicy` Erforderlich, um einem Repository eine Ressourcenrichtlinie hinzuzufügen.  |  `arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo`  | 
| ReadFromRepository |  `codeartifact:ReadFromRepository` Erforderlich, um mit einem Paketmanager-Client aus einem Repository zu lesen.  |  `arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo`  | 
| TagResource |  `codeartifact:TagResource` Erforderlich, um eine Ressource zu taggen.  |  `arn:aws:codeartifact:region-ID:account-ID:domain/my_domain` `arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo`  | 
| UntagResource |  `codeartifact:UntagResource` Erforderlich, um ein Tag aus einer Ressource zu entfernen.  |  `arn:aws:codeartifact:region-ID:account-ID:domain/my_domain` `arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo`  | 
| UpdatePackageGroup |  `codeartifact:UpdatePackageGroup` Erforderlich, um eine Paketgruppe zu aktualisieren.  |  `arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern`  | 
| UpdatePackageGroupOriginConfiguration |  `codeartifact:UpdatePackageGroupOriginConfiguration` Erforderlich, um die Ursprungskonfiguration einer Paketgruppe zu aktualisieren.  |  `arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern`  | 
| UpdatePackageVersionsStatus |  `codeartifact:UpdatePackageVersionsStatus` Erforderlich, um den Status einer Paketversion zu ändern.  |  `arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package`  | 
| UpdateRepository |  `codeartifact:UpdateRepository` Erforderlich, um die Beschreibung eines Repositorys oder die Upstream-Verbindungen zu aktualisieren. Weitere Informationen finden Sie unter [Ändern Sie die Upstream-Konfiguration eines Repositor](config-repos.md#modify-upstream) oder [UpdateRepository](https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_UpdateRepository.html)im *CodeArtifact API-Leitfaden*. `codeartifact:AssociateWithDownstreamRepository` Erforderlich für ein Repository, damit es als Upstream-Repository zu Downstream-Repositorys hinzugefügt werden kann.  |  `arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo`  | 

## Paketgruppe ARNs
<a name="package-group-arns"></a>

**Anmerkung**  
Dieser Abschnitt darüber, wie Paketgruppen ARNs und Muster kodiert werden, ist informativ. Es wird empfohlen, ARNs von der Konsole zu kopieren oder ARNs über die `DescribePackageGroup` API abzurufen, anstatt Muster zu kodieren und zu konstruieren. ARNs

IAM-Richtlinien verwenden das Platzhalterzeichen,`*`, um mehreren IAM-Aktionen oder mehreren Ressourcen zuzuordnen. Paketgruppenmuster verwenden das `*` Zeichen ebenfalls. Um IAM-Richtlinien, die einer einzelnen Paketgruppe entsprechen, einfacher schreiben zu können, verwendet das ARN-Format für Paketgruppen eine kodierte Version des Paketgruppenmusters.

Insbesondere lautet das ARN-Format der Paketgruppe wie folgt:

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

Wobei das kodierte Paketgruppenmuster das Paketgruppenmuster ist, wobei bestimmte Sonderzeichen durch ihre prozentkodierten Werte ersetzt werden. Die folgende Liste enthält die Zeichen und ihre entsprechenden prozentkodierten Werte:
+ `*` : `%2a`
+ `$` : `%24`
+ `%` : `%25`

Der ARN für eine Stammpaketgruppe einer Domain, (`/*`), wäre beispielsweise:

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

Beachten Sie, dass Zeichen, die nicht in der Liste enthalten ARNs sind, nicht kodiert werden können und dass Groß- und Kleinschreibung beachtet wird. Sie `*` müssen also als `%2a` und nicht codiert werden. `%2A`

# Problembehandlung bei AWS CodeArtifact Identität und Zugriff
<a name="security_iam_troubleshoot"></a>

Verwenden Sie die folgenden Informationen, um häufig auftretende Probleme zu diagnostizieren und zu beheben, die bei der Arbeit mit CodeArtifact und IAM auftreten können.

**Topics**
+ [Ich bin nicht berechtigt, eine Aktion durchzuführen in CodeArtifact](#security_iam_troubleshoot-no-permissions)
+ [Ich möchte Personen außerhalb von mir den Zugriff AWS-Konto auf meine CodeArtifact Ressourcen ermöglichen](#security_iam_troubleshoot-cross-account-access)

## Ich bin nicht berechtigt, eine Aktion durchzuführen in CodeArtifact
<a name="security_iam_troubleshoot-no-permissions"></a>

Wenn Sie eine Fehlermeldung erhalten, dass Sie nicht zur Durchführung einer Aktion berechtigt sind, müssen Ihre Richtlinien aktualisiert werden, damit Sie die Aktion durchführen können.

Der folgende Beispielfehler tritt auf, wenn der IAM-Benutzer `mateojackson` versucht, über die Konsole Details zu einer fiktiven `my-example-widget`-Ressource anzuzeigen, jedoch nicht über `codeartifact:GetWidget`-Berechtigungen verfügt.

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: codeartifact:GetWidget on resource: my-example-widget
```

In diesem Fall muss die Richtlinie für den Benutzer `mateojackson` aktualisiert werden, damit er mit der `codeartifact:GetWidget`-Aktion auf die `my-example-widget`-Ressource zugreifen kann.

Wenn Sie Hilfe benötigen, wenden Sie sich an Ihren AWS Administrator. Ihr Administrator hat Ihnen Ihre Anmeldeinformationen zur Verfügung gestellt.

## Ich möchte Personen außerhalb von mir den Zugriff AWS-Konto auf meine CodeArtifact Ressourcen ermöglichen
<a name="security_iam_troubleshoot-cross-account-access"></a>

Sie können eine Rolle erstellen, mit der Benutzer in anderen Konten oder Personen außerhalb Ihrer Organisation auf Ihre Ressourcen zugreifen können. Sie können festlegen, wem die Übernahme der Rolle anvertraut wird. Für Dienste, die ressourcenbasierte Richtlinien oder Zugriffskontrolllisten (ACLs) unterstützen, können Sie diese Richtlinien verwenden, um Personen Zugriff auf Ihre Ressourcen zu gewähren.

Weitere Informationen dazu finden Sie hier:
+ Informationen darüber, ob diese Funktionen CodeArtifact unterstützt werden, finden Sie unter. [Wie AWS CodeArtifact funktioniert mit IAM](security_iam_service-with-iam.md)
+ *Informationen dazu, wie Sie Zugriff auf Ihre Ressourcen gewähren können, AWS-Konten die Ihnen gehören, finden Sie im IAM-Benutzerhandbuch unter [Gewähren des Zugriffs auf einen IAM-Benutzer in einem anderen AWS-Konto , den Sie besitzen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html).*
+ Informationen dazu, wie Sie Dritten Zugriff auf Ihre Ressourcen gewähren können AWS-Konten, finden Sie [AWS-Konten im *IAM-Benutzerhandbuch* unter Gewähren des Zugriffs für Dritte](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html).
+ Informationen dazu, wie Sie über einen Identitätsverbund Zugriff gewähren, finden Sie unter [Gewähren von Zugriff für extern authentifizierte Benutzer (Identitätsverbund)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) im *IAM-Benutzerhandbuch*.
+ Informationen zum Unterschied zwischen der Verwendung von Rollen und ressourcenbasierten Richtlinien für den kontoübergreifenden Zugriff finden Sie unter [Kontoübergreifender Ressourcenzugriff in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) im *IAM-Benutzerhandbuch*.