Beispiele für identitätsbasierte Richtlinien für AWS CodeArtifact - CodeArtifact

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.

Beispiele für identitätsbasierte Richtlinien für AWS CodeArtifact

Standardmäßig sind Benutzer und Rollen nicht berechtigt, Ressourcen zu erstellen oder zu ändern CodeArtifact. Sie können auch keine Aufgaben mithilfe von AWS Management Console, AWS Command Line Interface (AWS CLI) oder ausführen AWS API. Um Benutzern die Berechtigung zu erteilen, Aktionen mit den Ressourcen durchzuführen, die sie benötigen, kann ein IAM Administrator IAM Richtlinien erstellen. Der Administrator kann dann die IAM Richtlinien zu Rollen hinzufügen, und Benutzer können die Rollen übernehmen.

Informationen zum Erstellen einer IAM identitätsbasierten Richtlinie anhand dieser JSON Beispieldokumente finden Sie unter IAMRichtlinien erstellen im IAMBenutzerhandbuch.

Weitere Informationen zu Aktionen und Ressourcentypen, die von definiert wurden CodeArtifact, einschließlich des Formats ARNs für die einzelnen Ressourcentypen, finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für AWS CodeArtifact in der Service Authorization Reference.

Bewährte Methoden für Richtlinien

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. Befolgen Sie beim Erstellen oder Bearbeiten identitätsbasierter Richtlinien die folgenden Anleitungen und Empfehlungen:

  • Beginnen Sie mit AWS verwalteten Richtlinien und wechseln Sie zu Berechtigungen mit den geringsten Rechten — Verwenden Sie die AWS verwalteten Richtlinien, die Berechtigungen für viele gängige Anwendungsfälle gewähren, um Ihren Benutzern und Workloads zunächst 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 AWS im IAMBenutzerhandbuch unter AWS Verwaltete Richtlinien oder Verwaltete Richtlinien für Jobfunktionen.

  • Berechtigungen mit den geringsten Rechten anwenden — Wenn Sie Berechtigungen mit IAM Richtlinien festlegen, gewähren Sie nur die Berechtigungen, die für die Ausfü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 IAM zum Anwenden von Berechtigungen finden Sie IAMim Benutzerhandbuch unter Richtlinien und Berechtigungen. IAM

  • Verwenden Sie Bedingungen in IAM Richtlinien, um den Zugriff weiter einzuschränken — Sie können Ihren Richtlinien eine Bedingung hinzufügen, um den Zugriff auf Aktionen und Ressourcen einzuschränken. Sie können beispielsweise eine Richtlinienbedingung schreiben, um anzugeben, dass alle Anfragen mit gesendet werden müssenSSL. Sie können auch Bedingungen verwenden, um Zugriff auf Serviceaktionen zu gewähren, wenn diese über einen bestimmten Zweck verwendet werden AWS-Service, z. AWS CloudFormation B. Weitere Informationen finden Sie im IAMBenutzerhandbuch unter IAMJSONRichtlinienelemente: Bedingung.

  • Verwenden Sie IAM Access Analyzer, um Ihre IAM Richtlinien zu validieren, um sichere und funktionale Berechtigungen zu gewährleisten. IAM Access Analyzer validiert neue und bestehende Richtlinien, sodass die Richtlinien der IAM Richtliniensprache (JSON) und den IAM bewährten Methoden entsprechen. IAMAccess Analyzer bietet mehr als 100 Richtlinienprüfungen und umsetzbare Empfehlungen, um Sie bei der Erstellung sicherer und funktionaler Richtlinien zu unterstützen. Weitere Informationen finden Sie unter IAMAccess Analyzer-Richtlinienvalidierung im IAMBenutzerhandbuch.

  • Multi-Faktor-Authentifizierung erforderlich (MFA) — Wenn Sie ein Szenario haben, in dem IAM Benutzer oder ein Root-Benutzer erforderlich sind AWS-Konto, aktivieren Sie die Option MFA für zusätzliche Sicherheit. Um festzulegen, MFA wann API Operationen aufgerufen werden, fügen Sie MFA Bedingungen zu Ihren Richtlinien hinzu. Weitere Informationen finden Sie unter Konfiguration des MFA -geschützten API Zugriffs im IAMBenutzerhandbuch.

Weitere Informationen zu bewährten Methoden finden Sie unter Bewährte Sicherheitsmethoden IAM im IAM Benutzerhandbuch. IAM

Verwenden der CodeArtifact Konsole

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 Anrufe an AWS CLI oder am tätigen, keine Mindestberechtigungen für die Konsole gewähren AWS API. Erlauben Sie stattdessen nur den Zugriff auf die Aktionen, die dem API Vorgang entsprechen, den sie 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 im Benutzerhandbuch unter Hinzufügen von Berechtigungen für einen IAM Benutzer.

AWSverwaltete (vordefinierte) Richtlinien für AWS CodeArtifact

AWS adressiert viele gängige Anwendungsfälle durch die Bereitstellung eigenständiger IAM Richtlinien, die von erstellt und verwaltet werden AWS. 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 im IAMBenutzerhandbuch unter AWSVerwaltete Richtlinien.

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.

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

    { "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. Sie können diese benutzerdefinierten Richtlinien an die IAM Benutzer oder Gruppen anhängen, die diese Berechtigungen benötigen.

Erlauben Sie einem Benutzer, seine eigenen Berechtigungen einzusehen

Dieses Beispiel zeigt, wie Sie eine Richtlinie erstellen könnten, die es IAM Benutzern ermöglicht, die Inline- und verwalteten Richtlinien einzusehen, die mit ihrer Benutzeridentität verknüpft sind. Diese Richtlinie umfasst Berechtigungen zum Ausführen dieser Aktion auf der Konsole oder programmgesteuert mithilfe von oder. AWS CLI AWS 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

Die folgende Richtlinie ermöglicht es einem IAM Benutzer oder einer 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 Erlaubnis, die es dem Prinzipal ermöglicht, Pakete aus einem CodeArtifact Repository abzurufen. 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 den GetAuthorizationToken API aufzurufen.

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

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

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

Erlaubt einem Benutzer, Informationen über bestimmte Repositorys abzurufen

Im Folgenden finden Sie ein Beispiel für eine Berechtigungsrichtlinie, die es einem Benutzer ermöglicht, Informationen über Repositorys abzurufen, die mit endentest, 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 den aufzurufen GetAuthorizationTokenAPI.

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

Dauer des Autorisierungstokens einschränken

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 unterAWS CodeArtifact Authentifizierung und Tokens.

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.

{ "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.

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