Authentifizierung und Zugriffskontrolle für AWS CodeCommit - AWS CodeCommit

AWS CodeCommit ist für Neukunden nicht mehr verfügbar. Bestandskunden von AWS CodeCommit können den Service weiterhin wie gewohnt nutzen. Erfahren Sie mehr“

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 auf AWS Ressourcen wie CodeCommit Repositorys und Ihren IAM Benutzer verfügen, mit denen Sie Ihre Git-Anmeldeinformationen oder den SSH öffentlichen Schlüssel, den Sie für die Herstellung von Git-Verbindungen verwenden, verwalten. In den folgenden Abschnitten erfahren Sie, wie Sie AWS Identity and Access Management (IAM) verwenden und wie Sie CodeCommit den Zugriff auf Ihre Ressourcen sichern können:

Authentifizierung

Da CodeCommit Repositorys Git-basiert sind und die grundlegenden Funktionen von Git unterstützen, einschließlich Git-Anmeldeinformationen, empfehlen wir, dass Sie bei der Arbeit mit einem IAM Benutzer arbeiten. CodeCommit Du kannst CodeCommit mit anderen Identitätstypen darauf zugreifen, aber die anderen Identitätstypen unterliegen Einschränkungen, wie unten beschrieben.

Identitätstypen:

  • IAMBenutzer — Ein IAMBenutzer ist eine Identität in Ihrem Amazon Web Services Services-Konto, die über spezifische benutzerdefinierte Berechtigungen verfügt. Ein IAM Benutzer kann beispielsweise über Berechtigungen zum Erstellen und Verwalten von Git-Anmeldeinformationen für den Zugriff auf CodeCommit Repositorys verfügen. Dies ist der empfohlene Benutzertyp für die Arbeit mit CodeCommit. Sie können einen IAM Benutzernamen und ein Passwort verwenden, um sich auf sicheren AWS Webseiten wie den AWS Management ConsoleAWSDiskussionsforen oder dem AWS -Support Center anzumelden.

    Sie können Git-Anmeldeinformationen generieren oder Ihrem IAM Benutzer SSH öffentliche Schlüssel zuordnen, oder Sie können sie installieren und konfigurierengit-remote-codecommit. Dies sind die einfachsten Möglichkeiten, Git so einzurichten, dass es mit deinen CodeCommit Repositorys funktioniert. Mit Git-Anmeldeinformationen generieren Sie einen statischen Benutzernamen und ein statisches Passwort inIAM. Anschließend verwenden Sie diese Anmeldeinformationen für HTTPS Verbindungen mit Git und allen Drittanbietertools, die Git-Benutzernamen- und Kennwortauthentifizierung unterstützen. Mit SSH Verbindungen erstellen Sie öffentliche und private Schlüsseldateien auf Ihrem lokalen Computer, die Git CodeCommit verwenden und zur SSH Authentifizierung verwenden. Sie verknüpfen den öffentlichen Schlüssel mit Ihrem IAM Benutzer und speichern den privaten Schlüssel auf Ihrem lokalen Computer. 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 Zugriffstasten, wenn Sie programmgesteuert auf AWS Dienste zugreifen, entweder über einen der AWS SDKs oder mithilfe von AWS Command Line Interface ()AWS CLI. Die CLI Tools SDK und verwenden die Zugriffsschlüssel, um Ihre Anfragen kryptografisch zu signieren. Wenn Sie die AWS Tools nicht verwenden, müssen Sie die Anfragen selbst signieren. CodeCommit unterstützt Signature Version 4, ein Protokoll zur Authentifizierung eingehender AnfragenAPI. Weitere Informationen zur Authentifizierung von Anfragen finden Sie unter Signature Version 4-Signaturprozess im Allgemeine AWS-Referenz.

  • Root-Benutzer für das Amazon Web Services Services-Konto — Wenn Sie sich registrieren AWS, 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 mit Root-Konten nicht verfügbar. Darüber hinaus besteht die einzige Möglichkeit, Git mit Ihrem Root-Konto zu verwenden, darin, entweder den Credential Helper zu installieren und zu konfigurieren git-remote-codecommit (empfohlen) oder den AWS Credential Helper zu konfigurieren, der AWS CLI im Lieferumfang von enthalten ist. Sie können keine Git-Anmeldeinformationen oder SSH öffentlich-private Schlüsselpaare mit Ihrem Root-Kontobenutzer verwenden. Aus diesen Gründen empfehlen wir nicht, den Benutzer Ihres Root-Kontos zu verwenden, wenn Sie mit interagieren. CodeCommit

    Wichtig

    Aus Sicherheitsgründen empfehlen wir, dass Sie die Root-Anmeldeinformationen nur verwenden, um einen Administratorbenutzer zu erstellen, bei dem es sich um einen IAMBenutzer mit vollen Rechten für Ihr AWS Konto handelt. Anschließend können Sie diesen Administratorbenutzer verwenden, um andere IAM Benutzer und Rollen mit eingeschränkten Rechten zu erstellen. Weitere Informationen finden Sie unter IAMBewährte Methoden und Erstellen eines Admin-Benutzers und einer Administratorgruppe im IAMBenutzerhandbuch.

  • IAMIdentity Center und Benutzer in IAM Identity Center — AWS IAM Identity Center erweitert die Funktionen von AWS Identity and Access Management und bietet einen zentralen Ort, an dem die Verwaltung von Benutzern und deren Zugriff auf AWS-Konten und Cloud-Anwendungen zusammengeführt wird. Obwohl IAM Identity Center für die meisten Benutzer, die damit arbeiten AWS, 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 so installieren und konfigurieren, git-remote-codecommit dass sie lokal geklont werden, aber nicht alle integrierten Entwicklungsumgebungen (IDEs) unterstützen Cloning, Push oder Pulling With. git-remote-codecommit

    Als bewährte Methode sollten menschliche Benutzer, einschließlich Benutzer, die Administratorzugriff benötigen, für den Zugriff AWS-Services mithilfe temporärer Anmeldeinformationen den Verbund mit einem Identitätsanbieter verwenden.

    Eine föderierte Identität ist ein Benutzer aus Ihrem Unternehmensbenutzerverzeichnis, einem Web-Identitätsanbieter AWS Directory Service, dem Identity Center-Verzeichnis oder einem beliebigen Benutzer, der mithilfe AWS-Services von Anmeldeinformationen zugreift, die über eine Identitätsquelle bereitgestellt wurden. Wenn föderierte Identitäten darauf zugreifen AWS-Konten, übernehmen sie Rollen, und die Rollen stellen temporäre Anmeldeinformationen bereit.

    Für die zentrale Zugriffsverwaltung empfehlen wir Ihnen, AWS IAM Identity Center zu verwenden. Sie können Benutzer und Gruppen in IAM Identity Center erstellen, oder Sie können eine Verbindung zu einer Gruppe von Benutzern und Gruppen in Ihrer eigenen Identitätsquelle herstellen und diese synchronisieren, um sie in all Ihren AWS-Konten Anwendungen zu verwenden. Informationen zu IAM Identity Center finden Sie unter Was ist IAM Identity Center? im AWS IAM Identity Center Benutzerhandbuch.

  • IAMRolle — Wie ein IAM Benutzer ist auch eine IAMRolle eine IAM Identität, die Sie in Ihrem Konto erstellen können, um bestimmte Berechtigungen zu gewähren.

    Eine IAMRolle ist eine Identität innerhalb von Ihnen AWS-Konto , die über bestimmte Berechtigungen verfügt. Sie ähnelt einem IAM Benutzer, ist jedoch keiner bestimmten Person zugeordnet. Um vorübergehend eine IAM Rolle in der zu übernehmen AWS Management Console, können Sie von einem Benutzer zu einer IAM Rolle (Konsole) wechseln. Sie können eine Rolle übernehmen, indem Sie eine AWS CLI AWS API OR-Operation aufrufen oder eine benutzerdefinierte Operation verwendenURL. Weitere Informationen zu Methoden zur Verwendung von Rollen finden Sie unter Methoden zur Übernahme einer Rolle im IAMBenutzerhandbuch.

    IAMRollen mit temporären Anmeldeinformationen sind in den folgenden Situationen nützlich:

    • Verbundbenutzerzugriff – Um einer Verbundidentität Berechtigungen zuzuweisen, erstellen Sie eine Rolle und definieren Berechtigungen für die Rolle. Wird eine Verbundidentität authentifiziert, so 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 im IAMBenutzerhandbuch unter Erstellen einer Rolle für einen externen Identitätsanbieter (Federation). Wenn Sie IAM Identity Center verwenden, konfigurieren Sie einen Berechtigungssatz. Um zu kontrollieren, 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 -Benutzerhandbuch.

    • Temporäre IAM Benutzerberechtigungen — Ein IAM Benutzer oder eine Rolle kann eine IAM Rolle übernehmen, um vorübergehend verschiedene Berechtigungen für eine bestimmte Aufgabe zu übernehmen.

    • Kontoübergreifender Zugriff — Sie können eine IAM Rolle verwenden, um einer Person (einem vertrauenswürdigen Principal) 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. Bei einigen können Sie AWS-Services jedoch eine Richtlinie direkt an eine Ressource anhängen (anstatt eine Rolle als Proxy zu verwenden). Informationen zum Unterschied zwischen Rollen und ressourcenbasierten Richtlinien für den kontenübergreifenden Zugriff finden Sie IAMim Benutzerhandbuch unter Kontoübergreifender Ressourcenzugriff. IAM

    • Serviceübergreifender Zugriff — Einige AWS-Services verwenden Funktionen in anderen. AWS-Services Wenn Sie beispielsweise einen Service aufrufen, ist es üblich, dass dieser Service Anwendungen in Amazon ausführt EC2 oder Objekte in Amazon S3 speichert. Ein Dienst kann dies mit den Berechtigungen des aufrufenden Prinzipals mit einer Servicerolle oder mit einer serviceverknüpften Rolle tun.

      • Zugriffssitzungen weiterleiten (FAS) — Wenn Sie einen IAM Benutzer oder eine Rolle verwenden, um Aktionen auszuführen AWS, gelten Sie als Principal. Bei einigen Services könnte es Aktionen geben, die dann eine andere Aktion in einem anderen Service initiieren. FASverwendet die Berechtigungen des Prinzipals, der an aufruft AWS-Service, kombiniert mit der Anforderung, Anfragen AWS-Service an nachgelagerte Dienste zu stellen. FASAnfragen werden nur gestellt, wenn ein Dienst eine Anfrage erhält, für deren Abschluss Interaktionen mit anderen AWS-Services oder Ressourcen erforderlich sind. In diesem Fall müssen Sie über Berechtigungen zum Ausführen beider Aktionen verfügen. Einzelheiten zu den Richtlinien beim Stellen von FAS Anfragen finden Sie unter Zugriffssitzungen weiterleiten.

      • Servicerolle — Eine Servicerolle ist eine IAMRolle, die ein Dienst übernimmt, um Aktionen in Ihrem Namen auszuführen. Ein IAM Administrator kann eine Servicerolle von innen heraus erstellen, ändern und löschenIAM. Weitere Informationen finden Sie im IAMBenutzerhandbuch unter Erstellen einer Rolle zum Delegieren von Berechtigungen AWS-Service an eine.

      • Dienstbezogene Rolle — Eine dienstverknüpfte 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. Servicebezogene Rollen erscheinen in Ihrem Dienst AWS-Konto und gehören dem Dienst. Ein IAM Administrator kann die Berechtigungen für dienstbezogene Rollen anzeigen, aber nicht bearbeiten.

    • Auf Amazon ausgeführte Anwendungen 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 API Anfragen stellen AWS CLI . Dies ist dem Speichern von Zugriffsschlüsseln innerhalb der EC2 Instance vorzuziehen. Um einer EC2 Instanz eine AWS Rolle zuzuweisen und sie allen ihren Anwendungen zur Verfügung zu stellen, erstellen Sie ein Instanzprofil, das an die Instanz angehängt ist. Ein Instanzprofil enthält die Rolle und ermöglicht Programmen, die auf der EC2 Instanz ausgeführt werden, temporäre Anmeldeinformationen abzurufen. Weitere Informationen finden Sie im IAMBenutzerhandbuch unter Verwenden einer IAM Rolle, um Berechtigungen für Anwendungen zu erteilen, die auf EC2 Amazon-Instances ausgeführt werden.

    Anmerkung

    Sie können keine Git-Anmeldeinformationen oder SSH öffentlich-private Schlüsselpaare mit Verbundbenutzern 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 AWS CodeCommit mit git-remote-codecommit.

