Erstellen einer Genehmigungsregelvorlage - AWS CodeCommit

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 Genehmigungsregelvorlage

Sie können einzelne oder mehrere Genehmigungsregelvorlagen erstellen, um Entwicklungs-Workflows über Repositorys hinweg anzupassen. Durch das Erstellen mehrerer Vorlagen können Sie die automatische Erstellung von Genehmigungsregeln so gestalten, dass für unterschiedliche Branches die jeweils erforderlichen Genehmigungen vorausgesetzt und Kontrollen bereitgestellt werden. Sie können beispielsweise unterschiedliche Vorlagen für Produktions- und Entwicklungs-Branches erstellen und diese Vorlagen einzelnen oder mehreren Repositorys zuweisen. Wenn Benutzer Pull-Anforderungen in diesen Repositorys erstellen, wird die Anforderung anhand dieser Vorlagen ausgewertet. Wenn die Anforderung den Bedingungen in den zugewiesenen Vorlagen entspricht, werden Genehmigungsregeln für die Pull-Anforderung erstellt.

Sie können die Konsole oder die AWS CLI verwenden, um Genehmigungsregelvorlagen zu erstellen. Weitere Informationen zu verwalteten Richtlinien und Berechtigungen für Genehmigungsregelvorlagen finden Sie unterBerechtigungen für Aktionen auf Vorlagen für Genehmigungsregeln undAWS verwaltete Richtlinien für CodeCommit.

So erstellen Sie eine Genehmigungsregelvorlage (Konsole)

Genehmigungsregelvorlagen sind standardmäßig keinem Repository zugeordnet. Sie können eine Zuordnung zwischen einer Vorlage und einzelnen oder mehreren Repositorys herstellen, wenn Sie die Vorlage erstellen. Sie können die Zuordnungen aber auch zu einem späteren Zeitpunkt vornehmen.

