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.
Erstellen einer Genehmigungsregel für eine Pull-Anforderung
Durch das Erstellen von Genehmigungsregeln für Pull-Anforderungen wird die Qualität des Codes sichergestellt, weil Benutzer die Pull-Anforderung genehmigen müssen, bevor der Code im Ziel-Branch zusammengeführt werden kann. Sie können die Anzahl der Benutzer angeben, die eine Pull-Anforderung genehmigen müssen. Sie können auch einen Genehmigungs-Pool von Benutzern für die Regel angeben. In diesem Fall werden nur Genehmigungen dieser Benutzer auf die Anzahl der erforderlichen Genehmigungen für die Regel angerechnet.
Anmerkung
Sie können auch Genehmigungsregelvorlagen erstellen, mit denen Sie die Erstellung von Genehmigungsregeln über Repositorys hinweg automatisieren können. Weitere Informationen finden Sie unter Arbeiten mit Genehmigungsregelvorlagen.
Sie können mit AWS CodeCommit-Konsole oder AWS CLI Regeln für das Repository erstellen.
Themen
Erstellen einer Pull-Anforderung
Sie können das CodeCommit -Konsole, um eine Pull-Anforderung in einem CodeCommit -Repository.
Öffnen Sie CodeCommit -Konsole beihttps://console.aws.amazon.com/codesuite/codecommit/home
. -
Wählen Sie unter Repositories (Repositorys) den Namen des Repositorys aus, in dem eine Genehmigungsregel für eine Pull-Anforderung erstellt werden soll.
-
Wählen Sie im Navigationsbereich Pull Requests aus.
-
Wählen Sie in der Liste die Pull-Anforderung aus, für die Sie eine Genehmigungsregel erstellen möchten. Sie können Genehmigungsregeln nur für offene Pull-Anforderungen erstellen.
-
Wählen Sie in der Pull-Anforderung Approvals (Genehmigungen) und dann Create approval rule (Genehmigungsregel erstellen) aus.
-
Geben Sie in das Feld Rule name (Regelname) einen aussagekräftigen Namen ein. Wenn Sie z. B. möchten, dass eine Pull-Anforderung von zwei Personen genehmigt werden muss, bevor sie zusammengeführt werden kann, können Sie die Regel beispielsweise
Require two approvals before merge
nennen.Anmerkung
Sie können den Namen einer Genehmigungsregel nicht mehr ändern, nachdem sie erstellt wurde.
Geben Sie in das Feld Number of approvals needed (Anzahl erforderlicher Genehmigungen) die gewünschte Anzahl ein. Der Standardwert ist 1.
-
(Optional) Wenn Sie voraussetzen möchten, dass die Genehmigungen für eine Pull-Anforderung von einer bestimmten Gruppe von Benutzern stammen, wählen Sie unter Approval rule members (Genehmigungsregelmitglieder) die Option Add (Hinzufügen) aus. Wählen Sie unter Approver type (Genehmigertyp) eine der folgenden Optionen aus:
IAM-Benutzername oder übernommene Rolle: Diese Option füllt dasAWS-Konto-ID mit dem Konto ein, mit dem Sie sich angemeldet haben. Vorausgesetzt wird nur ein Name. Sie kann sowohl für IAM-Benutzer als auch für Verbundzugriffsbenutzer verwendet werden, deren Name dem angegebenen Namen entspricht. Dies ist eine sehr leistungsfähige Option, die hohe Flexibilität bietet. Wenn Sie beispielsweise mit dem Amazon-Web-Services-Konto (123456789012) angemeldet sind, diese Option auswählen,
Mary_Major
, werden alle folgenden Genehmigungen als Genehmigungen dieses Benutzers gezählt:Ein IAM-Benutzer im Konto (
arn:aws:iam::123456789012:user/Mary_Major
)Ein Verbundbenutzer in IAM mit dem Namen Mary_Major (
arn:aws:sts::123456789012:federated-user/Mary_Major
)
Diese Option erkennt keine aktive Sitzung eines Benutzers, der die Rolle
CodeCommitReview
angenommen hat und den Rollensitzungsnamen Mary_Major (arn:aws:sts::123456789012:assumed-role/CodeCommitReview/Mary_Major
) verwendet, sofern Sie kein Platzhalterzeichen angegeben (*Mary_Major
). Sie können den Rollennamen auch explizit angeben (CodeCommitReview/Mary_Major
).Vollständig qualifiziertes ARN: Mit dieser Option können Sie den vollständig qualifizierten Amazon-Ressourcennamen (ARN) des IAM-Benutzers oder der IAM-Rolle angeben. Diese Option unterstützt auch angenommene Rollen, die von anderen AWS-Services wie AWS Lambda und AWS CodeBuild verwendet werden. Bei angenommenen Rollen sollte das ARN-Format bei Rollen „
arn:aws:sts::
“ und bei Funktionen „AccountID
:assumed-role/RoleName
arn:aws:sts::
“ sein.AccountID
:assumed-role/FunctionName
Wenn Sie gewählt habenIAM-Benutzername oder übernommene Rollewie der Genehmigende eingibt, inWert, geben Sie den Namen des IAM-Benutzers oder der IAM-Rolle ein. Wählen Sie erneut Add (Hinzufügen) aus, um weitere Benutzer oder Rollen hinzuzufügen, bis Sie alle Benutzer oder Rollen hinzugefügt haben, deren Genehmigungen auf die Anzahl der erforderlichen Genehmigungen angerechnet werden sollen.
Für beide Genehmigertypen können Platzhalterzeichen (*) in den Werten verwendet werden. Wenn Sie beispielsweiseIAM-Benutzername oder übernommene Rolle-Option, und Sie spezifizieren
CodeCommitReview/*
, alle Benutzer, die die Rolle desCodeCommitReview
werden im Genehmigungspool gezählt. Die individuellen Rollensitzungsnamen zählen zum Erreichen der erforderlichen Anzahl von Genehmigern. Auf diese Weise zählen sowohl Mary_Major als auch Li_Juan als Genehmigungen, wenn sie angemeldet sind und die RolleCodeCommitReview
annehmen. Weitere Informationen zu IAM-ARNs, Platzhaltern und Formaten finden Sie unterIAM-IDs.Anmerkung
Genehmigungsregeln unterstützen keine kontoübergreifenden Genehmigungen.
-
Wählen Sie nach dem Konfigurieren der Genehmigungsregel Submit (Senden).
Erstellen einer Genehmigungsregel für eine Pull-Anforderung (AWS CLI)
Um zu verwendenAWS CLIBefehle mit CodeCommit, installieren Sie dasAWS CLI. Weitere Informationen finden Sie unter Befehlszeilenreferenz.
So erstellen Sie eine Genehmigungsregel für eine Pull-Anforderung in einem CodeCommit Endlager
-
Führen Sie den Befehl create-pull-request-approval-rule aus und geben Sie Folgendes an:
-
ID der Pull-Anforderung (mit der Option --id).
-
Name der Genehmigungsregel (mit der Option --approval-rule-name).
-
Inhalt der Genehmigungsregel (mit der Option --approval-rule-content).
Wenn Sie die Genehmigungsregel erstellen, können Sie Genehmiger in einem Genehmigungs-Pool auf zwei Arten angeben:
-
CodeCommitApprovers: Diese Option setzt nur ein Amazon-Web-Services-Konto und eine Ressource voraus. Sie kann sowohl für IAM-Benutzer als auch für Verbundzugriffsbenutzer verwendet werden, deren Name dem angegebenen Ressourcennamen entspricht. Dies ist eine sehr leistungsfähige Option, die hohe Flexibilität bietet. Wenn Sie beispielsweise das Amazon Web Services Services-Konto 123456789012 angeben und
Mary_Major
, werden alle folgenden Genehmigungen als Genehmigungen dieses Benutzers gezählt:-
Ein IAM-Benutzer im Konto (
arn:aws:iam::123456789012:user/Mary_Major
) -
Ein Verbundbenutzer in IAM mit dem Namen Mary_Major (
arn:aws:sts::123456789012:federated-user/Mary_Major
)
Diese Option erkennt keine aktive Sitzung eines Benutzers, der die Rolle
CodeCommitReview
angenommen hat und den Rollensitzungsnamen Mary_Major (arn:aws:sts::123456789012:assumed-role/CodeCommitReview/Mary_Major
) verwendet, sofern Sie kein Platzhalterzeichen angegeben (*Mary_Major
). -
-
Vollständig qualifiziertes ARN: Mit dieser Option können Sie den vollständig qualifizierten Amazon-Ressourcennamen (ARN) des IAM-Benutzers oder der IAM-Rolle angeben.
Weitere Informationen zu IAM-ARNs, Platzhaltern und Formaten finden Sie unterIAM-IDs.
Im folgenden Beispiel wird eine Genehmigungsregel namens
Require two approved approvers
für eine Pull-Anforderung mit der ID27
. Die Regel gibt an, dass zwei Genehmigungen aus einem Genehmigungs-Pool erforderlich sind. Der Pool enthält alle Benutzer, die darauf zugreifen CodeCommit und übernimm die Rolle vonCodeCommitReview
im123456789012
Amazon Web Services Services-Konto. Er enthält außerdem entweder einen IAM-Benutzer oder einen IAM-Benutzer namensNikhil_Jayashankar
im selben Amazon-Web-Services-Konto:aws codecommit create-pull-request-approval-rule --pull-request-id
27
--approval-rule-name "Require two approved approvers
" --approval-rule-content "{\"Version\": \"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"CodeCommitApprovers:123456789012
:Nikhil_Jayashankar
\", \"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}" -
-
Ist der Befehl erfolgreich, wird eine Ausgabe zurückgegeben, die der folgenden ähnelt:
{ "approvalRule": { "approvalRuleName": "Require two approved approvers", "lastModifiedDate": 1570752871.932, "ruleContentSha256": "7c44e6ebEXAMPLE", "creationDate": 1570752871.932, "approvalRuleId": "aac33506-EXAMPLE", "approvalRuleContent": "{\"Version\": \"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"CodeCommitApprovers:
123456789012
:Nikhil_Jayashankar
\", \"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "lastModifiedUser": "arn:aws:iam::123456789012:user/Mary_Major" } }