Zugriffskontrolle

Sie können über gültige Anmeldeinformationen verfügen, um Ihre Anfragen zu authentifizieren, aber ohne die entsprechenden Berechtigungen können Sie keine CodeCommit Ressourcen 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 beschrieben, wie Sie Berechtigungen für CodeCommit verwalten. Wir empfehlen Ihnen, zunächst die Übersicht zu lesen.

Überblick über die Verwaltung von Zugriffsberechtigungen für Ihre CodeCommit Ressourcen

Jede AWS Ressource gehört einem Amazon Web Services Services-Konto. Die Berechtigungen zum Erstellen einer Ressource oder für den Zugriff darauf werden durch Berechtigungsrichtlinien geregelt. Ein Kontoadministrator kann IAM Identitäten (d. h. Benutzern, Gruppen und Rollen) Berechtigungsrichtlinien zuordnen. Einige Dienste, wie z. B. AWS Lambda, unterstützen auch das Anhängen von Berechtigungsrichtlinien an Ressourcen.

Anmerkung

Ein Kontoadministrator (oder Administratorbenutzer) ist ein Benutzer mit Administratorrechten. Weitere Informationen finden Sie im IAMBenutzerhandbuch unter IAMBewährte Methoden.

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.

CodeCommit Ressourcen und Abläufe