So erstellen Sie eine Genehmigungsregelvorlage (Konsole)

  1. Öffnen Sie dieCodeCommit Konsole unter https://console.aws.amazon.com/codesuite/codecommit/home.

  2. Wählen Sie Approval rule templates (Genehmigungsregelvorlagen) und dann Create template (Vorlage erstellen) aus.

  3. Geben Sie in das Feld Approval rule template name (Name der Genehmigungsregelvorlage) einen aussagekräftigen Namen an, der den Zweck beschreibt. Wenn Sie beispielsweise möchten, dass eine Person aus einer Gruppe leitender Entwickler eine Pull-Anforderung genehmigen muss, bevor sie zusammengeführt werden kann, können Sie die Regel beispielsweise Require 1 approver from a senior developer nennen.

  4. (Optional) Geben Sie in das Feld Description (Beschreibung) eine Beschreibung des Zwecks dieser Vorlage ein. Dies erleichtert anderen Benutzern die Entscheidung, ob diese Vorlage für ihre Repositorys geeignet ist.

  5. Geben Sie in das Feld Number of approvals needed (Anzahl erforderlicher Genehmigungen) die gewünschte Anzahl ein. Der Standardwert ist 1.

  6. (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 angenommene Rolle: Diese Option füllt die Amazon Web Services Services-Konto-ID für das Konto, mit dem Sie sich angemeldet haben, vorab aus und erfordert nur einen Namen. Es kann sowohl für IAM-Benutzer als auch für Verbundzugriffsbenutzer verwendet werden, deren Name mit dem angegebenen Namen übereinstimmt. Dies ist eine sehr leistungsfähige Option, die hohe Flexibilität bietet. Wenn Sie beispielsweise diese Option wählen und mit dem Amazon Web Services Services-Konto 123456789012 angemeldet sind und angebenMary_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 angeben (*Mary_Major). Sie können den Rollennamen auch explizit angeben (CodeCommitReview/Mary_Major).

    • Vollqualifizierter ARN: Mit dieser Option können Sie den vollqualifizierten Amazon Resource Name (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::AccountID:assumed-role/RoleName“ und bei Funktionen „arn:aws:sts::AccountID:assumed-role/FunctionName“ sein.

    Wenn Sie den IAM-Benutzernamen oder die übernommene Rolle als Genehmigungstyp ausgewählt haben, geben Sie im Feld Wert den Namen des IAM-Benutzers oder der IAM-Rolle oder den vollständig qualifizierten ARN des Benutzers oder der 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 beispielsweise die Option IAM-Benutzername oder übernommene Rolle wählen und angebenCodeCommitReview/*,CodeCommitReview werden alle Benutzer, die die Rolle von übernehmen, 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 Rolle CodeCommitReview annehmen. Weitere Informationen zu IAM-ARNs, Platzhaltern und IDs finden Sie unter IAM-IDs.

    Anmerkung

    Genehmigungsregeln unterstützen keine kontoübergreifenden Genehmigungen.

  7. (Optional) Geben Sie unter Branch filters (Branch-Filter) die Branch-Zielnamen ein, die zum Filtern der Erstellung von Genehmigungsregeln verwendet werden sollen. Wenn Sie beispielsweise main angeben, wird eine Genehmigungsregel für Pull-Requests in zugehörigen Repositorys nur erstellt, wenn der Ziel-Branch für den Pull-Request ein Branch mit dem Namen main ist. Sie können Platzhalterzeichen (*) in Branch-Namen verwenden, um Genehmigungsregeln allen Branch-Namen zuzuweisen, die den Namen mit Platzhaltern entsprechen. Sie dürfen Platzhalterzeichen jedoch nicht am Anfang eines Branch-Namens verwenden. Sie können bis zu 100 Branch-Namen angeben. Wenn Sie keine Filter angeben, gilt die Vorlage für alle Branches in einem zugeordneten Repository.

  8. (Optional) Wählen Sie unter Verknüpfte Repositorys in der Liste Repositorys die Repositorys ausAWS-Region, die Sie dieser Genehmigungsregel zuordnen möchten.

    Anmerkung

    Nach dem Erstellen der Vorlage können Sie Repositorys zuordnen. Weitere Informationen finden Sie unter Eine Genehmigungsregelvorlage einem Repository zuordnen..

  9. Wählen Sie Create (Erstellen) aus.

Eine Vorlage für Genehmigungsregeln, für die 1 Genehmiger aus einer definierten Genehmigungsregel erforderlich ist, wenn ein Pull-Request in einem Zweig namens main erstellt wird, der zwei Repositorys zugeordnet ist

So erstellen Sie eine Genehmigungsregelvorlage (AWS CLI)

Sie können die AWS CLI zum Erstellen von Genehmigungsregelvorlagen verwenden. Wenn Sie die AWS CLI verwenden, können Sie Zielverweise für die Vorlage angeben, damit sie nur für Pull-Anforderungen gilt, deren Ziel-Branches denen in der Vorlage entsprechen.

So erstellen Sie eine Genehmigungsregelvorlage (AWS CLI)

  1. Führen Sie am Terminal oder in der Befehlszeile den Befehl create-approval-rule-template unter Angabe der folgenden Informationen aus:

    • Name der Genehmigungsregelvorlage. Empfohlen wird ein Name, der ihren Zweck beschreibt.

    • Beschreibung der Genehmigungsregelvorlage. Wie beim Namen sollte die Eingabe aussagekräftig sein.

    • JSON-Struktur der Genehmigungsregelvorlage. Diese Struktur kann Anforderungen für Zielverweise umfassen, d. h. die Ziel-Branches für Pull-Anforderungen, für die die Genehmigungsregel gilt, und Genehmigungs-Pool-Mitglieder, also Benutzer, deren Genehmigungen für die Anzahl erforderlicher Genehmigungen gezählt werden.

    Beim Erstellen des Inhalts der Genehmigungsregel können Sie Genehmiger in einem Genehmigungs-Pool auf zwei Arten angeben:

    • CodeCommitApprovers: Für diese Option sind nur ein Amazon Web Services Services-Konto und eine Ressource erforderlich. Es kann sowohl für IAM-Benutzer als auch für Verbundzugriffsbenutzer verwendet werden, deren Name mit dem angegebenen Ressourcennamen übereinstimmt. Dies ist eine sehr leistungsfähige Option, die hohe Flexibilität bietet. Wenn Sie beispielsweise dasAWS Konto 123456789012 angeben undMary_Major alle folgenden Genehmigungen als Genehmigungen dieses Benutzers gezählt werden:

      • 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 von jemandem, der die Rolle von SeniorDevelopersmit dem Rollensitzungsnamen Mary_Major (arn:aws:sts::123456789012:assumed-role/SeniorDevelopers/Mary_Major) übernimmt, es sei denn, Sie fügen einen Platzhalter (*Mary_Major) ein.

    • Vollqualifizierter ARN: Mit dieser Option können Sie den vollqualifizierten Amazon Resource Name (ARN) des IAM-Benutzers oder der IAM-Rolle angeben.

    Weitere Informationen zu IAM-ARNs, Platzhaltern und IDs finden Sie unter IAM-IDs.

    Im folgenden Beispiel wird eine Genehmigungsregelvorlage namens 2-approver-rule-for-main mit der Beschreibung Requires two developers from the team to approve the pull request if the destination branch is main erstellt. Für die Vorlage müssen zwei Benutzer, die die Rolle CodeCommitReview angenommen haben, alle Pull-Anforderungen genehmigen, bevor sie im Branch main zusammengeführt werden können:

    aws codecommit create-approval-rule-template --approval-rule-template-name 2-approver-rule-for-main --approval-rule-template-description "Requires two developers from the team to approve the pull request if the destination branch is main" --approval-rule-template-content "{\"Version\": \"2018-11-08\",\"DestinationReferences\": [\"refs/heads/main\"],\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}"
  2. Ist der Befehl erfolgreich, wird eine Ausgabe zurückgegeben, die wie folgt aussehen sollte:

    { "approvalRuleTemplate": { "approvalRuleTemplateName": "2-approver-rule-for-main", "creationDate": 1571356106.936, "approvalRuleTemplateId": "dd8b17fe-EXAMPLE", "approvalRuleTemplateContent": "{\"Version\": \"2018-11-08\",\"DestinationReferences\": [\"refs/heads/main\"],\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "lastModifiedUser": "arn:aws:iam::123456789012:user/Mary_Major", "approvalRuleTemplateDescription": "Requires two developers from the team to approve the pull request if the destination branch is main", "lastModifiedDate": 1571356106.936, "ruleContentSha256": "4711b576EXAMPLE" } }