Verwenden von Tags zur Steuerung des Zugriffs auf CodeArtifact-Ressourcen - 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.

Verwenden von Tags zur Steuerung des Zugriffs auf CodeArtifact-Ressourcen

Bedingungen in Richtlinienanweisungen von IAM-Benutzern sind Teil der Syntax, die Sie verwenden, um Berechtigungen für Ressourcen festzulegen, die CodeArtifact -Aktion zu ihrer Ausführung benötigen. Das Verwenden von Tags in Bedingungen ist eine Möglichkeit zur Kontrolle des Zugriffs auf Ressourcen und Anfragen. Weitere Informationen zur Markierung von CodeArtifact-Ressourcen finden Sie unter Markieren von Ressourcen. 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 mit Tags markiert sein 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 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 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 befinden und nicht in der Domain. Eine Liste der Aktionen in CodeArtifact und mit welchen Ressourcen sie betrieben werden, finden AWS CodeArtifact Referenz zu Berechtigungen Sie unter.

Tag-basierte Zugriff

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

Beispiel 1: Einschränken von Aktionen basierend auf Tags in der Anforderung

Die verwaltete Benutzerrichtlinie AWSCodeArtifactAdminAccess erteilt Benutzern die uneingeschränkte Berechtigung, eine CodeArtifact-Aktion auf allen Ressourcen auszuführen.

Mit der folgenden Richtlinie wird nicht autorisierten Benutzern die Berechtigung verweigert, Repositorys zu erstellen, es sei denn, die Anforderung enthält. Dazu verweigert es die CreateRepository -Aktion, wenn die Anforderung kein Tag costcenter mit dem Namen und einem der Werte 1 oder 2 festlegt. 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" ] } } } ] }
Beispiel 2: Einschränken von Aktionen basierend auf Ressourcen-Tags

Die verwaltete Benutzerrichtlinie AWSCodeArtifactAdminAccess erteilt Benutzern die uneingeschränkte Berechtigung, eine CodeArtifact-Aktion auf allen Ressourcen auszuführen.

Mit der folgenden Richtlinie wird nicht autorisierten Benutzern die Berechtigung verweigert, Aktionen für Repositorys in bestimmten Domänen auszufü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"] } } } ] }
Beispiel 3: Zulassen von Aktionen basierend auf Ressourcen-Tags

Mit der folgenden Richtlinie wird Benutzern die Berechtigung zum Ausführen von Aktionen auf und Abrufen von Informationen zu Repositorys und Paketen gewährt. CodeArtifact

Dazu werden bestimmte Aktionen zugelassen, wenn das Repository ein Tag mit dem Namen Key1 mit dem Wert enthältValue1. (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 erteilt Benutzern uneingeschränkt die Berechtigung, eine CodeArtifact-Aktion auf allen Ressourcen auszuführen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codeartifact:UpdateRepository", "codeartifact:DeleteRepository", "codeartifact:ListPackages" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/Key1": "Value1" } } } ] }
Beispiel 4: Zulassen von Aktionen basierend auf Tags in der Anforderung

Mit der folgenden Richtlinie wird Benutzern die Berechtigung zum Erstellen von Repositorys in bestimmten Domänen in erteilt. CodeArtifact

Dazu werden die CreateRepository und TagResource -Aktionen zugelassen, wenn die Create-Resource API in der Anfrage ein Tag Key1 mit dem Namen des Werts angibtValue1. (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 erteilt Benutzern uneingeschränkt die Berechtigung, eine CodeArtifact-Aktion auf allen Ressourcen auszuführen.

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