CodeCommitIn ist die primäre Ressource ein Repository. Jeder Ressource ist ein eindeutiger Amazon-Ressourcenname (ARN) zugeordnet. In einer Richtlinie verwenden Sie einen Amazon-Ressourcennamen (ARN), um die Ressource zu identifizieren, für die die Richtlinie gilt. Weitere Informationen zu ARNs finden Sie unter Amazon Resource Names (ARN) und AWS Service Namespaces in der. Allgemeine Amazon Web Services-Referenz CodeCommit unterstützt derzeit keine anderen Ressourcentypen, die als Unterressourcen bezeichnet werden.

In der folgenden Tabelle wird beschrieben, wie Ressourcen angegeben CodeCommit werden.

Ressourcentyp ARNFormat
Repository

arn:aws:codecommit:region:account-id:repository-name

Alle Repositorien CodeCommit

arn:aws:codecommit:*

Alle CodeCommit Repositorys, die dem angegebenen Konto im angegebenen Konto gehören AWS-Region

arn:aws:codecommit:region:account-id:*

Anmerkung

Die meisten AWS Dienste behandeln einen Doppelpunkt (:) oder einen Schrägstrich (/) als dasselbe Zeichen. ARNs CodeCommit Erfordert jedoch eine exakte Übereinstimmung der Ressourcenmuster und Regeln. Achten Sie beim Erstellen von Ereignismustern darauf, die richtigen ARN Zeichen zu verwenden, damit sie der ARN Syntax in der Ressource entsprechen.

