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.
Passen Sie Standardrollennamen mithilfe von AWS CDK Aspekten und Escape-Schraffuren an
Erstellt von SANDEEP SINGH (AWS) und James Jacob () AWS
Code-Repository: cdk-aspects-override-example | Umgebung: Produktion | Technologien: Infrastruktur DevOps; Management und Unternehmensführung |
AWSdienstleistungen: AWSCDK; AWS CloudFormation; AWS Lambda |
Übersicht
Dieses Muster zeigt, wie die Standardnamen von Rollen, die durch AWS Cloud Development Kit (AWS CDK) Konstrukte erstellt werden, angepasst werden können. Das Anpassen von Rollennamen ist häufig erforderlich, wenn in Ihrer Organisation bestimmte Einschränkungen gelten, die auf Namenskonventionen basieren. Beispielsweise könnte Ihre Organisation AWS Identity and Access Management (IAM) Berechtigungsgrenzen oder Dienststeuerungsrichtlinien (SCPs) festlegen, die ein bestimmtes Präfix in Rollennamen erfordern. In solchen Fällen entsprechen die durch AWS CDK Konstrukte generierten Standardrollennamen möglicherweise nicht diesen Konventionen und müssen möglicherweise geändert werden. Dieses Muster erfüllt diese Anforderungen durch die Verwendung von Notluken und Aspekten in der. AWS CDK Sie verwenden Schraffuren, um benutzerdefinierte Rollennamen zu definieren, und Aspekte, um allen Rollen einen benutzerdefinierten Namen zuzuweisen, um sicherzustellen, dass die Richtlinien und Einschränkungen Ihrer Organisation eingehalten werden.
Voraussetzungen und Einschränkungen
Voraussetzungen
Ein aktiver AWS-Konto
In der AWS CDK Dokumentation angegebene Voraussetzungen
Einschränkungen
Aspekte filtern Ressourcen auf der Grundlage von Ressourcentypen, sodass alle Rollen dasselbe Präfix verwenden. Wenn Sie unterschiedliche Rollenpräfixe für verschiedene Rollen benötigen, ist eine zusätzliche Filterung auf der Grundlage anderer Eigenschaften erforderlich. Um beispielsweise Rollen, die mit AWS Lambda Funktionen verknüpft sind, unterschiedliche Präfixe zuzuweisen, könnten Sie nach bestimmten Rollenattributen oder Tags filtern und ein Präfix für Lambda-bezogene Rollen und ein anderes Präfix für andere Rollen anwenden.
IAMRollennamen haben eine maximale Länge von 64 Zeichen. Daher müssen modifizierte Rollennamen gekürzt werden, um diese Einschränkung zu erfüllen.
Einige AWS-Services sind nicht in allen verfügbar. AWS-Regionen Informationen zur Verfügbarkeit in den einzelnen Regionen finden Sie AWS-Services unter Nach Regionen
. Informationen zu bestimmten Endpunkten finden Sie auf der Seite Dienstendpunkte und Kontingente. Wählen Sie dort den Link für den Dienst aus.
Architektur
Zieltechnologie-Stack
AWS CDK
AWS CloudFormation
Zielarchitektur
Eine AWS CDK App besteht aus einem oder mehreren AWS CloudFormation Stacks, die synthetisiert und zur Verwaltung von Ressourcen bereitgestellt werden. AWS
Um eine Eigenschaft einer AWS CDK verwalteten Ressource zu ändern, die nicht durch ein Layer-2-Konstrukt (L2) offengelegt wird, verwenden Sie eine Escape-Hatch, um die zugrunde liegenden CloudFormation Eigenschaften (in diesem Fall den Rollennamen) zu überschreiben, und einen Aspekt, um die Rolle während der Stack-Synthese auf alle Ressourcen in der AWS CDK App anzuwenden. AWS CDK
Tools
AWS-Services
AWS Cloud Development Kit (AWS CDK)ist ein Softwareentwicklungs-Framework, das Ihnen hilft, AWS Cloud Infrastruktur im Code zu definieren und bereitzustellen.
AWS CDK Command Line Interface (AWS CDK CLI) (auch als AWS CDK Toolkit bezeichnet) ist ein Befehlszeilen-Cloud-Entwicklungskit, mit dem Sie mit Ihrer AWS CDK App interagieren können. Der CLI
cdk
Befehl ist das wichtigste Tool für die Interaktion mit Ihrer AWS CDK App. Es führt Ihre App aus, fragt das von Ihnen definierte Anwendungsmodell ab und erstellt und stellt die CloudFormation Vorlagen bereit, die von der generiert werden. AWS CDKAWS CloudFormationhilft Ihnen dabei, AWS Ressourcen einzurichten, sie schnell und konsistent bereitzustellen und sie während ihres gesamten Lebenszyklus regionsübergreifend AWS-Konten zu verwalten.
Code-Repository
Der Quellcode und die Vorlagen für dieses Muster sind im GitHub CDKAspects Override-Repository
Bewährte Methoden
Weitere Informationen finden Sie auf der AWS Prescriptive Guidance-Website unter Bewährte Methoden für die Verwendung von AWS CDK in TypeScript zur Erstellung von IaC-Projekten.
Epen
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Installiere das AWS CDK CLI. | Um das AWS CDK CLI global zu installieren, führen Sie den folgenden Befehl aus:
| AWS DevOps |
Überprüfen Sie die Version. | Führen Sie den Befehl aus:
Vergewissern Sie sich, dass Sie Version 2 von verwenden AWS CDK CLI. | AWS DevOps |
Bootstrap für die AWS CDK Umgebung. | Bevor Sie die AWS CloudFormation Vorlagen bereitstellen, bereiten Sie das Konto vor AWS-Region , das Sie verwenden möchten. Führen Sie den Befehl aus:
Weitere Informationen finden Sie in der AWS CDK Dokumentation unter Bootstrapping. AWS | AWS DevOps |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Richten Sie das Projekt ein. |
| AWS DevOps |
Stellen Sie Stacks mit Standardrollennamen bereit, die AWS CDK von der zugewiesen wurden. | Stellen Sie zwei CloudFormation Stacks (
Der Code übergibt Rolleneigenschaften nicht explizit, sodass die Rollennamen von erstellt werden. AWS CDK Ein Beispiel für die Ausgabe finden Sie im Abschnitt Zusätzliche Informationen. | AWS DevOps |
Stellen Sie Stapel mit Aspekten bereit. | In diesem Schritt wenden Sie einen Aspekt an, der eine Konvention für Rollennamen erzwingt, indem Sie allen IAM Rollen, die im Projekt bereitgestellt werden, ein Präfix hinzufügen. AWS CDK Der Aspekt ist in der
Ein Beispiel für die Ausgabe finden Sie im Abschnitt Zusätzliche Informationen. | AWS DevOps |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Lösche deine AWS CloudFormation Stapel. | Wenn Sie dieses Muster nicht mehr verwenden, führen Sie den folgenden Befehl aus, um Ressourcen zu bereinigen und zusätzliche Kosten zu vermeiden:
| AWS DevOps |
Fehlerbehebung
Problem | Lösung |
---|---|
Bei der Verwendung von treten Probleme auf. AWS CDK | Weitere Informationen finden Sie in der AWS CDK Dokumentation unter Behebung häufig auftretender AWS CDK Probleme. |
Zugehörige Ressourcen
Zusätzliche Informationen
Rollennamen, die von AWS CloudFormation Without Aspects erstellt wurden
Outputs: ExampleStack1WithoutAspects.Function1RoleName = example-stack1-without-as-Function1LambdaFunctionSe-y7FYTY6FXJXA ExampleStack1WithoutAspects.Function2RoleName = example-stack1-without-as-Function2LambdaFunctionSe-dDZV4rkWqWnI ... Outputs: ExampleStack2WithoutAspects.Function3RoleName = example-stack2-without-as-Function3LambdaFunctionSe-ygMv49iTyMq0
Rollennamen, die von AWS CloudFormation with aspects erstellt wurden
Outputs: ExampleStack1WithAspects.Function1RoleName = dev-unicorn-Function1LambdaFunctionServiceRole783660DC ExampleStack1WithAspects.Function2RoleName = dev-unicorn-Function2LambdaFunctionServiceRole2C391181 ... Outputs: ExampleStack2WithAspects.Function3RoleName = dev-unicorn-Function3LambdaFunctionServiceRole4CAA721C