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.
Authentifizierung und Zugriffskontrolle für AWS CodeCommit
Für den Zugriff auf AWS CodeCommit sind Anmeldeinformationen erforderlich. Diese Anmeldeinformationen müssen über Berechtigungen für den Zugriff aufAWS Ressourcen wie CodeCommit Repositorys und Ihren IAM-Benutzer verfügen, mit dem Sie Ihre Git-Anmeldeinformationen oder den öffentlichen SSH-Schlüssel verwalten, den Sie für Git-Verbindungen verwenden. In den folgenden Abschnitten erfahren Sie, wie Sie Ihre Ressourcen verwendenAWS Identity and Access Management können und CodeCommit wie Sie den Zugriff darauf schützen können:
Authentifizierung
Da CodeCommit Repositorys Git-basiert sind und die grundlegenden Funktionen von Git, einschließlich Git-Anmeldeinformationen, unterstützen, empfehlen wir, dass Sie bei der Arbeit mit einem IAM-Benutzer arbeiten CodeCommit. Sie können CodeCommit mit anderen Identitätstypen zugreifen, aber die anderen Identitätstypen unterliegen Einschränkungen, wie unten beschrieben.
Identitätstypen:
-
IAM-Benutzer — Ein IAM-Benutzer ist eine Identität in Ihrem Amazon Web Services Services-Konto mit bestimmten benutzerdefinierten Berechtigungen. Ein IAM-Benutzer kann beispielsweise über die Berechtigungen verfügen, Git-Anmeldeinformationen für den Zugriff auf CodeCommit Repositorys zu erstellen und zu verwalten. Dies ist der empfohlene Benutzertyp für die Arbeit CodeCommit. Sie können einen IAM-Benutzernamen und ein Passwort für die Anmeldung bei sicheren AWS-Webseiten verwenden. Dazu zählen beispielsweise die AWS Management Console
, AWS -Diskussionsforen und das AWS Support Center . Sie können Git-Anmeldeinformationen generieren oder Ihrem IAM-Benutzer öffentliche SSH-Schlüssel zuordnen, oder Sie können es installieren und konfigurierengit-remote-codecommit. Dies sind die einfachsten Möglichkeiten, Git so einzurichten, dass es mit Ihren CodeCommit Repositorys funktioniert. Bei GIT-Anmeldeinformationen erstellen Sie einen statischen Benutzernamen und ein Passwort in IAM. Sie können dieselben Anmeldeinformationen für HTTPS-Verbindungen dann auch mit Git und jedem Drittanbieter-Tool verwenden, das die Authentifizierung mit Git-Benutzername und -Passwort unterstützt. Bei SSH-Verbindungen erstellen Sie öffentliche und private Schlüsseldateien auf Ihrem lokalen Rechner, die von Git und für die SSH-Authentifizierung CodeCommit verwendet werden. Verknüpfen Sie den öffentlichen Schlüssel mit Ihrem IAM-Benutzer und speichern Sie den privaten Schlüssel auf Ihrem lokalen Computer ab. git-remote-codecommiterweitert Git selbst und erfordert keine Einrichtung von Git-Anmeldeinformationen für den Benutzer.
Darüber hinaus können Sie Zugriffsschlüssel für jeden Benutzer erstellen. Verwenden Sie Zugriffsschlüssel, wenn Sie über AWSeines der verschiedenen -SDKsAWS oder über die
(AWS Command Line Interface)AWS CLI programmgesteuert auf -Services zugreifen. Das SDK und die CLI-Tools verwenden die Zugriffsschlüssel, um Ihre Anfragen verschlüsselt zu signieren. Wenn Sie die AWS-Tools nicht nutzen, müssen Sie die Anfragen selbst signieren. CodeCommit unterstützt Signature Version 4, ein Protokoll für die Authentifizierung eingehender API-Anfragen. Weitere Informationen zur Authentifizierung von Anforderungen finden Sie unter Signature Version 4-Signaturvorgang in der Allgemeinen AWS-Referenz. -
Stammbenutzer für das Amazon-Web-Services-Konto — Wenn Sie sich bei registrierenAWS, geben Sie eine E-Mail-Adresse und ein Passwort an, die mit Ihrem Amazon Web Services Services-Konto verknüpft sind. Dies sind Ihre Root-Anmeldeinformationen. Sie bieten vollständigen Zugriff auf alle Ihre AWS-Ressourcen. Einige CodeCommit Funktionen sind für Benutzer von Root-Konten nicht verfügbar. Darüber hinaus besteht die einzige Möglichkeit, Git mit Ihrem Root-Konto zu verwenden, darin, entweder git-remote-codecommit zu installieren und zu konfigurieren (empfohlen) oder das Hilfsprogramm für Anmeldeinformationen von AWS zu konfigurieren, das in der AWS CLI enthalten ist. Sie können mit Ihrem Stammkonto-Benutzer keine GIT-Anmeldeinformationen oder öffentliche/private SSH-Schlüsselpaare verwenden. Aus diesen Gründen empfehlen wir nicht, Ihren Root-Kontobenutzer zu verwenden, wenn Sie mit interagieren CodeCommit.
Wichtig Aus Sicherheitsgründen empfehlen wir, die Root-Anmeldeinformationen nur zum Erstellen eines Administrator-Benutzers zu verwenden. Hierbei handelt es sich um einen IAM-Benutzer mit vollständigen Berechtigungen für Ihr AWS-Konto. Anschließend können Sie mit diesem Administrator-Benutzer andere IAM-Benutzer und -Rollen mit eingeschränkten Berechtigungen erstellen. Weitere Informationen finden Sie unter Bewährte Methoden für IAM und Erstellen eines Administratorbenutzers und einer Gruppe im IAM-Benutzerhandbuch.
-
IAM Identity Center und Benutzer in IAM Identity Center —AWS IAM Identity Center (successor to AWS Single Sign-On) erweitert die Funktionen vonAWS Identity and Access Management und bietet einen zentralen Ort, an dem die Verwaltung von Benutzern und deren ZugriffAWS-Konten auf Cloud-Anwendungen zusammengeführt werden. Obwohl IAM Identity Center für die meisten Benutzer, die damit arbeitenAWS, als bewährte Methode empfohlen wird, bietet es derzeit keine Mechanismen für Git-Anmeldeinformationen oder SSH-Schlüsselpaare. Diese Benutzer können CodeCommit Repositorys installieren und konfigurieren,git-remote-codecommit um sie lokal zu klonen, aber nicht alle integrierten Entwicklungsumgebungen (IDEs) unterstützen das Klonen, Pushen oder Pull withgit-remote-codecommit.
Als bewährte Methode empfiehlt es sich, menschliche Benutzer, einschließlich Benutzer, die Administratorzugriff benötigen, aufzufordern, den Verbund mit einem Identitätsanbieter zu verwenden, um auf AWS-Services mit temporären Anmeldeinformationen zuzugreifen.
Eine Verbundidentität ist ein Benutzer aus dem Benutzerverzeichnis Ihres Unternehmens, ein Web Identity Provider, AWS Directory Service , das Identity-Center-Verzeichnis oder jeder Benutzer, der mit Anmeldeinformationen, die über eine Identitätsquelle bereitgestellt werden, auf AWS-Services zugreift. Wenn Verbundidentitäten auf AWS-Konten zugreifen, übernehmen sie Rollen und die Rollen stellen temporäre Anmeldeinformationen bereit.
Für die zentrale Zugriffsverwaltung empfehlen wir Ihnen, AWS IAM Identity Center (successor to AWS Single Sign-On) zu verwenden. Sie können Benutzer und Gruppen im IAM Identity Center erstellen oder Sie können eine Verbindung mit einer Gruppe von Benutzern und Gruppen in Ihrer eigenen Identitätsquelle herstellen und synchronisieren, um sie in allen AWS-Konten und Anwendungen zu verwenden. Informationen zu IAM Identity Center finden Sie unter Was ist IAM Identity Center? im AWS IAM Identity Center (successor to AWS Single Sign-On)-Benutzerhandbuch.
-
IAM-Rolle — Wie ein IAM-Benutzer ist eine IAM-Rolle eine IAM-Identität, die Sie in Ihrem -Konto erstellen können, um bestimmte Berechtigungen zu erteilen.
Eine IAM-Rolle ist eine Identität in Ihrem AWS-Konto mit spezifischen Berechtigungen. Sie ist einem IAM-Benutzer vergleichbar, ist aber nicht mit einer bestimmten Person verknüpft. Sie können vorübergehend eine IAM-Rolle in der AWS Management Console übernehmen, indem Sie Rollen wechseln. Sie können eine Rolle annehmen, indem Sie eine AWS CLI oder AWS-API-Operation aufrufen oder eine benutzerdefinierte URL verwenden. Weitere Informationen zu Methoden für die Verwendung von Rollen finden Sie unter Verwenden von IAM-Rollen im IAM-Benutzerhandbuch.
IAM-Rollen mit temporären Anmeldeinformationen sind in folgenden Situationen hilfreich:
-
Verbundbenutzerzugriff – Um einer Verbundidentität Berechtigungen zuzuweisen, erstellen Sie eine Rolle und definieren Berechtigungen für die Rolle. Wenn eine Verbundidentität authentifiziert wird, wird die Identität der Rolle zugeordnet und erhält die von der Rolle definierten Berechtigungen. Informationen zu Rollen für den Verbund finden Sie unter Erstellen von Rollen für externe Identitätsanbieter im IAM-Benutzerhandbuch. Wenn Sie IAM Identity Center verwenden, konfigurieren Sie einen Berechtigungssatz. Wenn Sie steuern möchten, worauf Ihre Identitäten nach der Authentifizierung zugreifen können, korreliert IAM Identity Center den Berechtigungssatz mit einer Rolle in IAM. Informationen zu Berechtigungssätzen finden Sie unter Berechtigungssätze im AWS IAM Identity Center (successor to AWS Single Sign-On)-Benutzerhandbuch.
-
Temporäre IAM-Benutzerberechtigungen – Ein IAM-Benutzer oder eine -Rolle kann eine IAM-Rolle übernehmen, um vorübergehend andere Berechtigungen für eine bestimmte Aufgabe zu erhalten.
-
Kontenübergreifender Zugriff – Sie können eine IAM-Rolle verwenden, um einem vertrauenswürdigen Prinzipal in einem anderen Konto den Zugriff auf Ressourcen in Ihrem Konto zu ermöglichen. Rollen stellen die primäre Möglichkeit dar, um kontoübergreifendem Zugriff zu gewähren. In einigen AWS-Services können Sie jedoch eine Richtlinie direkt an eine Ressource anfügen (anstatt eine Rolle als Proxy zu verwenden). Informationen zu den Unterschieden zwischen Rollen und ressourcenbasierten Richtlinien für den kontenübergreifenden Zugriff finden Sie unter So unterscheiden sich IAM-Rollen von ressourcenbasierten Richtlinien im IAM-Benutzerhandbuch.
-
Serviceübergreifender Zugriff – Einige AWS-Services verwenden Funktionen in anderen AWS-Services. Wenn Sie beispielsweise einen Aufruf in einem Service tätigen, führt dieser Service häufig Anwendungen in Amazon EC2 aus oder speichert Objekte in Amazon S3. Ein Service kann dies mit den Berechtigungen des aufrufenden Prinzipals mit einer Servicerolle oder mit einer serviceverknüpften Rolle tun.
-
Prinzipalberechtigungen – Wenn Sie einen IAM-Benutzer oder eine IAM-Rolle zum Ausführen von Aktionen in AWS verwenden, gelten Sie als Prinzipal. Richtlinien gewähren einem Prinzipal Berechtigungen. Bei einigen Services könnte es Aktionen geben, die dann eine andere Aktion in einem anderen Service auslösen. In diesem Fall müssen Sie über Berechtigungen zum Ausführen beider Aktionen verfügen. Informationen dazu, ob eine Aktion zusätzliche abhängige Aktionen in einer Richtlinie erfordert, finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für AWS CodeCommit in der Service-Autorisierungs-Referenz.
-
Servicerolle – Eine Servicerolle ist eine IAM-Rolle, die ein Service übernimmt, 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 im IAM-Benutzerhandbuch.
-
Serviceverknüpfte Rolle – Eine serviceverknüpfte Rolle ist ein Typ von Servicerolle, die mit einem AWS-Service verknüpft ist. Der Service kann die Rolle übernehmen, um eine Aktion in Ihrem Namen auszuführen. Serviceverknüpfte Rollen werden in Ihrem AWS-Konto angezeigt und gehören zum Service. Ein IAM-Administrator kann die Berechtigungen für serviceverknüpfte Rollen anzeigen, aber nicht bearbeiten.
-
-
Anwendungen in Amazon EC2 – Sie können eine IAM-Rolle verwenden, um temporäre Anmeldeinformationen für Anwendungen zu verwalten, die auf einer EC2-Instance ausgeführt werden und AWS CLI- oder AWS-API-Anforderungen durchführen. Das ist eher zu empfehlen, als Zugriffsschlüssel innerhalb der EC2-Instance zu speichern. Erstellen Sie ein Instance-Profil, das an die Instance angefügt ist, um eine AWS-Rolle einer EC2-Instance zuzuweisen und die Rolle für sämtliche Anwendungen der Instance bereitzustellen. Ein Instance-Profil enthält die Rolle und ermöglicht, dass Programme, die in der EC2-Instance ausgeführt werden, temporäre Anmeldeinformationen erhalten. Weitere Informationen finden Sie unter Verwenden einer IAM-Rolle zum Erteilen von Berechtigungen für Anwendungen, die auf Amazon EC2-Instances ausgeführt werden im IAM-Benutzerhandbuch.
Informationen dazu, wann Sie IAM-Rollen oder IAM-Benutzer verwenden sollten, finden Sie unter Erstellen einer IAM-Rolle (anstatt eines Benutzers) im IAM-Benutzerhandbuch.
Anmerkung Sie können mit verbundenen Benutzern keine GIT-Anmeldeinformationen oder öffentliche/private SSH-Schlüsselpaare verwenden. Darüber hinaus stehen für verbundene Benutzer keine Benutzereinstellungen zur Verfügung. Informationen zum Einrichten von Verbindungen mithilfe des Verbundzugriffs finden Sie unter Einrichtungsschritte für HTTPS-Verbindungen zuAWS CodeCommit mit git-remote-codecommit.
-
Zugriffskontrolle
Auch wenn Sie über gültige Anmeldeinformationen zur Authentifizierung Ihrer Anfragen verfügen, können Sie die CodeCommit Ressourcen nur mit entsprechenden Berechtigungen erstellen oder darauf zugreifen. Beispielsweise müssen Sie über Berechtigungen zum Anzeigen von Repositorys, zum Senden von Code, zum Erstellen und Verwalten von Git-Anmeldeinformationen usw. verfügen.
In den folgenden Abschnitten wird die Verwaltung von Berechtigungen für beschrieben CodeCommit. Wir empfehlen Ihnen, zunächst die Übersicht zu lesen.
Übersicht über die Verwaltung von Zugriffsberechtigungen für Ihre CodeCommit Ressourcen
JedeAWS Ressource gehört einem Amazon-Web-Services-Konto. Die Berechtigungen zum Erstellen einer Ressource oder für den Zugriff darauf werden durch Berechtigungsrichtlinien geregelt. Ein Kontoadministrator kann Berechtigungsrichtlinien an IAM-Identitäten (Benutzer, Gruppen und Rollen) anfügen. Einige Services, wie z. B. AWS Lambda, unterstützen auch das Zuordnen von Berechtigungsrichtlinien zu Ressourcen.
Ein Kontoadministrator (oder Administratorbenutzer) ist ein Benutzer mit Administratorrechten. Weitere Informationen finden Sie unter Bewährte Methoden für IAM im IAM-Benutzerhandbuch.
Beim Erteilen von Berechtigungen entscheiden Sie, wer die Berechtigungen erhält, für welche Ressourcen die Berechtigungen gelten und welche Aktionen an diesen Ressourcen gestattet werden sollen.
Themen
CodeCommit Ressourcen und Betrieb
In CodeCommit ist die primäre Ressource ein Repository. Jeder dieser Ressourcen ist ein eindeutiger Amazon-Ressourcenname (ARN) zugeordnet. In einer Richtlinie identifizieren Sie die Ressource, für welche die Richtlinie gilt, mithilfe eines Amazon-Ressourcennamens (ARN). Weitere Informationen zu ARNs finden Sie unter Amazon-Ressourcennamen (ARN) undAWS -Service-Namespaces in der Allgemeinen Amazon Web Services Services-Referenz. CodeCommit unterstützt derzeit keine anderen Ressourcentypen, die als Subressourcen bezeichnet werden.
In der folgenden Tabelle wird die Angabe von CodeCommit Ressourcen beschrieben.
Ressourcentyp | ARN-Format |
---|---|
Ablage |
arn:aws:codecommit: |
Alle CodeCommit Repositorys |
arn:aws:codecommit:* |
Alle CodeCommit Repositories, die zu dem angegebenen Konto im angegebenen Konto gehörenAWS-Region |
arn:aws:codecommit: |
Die meisten AWS-Services behandeln einen Doppelpunkt (:) oder einen Schrägstrich (/) in ARNs als genau dieses Zeichen. CodeCommit Erfordert jedoch eine genaue Übereinstimmung in Ressourcenmustern und Regeln. Verwenden Sie also die richtigen ARN-Zeichen zum Erstellen von Ereignismustern, sodass sie mit der ARN-Syntax in der Ressource übereinstimmen.
Sie können beispielsweise folgendermaßen ein bestimmtes Repository (MyDemoRepo
) mit dem ARN in der Anweisung angeben:
"Resource": "arn:aws:codecommit:
us-west-2
:111111111111
:MyDemoRepo
"
Um alle Repositories anzugeben, die zu einem bestimmten Konto gehören, verwenden Sie das Platzhalterzeichen (*) wie folgt:
"Resource": "arn:aws:codecommit:
us-west-2
:111111111111
:*
"
Wenn Sie alle Ressourcen angeben möchten oder wenn eine bestimmte API-Aktion keine ARNs unterstützt, verwenden Sie das Platzhalterzeichen (*) wie folgt im Resource
-Element:
"Resource": "
*
"
Sie können auch das Platzhalterzeichen (*) verwenden, um alle Ressourcen anzugeben, die mit einem Teil eines Repository-Namen übereinstimmen. Der folgende ARN gibt beispielsweise jedes CodeCommit Repository an, das mit dem Namen beginntMyDemo
und das im Amazon Web Services Services-Konto registriert ist111111111111
inus-east-2
AWS-Region:
arn:aws:codecommit:us-east-2:111111111111:MyDemo*
Eine Liste der verfügbaren Operationen, die mit den CodeCommit Ressourcen arbeiten, finden Sie unterReferenz für CodeCommit-Berechtigungen.
Grundlegendes zum Eigentum an Ressourcen
Das Amazon-Web-Services-Konto ist der Eigentümer aller Ressourcen, die innerhalb des Kontos erstellt werden, unabhängig davon, wer sie erstellt hat. Genauer gesagt ist Ressourceneigentümer das Amazon Web Services Services-Konto der Prinzipal-Entität (d. h. das Stammkonto, ein IAM-Benutzer oder eine IAM-Rolle), die die Ressourcenerstellungsanforderung authentifiziert. Die Funktionsweise wird anhand der folgenden Beispiele deutlich:
-
Wenn Sie einen IAM-Benutzer in Ihrem Amazon Web Services Services-Konto erstellen und diesem Berechtigungen zum Erstellen von CodeCommit Ressourcen erteilen, kann dieser Benutzer CodeCommit Ressourcen erstellen. Eigentümer der CodeCommit Ressourcen ist jedoch das -Amazon-Web-Services-Konto, zu dem der Benutzer gehört.
-
Wenn Sie die Root-Konto-Anmeldeinformationen für Ihr Amazon Web Services Services-Konto verwenden, um eine Regel zu erstellen, ist Ihr Amazon Web Services Services-Konto der Eigentümer der CodeCommit Ressource.
-
Wenn Sie eine IAM-Rolle in Ihrem Amazon Web Services Services-Konto mit Berechtigungen zum Erstellen von CodeCommit Ressourcen erstellen, kann jeder Benutzer, der die Rolle übernimmt, CodeCommit Ressourcen erstellen. Ihr Amazon-Web-Services-Konto, zu dem die Rolle gehört, ist der Eigentümer aller CodeCommit Ressourcen.
Verwalten des Zugriffs auf Ressourcen
Zum Verwalten des Zugriffs auf AWS-Ressourcen verwenden Sie Berechtigungsrichtlinien. Eine Berechtigungsrichtlinie beschreibt, wer Zugriff auf welche Objekte hat. Im folgenden Abschnitt werden die Optionen zum Erstellen von Berechtigungsrichtlinien erläutert.
Dieser Abschnitt behandelt die Verwendung von IAM im Zusammenhang mit CodeCommit. Er enthält keine detaillierten Informationen über den IAM-Service. Weitere Informationen zu IAM finden Sie unter Was ist IAM? im IAM-Benutzerhandbuch. Für Informationen über die Syntax und Beschreibungen von -IAM-Richtlinien lesen Sie die IAM-Richtlinienreferenz im IAM-Benutzerhandbuch.
Berechtigungsrichtlinien, die einer IAM-Identität zugeordnet sind, werden als identitätsbasierte Richtlinien (IAM-Richtlinien) bezeichnet. An Ressourcen angehängte Berechtigungsrichtlinien werden als ressourcenbasierte Richtlinien bezeichnet. CodeCommitUnterstützt derzeit nur identitätsbasierte Richtlinien (IAM-Richtlinien).
Identitätsbasierte Richtlinien (IAM-Richtlinien)
Um den Zugriff aufAWS Ressourcen zu verwalten, fügen Sie Berechtigungsrichtlinien zu IAM-Identitäten an. In verwenden Sie identitätsbasierte Richtlinien CodeCommit, um den Zugriff auf Repositories zu kontrollieren. Sie können z. B. Folgendes tun:
-
Eine Berechtigungsrichtlinie zu einem Benutzer oder einer Gruppe in Ihrem -Konto anfügen — Um einem Benutzer die Berechtigungsberechtigung zum Anzeigen von CodeCommit Ressourcen in der CodeCommit Konsole zu erteilen, fügen Sie einem Benutzer oder einer Gruppe, der der Benutzer angehört, eine identitätsbasierte Berechtigungsrichtlinie zu.
-
Eine Berechtigungsrichtlinie zu einer Rolle anfügen (um kontoübergreifende Berechtigungen zu erteilen) — Beim Delegieren, z. B. wenn Sie kontoübergreifenden Zugriff auf die Ressource benötigen (dem vertrauenden Konto). Eine Berechtigungsrichtlinie erteilt dem Benutzer einer Rolle die erforderlichen Berechtigungen zum Ausführen der vorgesehenen Aufgaben auf der Ressource. Eine Vertrauensrichtlinie gibt an, welche vertrauenswürdigen Konten ihren Benutzern Berechtigungen zum Übernehmen der Rolle erteilen dürfen. Weitere Informationen finden Sie unter IAM-Bedingungen.
Um kontoübergreifende Berechtigungen zu erteilen, fügen Sie einer IAM-Rolle eine identitätsbasierte Berechtigungsrichtlinie an. Beispielsweise kann der Administrator in Konto A eine Rolle erstellen, um einem anderen Amazon Web Services Services-Konto (z. B. Konto B) oder einemAWS -Service kontoübergreifende Berechtigungen zu erteilen. Dazu geht er folgendermaßen vor:
-
Der Administrator von Konto A erstellt eine IAM-Rolle und fügt ihr eine Berechtigungsrichtlinie an, die Berechtigungen für Ressourcen in Konto A erteilt.
-
Der Administrator von Konto A weist der Rolle eine Vertrauensrichtlinie zu, die Konto B als den Prinzipal identifiziert, der die Rolle übernehmen kann.
-
Der Administrator von Konto B kann nun Berechtigungen zur Übernahme der Rolle an alle Benutzer in Konto B delegieren. Daraufhin können die Benutzer in Konto B auf Ressourcen von Konto A zugreifen oder auch Ressourcen erstellen. Wenn Sie eine AWS-Serviceberechtigung für die Übernahme der Rolle erteilen wollen, kann der Prinzipal in der Vertrauensrichtlinie auch ein AWS-Service-Prinzipal sein. Weitere Informationen finden Sie unter Delegierung in den IAM Terms and Concepts.
Weitere Informationen zum Delegieren von Berechtigungen mithilfe von IAM finden Sie unter Zugriffsverwaltung im IAM-Benutzerhandbuch.
-
Die folgende Beispielrichtlinie ermöglicht einem Benutzer das Erstellen eines Branch in einem Repository mit dem Namen MyDemoRepo
:
{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "codecommit:CreateBranch" ], "Resource" : "arn:aws:codecommit:us-east-2:
111111111111
:MyDemoRepo
" } ] }
Um die Anrufe und Ressourcen einzuschränken, auf die Benutzer in Ihrem Konto Zugriff haben, erstellen Sie spezifische IAM-Richtlinien und hängen Sie diese Richtlinien dann an IAM-Benutzer an. Weitere Informationen zum Erstellen von IAM-Rollen und Beispiele zu identitätsbasierten IAM-Richtlinienanweisungen für CodeCommit finden Sie unterBeispiele für vom Kunden verwaltete Identitätsrichtlinien.
Ressourcenbasierte Richtlinien
Einige Services (beispielsweise Amazon S3) unterstützen auch ressourcenbasierte Berechtigungsrichtlinien. Beispielsweise können Sie einem S3 Bucket eine ressourcenbasierte Richtlinie zuweisen, um die Zugriffsberechtigungen für diesen Bucket zu verwalten. CodeCommit unterstützt keine ressourcenbasierten Richtlinien, aber Sie können Tags verwenden, um Ressourcen zu identifizieren, die Sie dann in IAM-Richtlinien verwenden können. Ein Beispiel für eine Tag-basierte Richtlinien finden Sie unter Identitätsbasierte Richtlinien (IAM-Richtlinien).
Umfang der Ressourcen in CodeCommit
In CodeCommit können Sie den Geltungsbereich identitätsbasierter Richtlinien und Berechtigungen für Ressourcen festlegen, wie unter beschriebenCodeCommit Ressourcen und Betrieb. Sie können jedoch nicht die ListRepositories
- Berechtigung auf eine Ressource anwenden. Stattdessen müssen Sie sie auf alle Ressourcen anwenden (mit dem Platzhalter *
). Andernfalls schlägt die Aktion fehl.
Alle anderen CodeCommit Berechtigungen können auf Ressourcen beschränkt werden.
Angeben der Richtlinienelemente: Ressourcen, Aktionen, Effekte und Prinzipale
Sie können Richtlinien erstellen, um Benutzern den Zugriff auf Ressourcen zu gewähren oder zu verweigern oder Benutzern zu gestatten oder zu verweigern, bestimmte Aktionen für diese Ressourcen durchzuführen. CodeCommit definiert eine Reihe von öffentlichen API-Vorgängen, die definieren, wie Benutzer mit dem Dienst arbeiten, sei es über die CodeCommit Konsole, die SDKsAWS CLI, die oder durch den direkten Aufruf dieser APIs. CodeCommit Definiert eine Reihe von Aktionen, die Sie in einer Richtlinie angeben können, um Berechtigungen für diese API-Operationen zu erteilen.
Für einige API-Operationen können Berechtigungen für mehrere Aktionen erforderlich sein. Weitere Informationen zu Ressourcen und API-Operationen finden Sie unter CodeCommit Ressourcen und Betrieb und Referenz für CodeCommit-Berechtigungen.
Die Grundelemente einer Richtlinie sind:
-
Ressource — Zur Identifizierung der Ressource, für die Richtlinie gilt, verwenden Sie einen Amazon-Ressourcennamen (ARN). Weitere Informationen finden Sie unter CodeCommit Ressourcen und Betrieb.
-
Aktion — Um Ressourcenoperationen zu identifizieren, die Sie zulassen oder verweigern möchten, verwenden Sie Aktionsschlüsselwörter. Je nach Angabe
Effect
erlaubt oder verweigert diecodecommit:GetBranch
Berechtigung dem Benutzer beispielsweise die Ausführung desGetBranch
Vorgangs, bei dem Details zu einem Zweig in einem CodeCommit Repository abgerufen werden. -
Effekt — Sie geben die Auswirkung (Zugriffserlaubnis oder Zugriffsverweigerung) an, die eintritt, wenn ein Benutzer die jeweilige Aktion anfordert. Wenn Sie den Zugriff auf eine Ressource nicht ausdrücklich gestatten („Allow“), wird er automatisch verweigert. Sie können den Zugriff auf eine Ressource auch explizit verweigern. So können Sie sicherstellen, dass Benutzer nicht darauf zugreifen können, auch wenn der Zugriff durch eine andere Richtlinie gestattet wird.
-
Prinzipal — In identitätsbasierten Richtlinien (IAM-Richtlinien) ist der einzige Richtlinien-Typ, der CodeCommit unterstützt, ist der Benutzer, dem die Richtlinie zugeordnet ist, der implizite Prinzipal.
Weitere Informationen zur IAM-Richtliniensyntax finden Sie in der IAM-Richtlinienreferenz im IAM-Benutzerhandbuch.
Eine Tabellenliste mit allen CodeCommit API-Aktionen und den Ressourcen, für die diese gelten, finden Sie unterReferenz für CodeCommit-Berechtigungen.
Angeben von Bedingungen in einer Richtlinie
Beim Erteilen von Berechtigungen verwenden Sie die Sprache der Zugriffsrichtlinie für IAM, um die Bedingungen festzulegen, unter denen eine Richtlinie wirksam werden soll. Beispielsweise kann festgelegt werden, dass eine Richtlinie erst ab einem bestimmten Datum gilt. Weitere Informationen zum Angeben von Bedingungen in einer Richtliniendefinition finden Sie im Thema Bedingung und Richtliniengrammatik im IAM Benutzerhandbuch.
Bedingungen werden mithilfe vordefinierter Bedingungsschlüssel formuliert. Für CodeCommit gibt es keine speziellen Bedingungsschlüssel. Stattdessen können Sie nach Bedarf die AWS-weiten Bedingungsschlüssel verwenden. Sie finden eine vollständige Liste der AWS-weiten Schlüssel unter Verfügbare Schlüssel für Bedingungen im IAM-Benutzerhandbuch enthalten.