Sie können beispielsweise ein bestimmtes Repository angeben (MyDemoRepo) in Ihrer Aussage ARN wie folgt verwenden:

"Resource": "arn:aws:codecommit:us-west-2:111111111111:MyDemoRepo"

Um alle Repositorys anzugeben, die zu einem bestimmten Konto gehören, verwenden Sie das Platzhalterzeichen (*) wie folgt:

"Resource": "arn:aws:codecommit:us-west-2:111111111111:*"

Um alle Ressourcen anzugeben oder falls eine bestimmte API Aktion dies nicht unterstütztARNs, verwenden Sie das Platzhalterzeichen (*) im Resource Element wie folgt:

"Resource": "*"

Sie können auch das Platzhalterzeichen (*) verwenden, um alle Ressourcen anzugeben, die mit einem Teil eines Repository-Namen übereinstimmen. Im Folgenden wird beispielsweise jedes CodeCommit Repository ARN angegeben, das mit dem Namen beginnt MyDemo und das für das Amazon Web Services Services-Konto registriert ist 111111111111 in us-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 Services-Konto besitzt die Ressourcen, die im Konto erstellt wurden, unabhängig davon, wer sie erstellt hat. Insbesondere ist der Ressourcenbesitzer das Amazon Web Services Services-Konto der Prinzipalentität (d. h. das Root-Konto, ein IAM Benutzer oder eine IAM Rolle), die die Anfrage zur Ressourcenerstellung authentifiziert. Die Funktionsweise wird anhand der folgenden Beispiele deutlich:

  • Wenn Sie in Ihrem Amazon Web Services Services-Konto einen IAM Benutzer erstellen und diesem Benutzer Berechtigungen zum Erstellen von CodeCommit Ressourcen gewähren, kann der Benutzer CodeCommit Ressourcen erstellen. Ihr Amazon Web Services Services-Konto, zu dem der Benutzer gehört, besitzt jedoch die CodeCommit Ressourcen.

  • Wenn Sie die Root-Kontoanmeldeinformationen Ihres Amazon Web Services Services-Kontos verwenden, um eine Regel zu erstellen, ist Ihr Amazon Web Services Services-Konto der Eigentümer der CodeCommit Ressource.

  • Wenn Sie in Ihrem Amazon Web Services Services-Konto eine IAM Rolle mit Berechtigungen zum Erstellen von CodeCommit Ressourcen erstellen, kann jeder, der die Rolle übernehmen kann, CodeCommit Ressourcen erstellen. Ihr Amazon Web Services Services-Konto, zu dem die Rolle gehört, besitzt die CodeCommit Ressourcen.

Verwalten des Zugriffs auf Ressourcen

Um den Zugriff auf AWS Ressourcen zu verwalten, verwenden Sie Berechtigungsrichtlinien. Eine Berechtigungsrichtlinie beschreibt, wer Zugriff auf welche Objekte hat. Im folgenden Abschnitt werden die Optionen zum Erstellen von Berechtigungsrichtlinien erläutert.

Anmerkung

In diesem Abschnitt wird die Verwendung IAM im Kontext von beschrieben CodeCommit. Es enthält keine detaillierten Informationen über den IAM Dienst. Weitere Informationen zu IAM finden Sie unter Was istIAM? im IAMBenutzerhandbuch. Informationen zur IAM Richtliniensyntax und zu Beschreibungen finden Sie unter IAMPolicy Reference im IAMBenutzerhandbuch.

Berechtigungsrichtlinien, die mit einer IAM Identität verknüpft sind, werden als identitätsbasierte Richtlinien (IAMRichtlinien) bezeichnet. An Ressourcen angehängte Berechtigungsrichtlinien werden als ressourcenbasierte Richtlinien bezeichnet. CodeCommitUnterstützt derzeit nur identitätsbasierte Richtlinien (Richtlinien). IAM

Identitätsbasierte Richtlinien (Richtlinien) IAM

Um den Zugriff auf AWS Ressourcen zu verwalten, fügen Sie den Identitäten Berechtigungsrichtlinien hinzu. IAM In verwenden Sie identitätsbasierte Richtlinien CodeCommit, um den Zugriff auf Repositorys zu steuern. Sie können z. B. Folgendes tun:

  • Ordnen Sie einem Benutzer oder einer Gruppe in Ihrem Konto eine Berechtigungsrichtlinie zu — Um einem Benutzer Berechtigungen zum Anzeigen von CodeCommit Ressourcen in der CodeCommit Konsole zu gewähren, fügen Sie einem Benutzer oder einer Gruppe, zu der der Benutzer gehört, eine identitätsbasierte Berechtigungsrichtlinie hinzu.

  • Einer Rolle eine Berechtigungsrichtlinie zuordnen (um kontoübergreifende Berechtigungen zu gewähren) — Delegierung, z. B. wenn Sie kontenübergreifenden Zugriff gewähren möchten, beinhaltet die Einrichtung einer Vertrauensstellung zwischen dem Konto, dem die Ressource gehört (das vertrauenswürdige Konto), und dem Konto, das die Benutzer enthält, die auf die Ressource zugreifen müssen (dem vertrauenswürdigen 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 IAMBegriffe und Konzepte.

    Um kontoübergreifende Berechtigungen zu gewähren, fügen Sie einer Rolle eine identitätsbasierte Berechtigungsrichtlinie hinzu. IAM Beispielsweise kann der Administrator in Konto A wie folgt eine Rolle erstellen, um einem anderen Amazon Web Services Services-Konto (z. B. Konto B) oder einem AWS Service kontoübergreifende Berechtigungen zu gewähren:

    1. Konto Ein Administrator erstellt eine IAM Rolle und fügt der Rolle, die Berechtigungen für Ressourcen in Konto A gewährt, eine Berechtigungsrichtlinie hinzu.

    2. Der Administrator von Konto A weist der Rolle eine Vertrauensrichtlinie zu, die Konto B als den Prinzipal identifiziert, der die Rolle übernehmen kann.

    3. Der Administrator von Konto B kann dann die Berechtigungen zur Übernahme der Rolle an alle Benutzer in Konto B delegieren. Auf diese Weise können Benutzer in Konto B Ressourcen in Konto A erstellen oder darauf zugreifen. Wenn Sie einer AWS Dienstberechtigung zur Übernahme der Rolle erteilen möchten, kann der Principal in der Vertrauensrichtlinie auch ein AWS Dienstprinzipal sein. Weitere Informationen finden Sie unter Delegierung in IAMBegriffen und Konzepten.

    Weitere Informationen IAM zur Delegierung von Berechtigungen finden Sie unter Access Management im IAMBenutzerhandbuch.

Die folgende Beispielrichtlinie ermöglicht es einem Benutzer, einen Branch in einem Repository mit dem Namen zu erstellen MyDemoRepo:

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "codecommit:CreateBranch" ], "Resource" : "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo" } ] }

Um die Aufrufe und Ressourcen einzuschränken, auf die Benutzer in Ihrem Konto Zugriff haben, erstellen Sie spezifische IAM Richtlinien und fügen Sie diese Richtlinien dann den IAM Benutzern hinzu. Weitere Informationen zum Erstellen von IAM Rollen und Beispiele für IAM CodeCommit Richtlinienerklärungen finden Sie unterBeispiele für vom Kunden verwaltete Identitätsrichtlinien.

Ressourcenbasierte Richtlinien

Einige Dienste, wie Amazon S3, unterstützen auch ressourcenbasierte Berechtigungsrichtlinien. Sie können beispielsweise eine ressourcenbasierte Richtlinie an einen S3-Bucket anhängen, 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 Richtlinien verwenden können. IAM Ein Beispiel für eine Tag-basierte Richtlinien finden Sie unter Identitätsbasierte Richtlinien (Richtlinien) IAM.

Eingrenzung des Ressourcenbereichs CodeCommit

In CodeCommit können Sie identitätsbasierte Richtlinien und Berechtigungen auf Ressourcen beschränken, wie unter beschrieben. CodeCommit Ressourcen und Abläufe 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 erlauben oder zu verweigern, bestimmte Aktionen mit diesen 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, den SDKs AWS CLI, den oder indem sie diese direkt aufrufenAPIs. CodeCommit Definiert eine Reihe von API Aktionen, die Sie in einer Richtlinie angeben können, um Berechtigungen für diese Operationen zu erteilen.

Für einige API Operationen können Berechtigungen für mehr als eine Aktion erforderlich sein. Weitere Informationen zu Ressourcen und API Vorgängen finden Sie unter CodeCommit Ressourcen und Abläufe undReferenz für CodeCommit-Berechtigungen.

Die Grundelemente einer Richtlinie sind:

  • Ressource — Um die Ressource zu identifizieren, für die die Richtlinie gilt, verwenden Sie einen Amazon-Ressourcennamen (ARN). Weitere Informationen finden Sie unter CodeCommit Ressourcen und Abläufe.

  • Aktion — Um Ressourcenoperationen zu identifizieren, die Sie zulassen oder verweigern möchten, verwenden Sie Aktionsschlüsselwörter. Je nach Angabe Effect erlaubt oder verweigert die codecommit:GetBranch Berechtigung dem Benutzer beispielsweise die Ausführung des GetBranch Vorgangs, der Details zu einer Verzweigung in einem CodeCommit Repository abruft.

  • Wirkung — Sie geben den Effekt an, der eintritt, wenn der Benutzer die bestimmte Aktion anfordert, entweder zulassen oder verweigern. 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 (IAMRichtlinien) CodeCommit unterstützt der einzige Richtlinientyp den Benutzer, an den die Richtlinie angehängt ist, der implizite Prinzipal.

Weitere Informationen zur IAM Richtliniensyntax finden Sie unter IAMPolicy Reference im IAM Benutzerhandbuch.

Eine Tabelle mit allen CodeCommit API Aktionen und den Ressourcen, für die sie gelten, finden Sie unterReferenz für CodeCommit-Berechtigungen.

Angeben von Bedingungen in einer Richtlinie

Wenn Sie Berechtigungen erteilen, verwenden Sie die Sprache der Zugriffsrichtlinie fürIAM, um die Bedingungen anzugeben, unter denen eine Richtlinie wirksam werden soll. Beispielsweise kann festgelegt werden, dass eine Richtlinie erst ab einem bestimmten Datum gilt. Weitere Informationen zur Angabe von Bedingungen in einer Richtliniensprache finden Sie unter Bedingungen und Richtliniengrammatik im IAMBenutzerhandbuch.

Bedingungen werden mithilfe vordefinierter Bedingungsschlüssel formuliert. Es gibt keine spezifischen Bedingungsschlüssel für CodeCommit. Es gibt jedoch Bedingungsschlüssel für AWS alle Bereiche, die Sie je nach Bedarf verwenden können. Eine vollständige Liste der AWS-weiten Schlüssel finden Sie im IAMBenutzerhandbuch unter Verfügbare Schlüssel für Bedingungen.