Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Bootstrap Ihre Umgebung für die Verwendung mit AWS CDK

Fokusmodus
Bootstrap Ihre Umgebung für die Verwendung mit AWS CDK - AWS Cloud Development Kit (AWS CDK) v2

Dies ist der AWS CDK v2-Entwicklerhandbuch. Das ältere CDK v1 wurde am 1. Juni 2022 in die Wartung aufgenommen und der Support wurde am 1. Juni 2023 eingestellt.

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.

Dies ist der AWS CDK v2-Entwicklerhandbuch. Das ältere CDK v1 wurde am 1. Juni 2022 in die Wartung aufgenommen und der Support wurde am 1. Juni 2023 eingestellt.

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.

Führen Sie ein Bootstrapping für Ihre AWS Umgebung durch, um sie für AWS Cloud Development Kit (AWS CDK) Stack-Bereitstellungen vorzubereiten.

Wie booten Sie Ihre Umgebung

Sie können die AWS CDK Befehlszeilenschnittstelle verwenden (AWS CDK CLI) oder Ihr bevorzugtes AWS CloudFormation Bereitstellungstool, um Ihre Umgebung zu booten.

Verwenden Sie das CDK CLI

Sie können das CDK verwenden CLI cdk bootstrapBefehl zum Bootstrapping Ihrer Umgebung. Dies ist die Methode, die wir empfehlen, wenn Sie keine wesentlichen Änderungen am Bootstrapping benötigen.

Bootstrap aus einem beliebigen Arbeitsverzeichnis

Um von einem beliebigen Arbeitsverzeichnis aus zu booten, geben Sie die Umgebung für das Bootstrapping als Befehlszeilenargument an. Im Folgenden wird ein Beispiel gezeigt:

$ cdk bootstrap aws://123456789012/us-east-1
Tipp

Wenn Sie Ihre AWS Kontonummer nicht haben, können Sie sie bei der abrufen. AWS Management Console Sie können auch den folgenden AWS CLI Befehl verwenden, um Ihre Standardkontoinformationen, einschließlich Ihrer Kontonummer, anzuzeigen:

$ aws sts get-caller-identity

Wenn Sie Profile in Ihren credentials Dateien AWS config und Dateien benannt haben, verwenden Sie die --profile Option, um Kontoinformationen für ein bestimmtes Profil abzurufen. Im Folgenden wird ein Beispiel gezeigt:

$ aws sts get-caller-identity --profile prod

Verwenden Sie den aws configure get folgenden Befehl, um die Standardregion anzuzeigen:

$ aws configure get region $ aws configure get region --profile prod

Bei der Angabe eines Arguments ist das aws:// Präfix optional. Folgendes ist gültig:

$ cdk bootstrap 123456789012/us-east-1

Um mehrere Umgebungen gleichzeitig zu booten, geben Sie mehrere Argumente an:

$ cdk bootstrap aws://123456789012/us-east-1 aws://123456789012/us-east-2
Bootstrap aus dem übergeordneten Verzeichnis eines CDK-Projekts

Sie können cdk bootstrap vom übergeordneten Verzeichnis eines CDK-Projekts aus starten, das eine Datei enthält. cdk.json Wenn Sie keine Umgebung als Argument angeben, das CDK CLI ruft Umgebungsinformationen aus Standardquellen ab, z. B. aus Ihren config credentials AND-Dateien oder beliebigen Umgebungsinformationen, die für Ihren CDK-Stack angegeben sind.

Wenn Sie vom übergeordneten Verzeichnis eines CDK-Projekts aus booten, haben Umgebungen, die über Befehlszeilenargumente bereitgestellt werden, Vorrang vor anderen Quellen.

Um eine Umgebung zu booten, die in Ihren config und credentials -Dateien angegeben ist, verwenden Sie die Option: --profile

$ cdk bootstrap --profile prod

Weitere Informationen zum cdk bootstrap Befehl und zu den unterstützten Optionen finden Sie untercdk bootstrap.

Verwenden Sie ein beliebiges AWS CloudFormation Tool

Sie können die Bootstrap-Vorlage aus dem kopieren aws-cdk-cli GitHub Repository oder rufen Sie die Vorlage mit dem cdk bootstrap --show-template Befehl ab. Verwenden Sie dann AWS CloudFormation ein beliebiges Tool, um die Vorlage in Ihrer Umgebung bereitzustellen.

Mit dieser Methode können Sie AWS CloudFormation StackSets oder verwenden AWS Control Tower. Sie können auch die AWS CloudFormation Konsole oder die AWS Command Line Interface (AWS CLI) verwenden. Sie können Änderungen an Ihrer Vorlage vornehmen, bevor Sie sie bereitstellen. Diese Methode ist möglicherweise flexibler und eignet sich für umfangreiche Bereitstellungen.

Im Folgenden finden Sie ein Beispiel für die Verwendung der --show-template Option zum Abrufen und Speichern der Bootstrap-Vorlage auf Ihrem lokalen Computer:

macOS/Linux
$ cdk bootstrap --show-template > bootstrap-template.yaml
Windows

PowerShell Muss unter Windows verwendet werden, um die Kodierung der Vorlage beizubehalten.

powershell "cdk bootstrap --show-template | Out-File -encoding utf8 bootstrap-template.yaml"
$ cdk bootstrap --show-template > bootstrap-template.yaml
Anmerkung

Wenn CDK-Hinweise in Ihrer AWS CloudFormation Vorlagenausgabe erscheinen, geben Sie die --no-notices Option zusammen mit Ihrem Befehl an.

Um diese Vorlage mithilfe des CDK bereitzustellen CLI, können Sie Folgendes ausführen:

$ cdk bootstrap --template bootstrap-template.yaml

Im Folgenden finden Sie ein Beispiel für die Verwendung von AWS CLI zur Bereitstellung der Vorlage:

macOS/Linux
aws cloudformation create-stack \ --stack-name CDKToolkit \ --template-body file://path/to/bootstrap-template.yaml \ --capabilities CAPABILITY_NAMED_IAM \ --region us-west-1
Windows
aws cloudformation create-stack ^ --stack-name CDKToolkit ^ --template-body file://path/to/bootstrap-template.yaml ^ --capabilities CAPABILITY_NAMED_IAM ^ --region us-west-1
aws cloudformation create-stack \ --stack-name CDKToolkit \ --template-body file://path/to/bootstrap-template.yaml \ --capabilities CAPABILITY_NAMED_IAM \ --region us-west-1

Informationen zum Bootstrapping mehrerer Umgebungen finden Sie unter Bootstrapping multiple AWS-Konten for use CloudFormation StackSets im AWS CDK AWS Cloud Operations & Migrations-Blog. CloudFormation StackSets

Wann sollten Sie Ihre Umgebung booten

Sie müssen jede AWS Umgebung bootstrappen, bevor Sie sie in der Umgebung bereitstellen. Wir empfehlen, dass Sie für jede Umgebung, die Sie verwenden möchten, proaktiv ein Bootstrapping durchführen. Sie können dies tun, bevor Sie planen, CDK-Apps tatsächlich in der Umgebung bereitzustellen. Durch proaktives Bootstrapping Ihrer Umgebungen verhindern Sie potenzielle future Probleme wie Namenskonflikte Amazon S3 S3-Buckets oder die Bereitstellung von CDK-Apps in Umgebungen, die noch nicht gebootet wurden.

Es ist in Ordnung, eine Umgebung mehr als einmal zu booten. Wenn für eine Umgebung bereits ein Bootstrapping durchgeführt wurde, wird der Bootstrap-Stack bei Bedarf aktualisiert. Andernfalls wird nichts passieren.

Wenn Sie versuchen, einen CDK-Stack in einer Umgebung bereitzustellen, für die kein Bootstrapping durchgeführt wurde, wird ein Fehler wie der folgende angezeigt:

$ cdk deploy ✨ Synthesis time: 2.02s ❌ Deployment failed: Error: BootstrapExampleStack: SSM parameter /cdk-bootstrap/hnb659fds/version not found. Has the environment been bootstrapped? Please run 'cdk bootstrap' (see https://docs.aws.amazon.com/cdk/latest/guide/bootstrapping.html)

Aktualisieren Sie Ihren Bootstrap-Stack

In regelmäßigen Abständen aktualisiert das CDK-Team die Bootstrap-Vorlage auf eine neue Version. In diesem Fall empfehlen wir Ihnen, Ihren Bootstrap-Stack zu aktualisieren. Wenn Sie den Bootstrapping-Prozess nicht angepasst haben, können Sie Ihren Bootstrap-Stack aktualisieren, indem Sie dieselben Schritte ausführen, die Sie beim ursprünglichen Bootstrapping Ihrer Umgebung unternommen haben. Weitere Informationen finden Sie unter Versionsverlauf der Bootstrap-Vorlage.

Beim Bootstrapping erstellte Standardressourcen

Beim Bootstrapping erstellte IAM-Rollen

Standardmäßig stellt Bootstrapping die folgenden AWS Identity and Access Management (IAM-) Rollen in Ihrer Umgebung bereit:

  • CloudFormationExecutionRole

  • DeploymentActionRole

  • FilePublishingRole

  • ImagePublishingRole

  • LookupRole

CloudFormationExecutionRole

Diese IAM-Rolle ist eine CloudFormation Servicerolle, die die CloudFormation Erlaubnis erteilt, Stack-Bereitstellungen in Ihrem Namen durchzuführen. Diese Rolle erteilt die CloudFormation Erlaubnis, AWS API-Aufrufe in Ihrem Konto durchzuführen, einschließlich der Bereitstellung von Stacks.

Wenn Sie eine Servicerolle verwenden, bestimmen die für die Servicerolle bereitgestellten Berechtigungen, welche Aktionen mit Ihren CloudFormation Ressourcen ausgeführt werden können. Ohne diese Servicerolle gelten die Sicherheitsanmeldedaten, die Sie mit dem CDK angeben CLI würde bestimmen, CloudFormation was getan werden darf.

DeploymentActionRole

Diese IAM-Rolle erteilt die Erlaubnis, Bereitstellungen in Ihrer Umgebung durchzuführen. Sie wird vom CDK übernommen CLI bei Bereitstellungen.

Durch die Verwendung einer Rolle für Bereitstellungen können Sie kontoübergreifende Bereitstellungen durchführen, da die Rolle von AWS Identitäten in einem anderen Konto übernommen werden kann.

FilePublishingRole

Diese IAM-Rolle erteilt die Berechtigung, Aktionen für den Amazon Simple Storage Service (Amazon S3) -Bucket durchzuführen, einschließlich des Hochladens und Löschens von Assets. Sie wird vom CDK übernommen CLI bei Bereitstellungen.

ImagePublishingRole

Diese IAM-Rolle erteilt die Berechtigung, Aktionen gegen das Bootstrap-Repository der Amazon Elastic Container Registry (Amazon ECR) durchzuführen. Sie wird vom CDK übernommen CLI bei Bereitstellungen.

LookupRole

Diese IAM-Rolle gewährt die readOnly Berechtigung, nach Kontextwerten aus der AWS Umgebung zu suchen. Sie wird vom CDK übernommen CLI bei der Ausführung von Aufgaben wie der Template-Synthese und der Bereitstellung.

Ressource, die beim IDs Bootstrapping erstellt wurde

Wenn Sie die Standard-Bootstrap-Vorlage bereitstellen, werden physische Ressourcen IDs für Bootstrap mithilfe der folgenden Struktur erstellt:. cdk-qualifier-description-account-ID-Region

  • Qualifier — Ein aus neun Zeichen bestehender eindeutiger Zeichenfolgenwert von. hnb659fds Der tatsächliche Wert hat keine Bedeutung.

  • Beschreibung — Eine kurze Beschreibung der Ressource. Beispiel, container-assets.

  • Konto-ID — Die AWS-Konto ID der Umgebung.

  • Region — Die AWS-Region der Umgebung.

Im Folgenden finden Sie ein Beispiel für eine physische ID des Amazon S3 S3-Staging-Buckets, der beim Bootstrapping erstellt wurde:. cdk-hnb659fds-assets-012345678910-us-west-1

Berechtigungen, die Sie beim Bootstrapping Ihrer Umgebung verwenden können

Beim Bootstrapping einer AWS Umgebung muss die IAM-Identität, die das Bootstrapping durchführt, mindestens über die folgenden Berechtigungen verfügen:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:*", "ecr:*", "ssm:*", "s3:*", "iam:*" ], "Resource": "*" } ] }

Im Laufe der Zeit kann sich der Bootstrap-Stack, einschließlich der Ressourcen, die erstellt werden, und der erforderlichen Berechtigungen ändern. Bei future Änderungen müssen Sie möglicherweise die Berechtigungen ändern, die für das Bootstrapping einer Umgebung erforderlich sind.

Passen Sie das Bootstrapping an

Wenn die Standard-Bootstrap-Vorlage nicht Ihren Anforderungen entspricht, können Sie das Bootstrapping von Ressourcen auf folgende Weise an Ihre Umgebung anpassen:

  • Verwenden Sie Befehlszeilenoptionen zusammen mit dem cdk bootstrap Befehl — Diese Methode eignet sich am besten für kleine, spezifische Änderungen, die über Befehlszeilenoptionen unterstützt werden.

  • Ändern Sie die Standard-Bootstrap-Vorlage und stellen Sie sie bereit — Diese Methode eignet sich am besten für komplexe Änderungen oder wenn Sie die vollständige Kontrolle über die Konfiguration der beim Bootstrapping bereitgestellten Ressourcen haben möchten.

Weitere Informationen zum Anpassen von Bootstrapping finden Sie unter. AWS CDK Bootstrapping anpassen

Bootstrapping mit CDK Pipelines

Wenn Sie CDK Pipelines für die Bereitstellung in der Umgebung eines anderen Kontos verwenden und eine Meldung wie die folgende erhalten:

Policy contains a statement with one or more invalid principals

Diese Fehlermeldung bedeutet, dass die entsprechenden IAM-Rollen in der anderen Umgebung nicht vorhanden sind. Die wahrscheinlichste Ursache ist, dass für die Umgebung kein Bootstrapping durchgeführt wurde. Führen Sie ein Bootstrap für die Umgebung durch und versuchen Sie es erneut.

Schützen Sie Ihren Bootstrap-Stack vor dem Löschen

Wenn ein Bootstrap-Stack gelöscht wird, werden auch die AWS Ressourcen gelöscht, die ursprünglich in der Umgebung zur Unterstützung von CDK-Bereitstellungen bereitgestellt wurden. Dies führt dazu, dass die Pipeline nicht mehr funktioniert. In diesem Fall gibt es keine allgemeine Lösung für die Wiederherstellung.

Nachdem Ihre Umgebung gebootet wurde, sollten Sie den Bootstrap-Stack der Umgebung nicht löschen und neu erstellen. Versuchen Sie stattdessen, den Bootstrap-Stack auf eine neue Version zu aktualisieren, indem Sie den Befehl erneut ausführen. cdk bootstrap

Zum Schutz vor versehentlichem Löschen Ihres Bootstrap-Stacks empfehlen wir Ihnen, die --termination-protection Option mit dem cdk bootstrap Befehl zum Aktivieren des Kündigungsschutzes bereitzustellen. Sie können den Kündigungsschutz für neue oder bestehende Bootstrap-Stacks aktivieren. Anweisungen zum Aktivieren des Kündigungsschutzes finden Sie unter Kündigungsschutz für den Bootstrap-Stack aktivieren.

Versionsverlauf der Bootstrap-Vorlage

Die Bootstrap-Vorlage ist versioniert und entwickelt sich im Laufe der Zeit mit der selbst. AWS CDK Wenn Sie Ihre eigene Bootstrap-Vorlage bereitstellen, halten Sie sie mit der kanonischen Standardvorlage auf dem neuesten Stand. Sie möchten sicherstellen, dass Ihre Vorlage weiterhin mit allen CDK-Funktionen funktioniert.

Anmerkung

Frühere Versionen der Bootstrap-Vorlage erstellten standardmäßig AWS KMS key in jeder Bootstrap-Umgebung eine. Um Gebühren für den KMS-Schlüssel zu vermeiden, starten Sie diese Umgebungen neu mit. --no-bootstrap-customer-key Die aktuelle Standardeinstellung ist kein KMS-Schlüssel, wodurch diese Gebühren vermieden werden können.

Dieser Abschnitt enthält eine Liste der Änderungen, die in den einzelnen Versionen vorgenommen wurden.

Vorlagenversion AWS CDK Version Änderungen
1 1.40.0 Erste Version der Vorlage mit Bucket, Schlüssel, Repository und Rollen.
2 1.45.0 Teilen Sie die Rolle zur Veröffentlichung von Inhalten in separate Rollen für die Veröffentlichung von Dateien und Bildern auf.
3 1.46.0 Fügen Sie FileAssetKeyArn Export hinzu, um Benutzern von Inhalten Entschlüsselungsberechtigungen hinzufügen zu können.
4 1.61.0 AWS KMS Berechtigungen sind jetzt über Amazon S3 implizit und nicht mehr erforderlichFileAsetKeyArn. Fügen Sie den CdkBootstrapVersion SSM-Parameter hinzu, damit die Bootstrap-Stack-Version verifiziert werden kann, ohne den Stacknamen zu kennen.
5 1.87.0 Die Bereitstellungsrolle kann den SSM-Parameter lesen.
6 1.108.0 Fügen Sie die Suchrolle getrennt von der Bereitstellungsrolle hinzu.
6 1.109.0 Fügen Sie den Rollen „Bereitstellung“, „Dateiveröffentlichung“ und „Image-Publishing“ ein aws-cdk:bootstrap-role Tag hinzu.
7 1.110.0 Die Bereitstellungsrolle kann Buckets im Zielkonto nicht mehr direkt lesen. (Bei dieser Rolle handelt es sich jedoch praktisch um eine Administratorrolle und sie könnte ihre AWS CloudFormation Berechtigungen ohnehin nutzen, um den Bucket lesbar zu machen).
8 1.114.0 Die Lookup-Rolle hat volle Leseberechtigungen für die Zielumgebung und verfügt auch über ein Tag. aws-cdk:bootstrap-role
9 2.1.0 Behebt, dass Amazon S3 S3-Asset-Uploads nicht durch häufig referenzierte Verschlüsselungs-SCP abgelehnt werden.
10 2.4.0 Amazon ECR ScanOnPush ist jetzt standardmäßig aktiviert.
11 2.18.0 Fügt eine Richtlinie hinzu, die es Lambda ermöglicht, Daten aus Amazon ECR-Repos abzurufen, sodass es einen Neustart übersteht.
12 2.20.0 Fügt Unterstützung für experimentelle Anwendungen hinzucdk import.
13 2.25.0 Macht Container-Images in von Bootstrap erstellten Amazon ECR-Repositorys unveränderlich.
14 2.34.0 Deaktiviert standardmäßig das Amazon ECR-Bildscannen auf Repository-Ebene, um das Bootstrapping von Regionen zu ermöglichen, die das Scannen von Bildern nicht unterstützen.
15 2,60,0 KMS-Schlüssel können nicht markiert werden.
16 2,69,0 Behebt die Suche nach KMS.2 durch Security Hub.
17 2,72,0 Behebt den Security Hub Hub-Befund ECR.3.
18 2,80,0 Die für Version 16 vorgenommenen Änderungen wurden rückgängig gemacht, da sie nicht in allen Partitionen funktionieren und daher nicht empfohlen werden.
19 2,106,1 Die an Version 18 vorgenommenen Änderungen, bei denen die AccessControl Eigenschaft aus der Vorlage entfernt wurde, wurden rückgängig gemacht. (#27964)
20 2,119,0 Fügen Sie der Rolle „ AWS CloudFormation IAM-Bereitstellung“ eine ssm:GetParameters Aktion hinzu. Weitere Informationen finden Sie unter #28336.
21 2,149,0 Fügt der Rolle zur Dateiveröffentlichung eine Bedingung hinzu.
22 2,160,0 Fügen Sie der Vertrauensrichtlinie von Bootstrap-IAM-Rollen sts:TagSession Berechtigungen hinzu.
23 2,161,0 Fügen Sie cloudformation:RollbackStack der Vertrauensrichtlinie der Rolle Deploy IAM weitere cloudformation:ContinueUpdateRollback Berechtigungen hinzu. Dadurch werden Berechtigungen für den cdk rollback Befehl bereitgestellt.
24 2.165.0 Ändern Sie die Dauer der Tage, an denen veraltete Objekte im Bootstrap-Bucket aufbewahrt werden, von 365 auf 30 Tage. Da mit dem neuen cdk gc Befehl die Möglichkeit eingeführt wird, Objekte im Bootstrap-Bucket zu löschen, wird durch dieses neue Verhalten sichergestellt, dass gelöschte Objekte 30 Tage statt 365 Tage im Bootstrap-Bucket verbleiben. Weitere Informationen zu dieser Änderung finden Sie unter aws-cdk PR #31949.
25 2,165,0 Fügt dem Bootstrap-Bucket Unterstützung für das Entfernen unvollständiger mehrteiliger Uploads hinzu. Unvollständige mehrteilige Uploads werden nach einem Tag gelöscht. Weitere Informationen zu dieser Änderung finden Sie unter aws-cdk PR #31956.
26 2,1002,0 Fügen Sie der Ressource zwei Richtlinien für das Löschen (UpdateReplacePolicyund) DeletionPolicy hinzu. FileAssetsBucketEncryptionKey Diese Richtlinien stellen sicher, dass die alte AWS KMS Schlüsselressource ordnungsgemäß gelöscht wird, wenn der Bootstrap-Stack aktualisiert oder gelöscht wird. Weitere Informationen zu dieser Änderung finden Sie unter aws-cdk-cli PR #100.
27 2.1003,0 Fügen Sie eine neue Amazon ECR-Ressourcenrichtlinie hinzu, um Amazon EMR Serverless spezifische Berechtigungen für das Abrufen von Container-Images zu gewähren. Weitere Informationen zu dieser Änderung finden Sie unter PR #112. aws-cdk-cli

Führen Sie ein Upgrade von einer älteren auf eine moderne Bootstrap-Vorlage durch

Die AWS CDK Version 1 unterstützte zwei Bootstrapping-Vorlagen, Legacy und Modern. CDK v2 unterstützt nur das moderne Template. Als Referenz finden Sie hier die wichtigsten Unterschiede zwischen diesen beiden Vorlagen.

Funktion Legacy (nur Version 1) Modern (v1 und v2)
Kontoübergreifende Bereitstellungen Nicht zulässig Zulässig
AWS CloudFormation Berechtigungen Wird unter Verwendung der Berechtigungen des aktuellen Benutzers (bestimmt durch AWS Profil, Umgebungsvariablen usw.) bereitgestellt Wird mit den Berechtigungen bereitgestellt, die bei der Bereitstellung des Bootstrap-Stacks angegeben wurden (z. B. mithilfe von --trust
Versioning Es ist nur eine Version des Bootstrap-Stacks verfügbar Der Bootstrap-Stack ist versioniert; neue Ressourcen können in future Versionen hinzugefügt werden, und für AWS CDK Apps kann eine Mindestversion erforderlich sein
Ressourcen * Amazon-S3-Bucket Amazon-S3-Bucket
AWS KMS key
IAM-Rollen
Amazon ECR-Repository
SSM-Parameter für die Versionierung
Benennung von Ressourcen Automatisch generiert Deterministisch
Bucket-Verschlüsselung Standardschlüssel AWS standardmäßig verwalteter Schlüssel. Sie können es so anpassen, dass ein vom Kunden verwalteter Schlüssel verwendet wird.

* Wir werden der Bootstrap-Vorlage nach Bedarf zusätzliche Ressourcen hinzufügen.

Eine Umgebung, die mithilfe des Legacy-Templates gebootet wurde, muss durch Re-Bootstrapping aktualisiert werden, sodass sie das moderne Template für CDK v2 verwenden kann. Stellen Sie alle AWS CDK Anwendungen in der Umgebung mindestens einmal erneut bereit, bevor Sie den Legacy-Bucket löschen.

Gehen Sie auf die Ergebnisse von Security Hub ein

Wenn Sie verwenden AWS Security Hub, werden Ihnen möglicherweise Ergebnisse zu einigen Ressourcen gemeldet, die durch den AWS CDK Bootstrapping-Prozess erstellt wurden. Die Ergebnisse von Security Hub helfen Ihnen dabei, Ressourcenkonfigurationen zu finden, die Sie auf Richtigkeit und Sicherheit überprüfen sollten. Wir haben diese spezifischen Ressourcenkonfigurationen mit AWS Security überprüft und sind überzeugt, dass sie kein Sicherheitsproblem darstellen.

[KMS.2] IAM-Prinzipale sollten keine IAM-Inline-Richtlinien haben, die Entschlüsselungsaktionen für alle KMS-Schlüssel zulassen

Die Bereitstellungsrolle (DeploymentActionRole) gewährt die Berechtigung zum Lesen verschlüsselter Daten, was für kontoübergreifende Bereitstellungen mit CDK Pipelines erforderlich ist. Richtlinien in dieser Rolle gewähren nicht Zugriff auf alle Daten. Es gewährt nur die Erlaubnis, verschlüsselte Daten aus Amazon S3 zu lesen AWS KMS, und nur, wenn diese Ressourcen dies aufgrund ihrer Bucket- oder Schlüsselrichtlinie zulassen.

Im Folgenden finden Sie einen Auszug dieser beiden Anweisungen in der Deploy-Rolle aus der Bootstrap-Vorlage:

DeploymentActionRole: Type: AWS::IAM::Role Properties: ... Policies: - PolicyDocument: Statement: ... - Sid: PipelineCrossAccountArtifactsBucket Effect: Allow Action: - s3:GetObject* - s3:GetBucket* - s3:List* - s3:Abort* - s3:DeleteObject* - s3:PutObject* Resource: "*" Condition: StringNotEquals: s3:ResourceAccount: Ref: AWS::AccountId - Sid: PipelineCrossAccountArtifactsKey Effect: Allow Action: - kms:Decrypt - kms:DescribeKey - kms:Encrypt - kms:ReEncrypt* - kms:GenerateDataKey* Resource: "*" Condition: StringEquals: kms:ViaService: Fn::Sub: s3.${AWS::Region}.amazonaws.com ...

Warum meldet Security Hub das?

Die Richtlinien enthalten eine Klausel, die mit einer Condition Klausel Resource: * kombiniert wird. Security Hub kennzeichnet den * Platzhalter. Dieser Platzhalter wird verwendet, weil zum Zeitpunkt des Bootstrappings des Kontos der von CDK Pipelines für den CodePipeline Artefakt-Bucket erstellte AWS KMS Schlüssel noch nicht existiert und daher von ARN nicht in der Bootstrap-Vorlage referenziert werden kann. Darüber hinaus berücksichtigt Security Hub die Condition Klausel nicht, wenn diese Markierung aktiviert wird. Dies Condition beschränkt Resource: * sich auf Anfragen, die mit demselben AWS-Konto AWS KMS Schlüssel gestellt werden. Diese Anfragen müssen genauso AWS-Region wie der AWS KMS Schlüssel von Amazon S3 stammen.

Muss ich diesen Befund korrigieren?

Solange Sie den AWS KMS Schlüssel in Ihrer Bootstrap-Vorlage nicht so geändert haben, dass er zu freizügig ist, gewährt die Deploy-Rolle nicht mehr Zugriff als erforderlich. Daher ist es nicht erforderlich, dieses Ergebnis zu korrigieren.

Was ist, wenn ich diesen Befund korrigieren möchte?

Wie Sie dieses Problem beheben, hängt davon ab, ob Sie CDK Pipelines für kontoübergreifende Bereitstellungen verwenden werden oder nicht.

Um das Problem mit dem Security Hub zu beheben und CDK Pipelines für kontoübergreifende Bereitstellungen zu verwenden
  1. Falls Sie dies noch nicht getan haben, stellen Sie den CDK-Bootstrap-Stack mit dem folgenden Befehl bereit. cdk bootstrap

  2. Falls Sie dies noch nicht getan haben, erstellen Sie Ihr CDK und stellen Sie es bereit PipelineEntsprechende Anweisungen finden Sie unter Kontinuierliche Integration und Bereitstellung (CI/CD) mithilfe von CDK Pipelines.

  3. Besorgen Sie sich den AWS KMS Schlüssel-ARN des CodePipeline Artefakt-Buckets. Diese Ressource wird während der Pipelineerstellung erstellt.

  4. Besorgen Sie sich eine Kopie der CDK-Bootstrap-Vorlage, um sie zu ändern. Im Folgenden finden Sie ein Beispiel mit der AWS CDK CLI:

    $ cdk bootstrap --show-template > bootstrap-template.yaml
  5. Ändern Sie die Vorlage, indem Sie Resource: * die PipelineCrossAccountArtifactsKey Anweisung durch Ihren ARN-Wert ersetzen.

  6. Stellen Sie die Vorlage bereit, um Ihren Bootstrap-Stack zu aktualisieren. Das Folgende ist ein Beispiel für die Verwendung des CDK CLI:

    $ cdk bootstrap aws://account-id/region --template bootstrap-template.yaml
Um das Security Hub Hub-Problem zu beheben, wenn Sie keine CDK Pipelines für kontoübergreifende Bereitstellungen verwenden
  1. Besorgen Sie sich eine Kopie der CDK-Bootstrap-Vorlage, um sie zu ändern. Im Folgenden finden Sie ein Beispiel für die Verwendung des CDK CLI:

    $ cdk bootstrap --show-template > bootstrap-template.yaml
  2. Löschen Sie die PipelineCrossAccountArtifactsKey Anweisungen PipelineCrossAccountArtifactsBucket und aus der Vorlage.

  3. Stellen Sie die Vorlage bereit, um Ihren Bootstrap-Stack zu aktualisieren. Das Folgende ist ein Beispiel für die Verwendung des CDK CLI:

    $ cdk bootstrap aws://account-id/region --template bootstrap-template.yaml

Überlegungen

Da beim Bootstrapping Ressourcen in Ihrer Umgebung bereitgestellt werden, können AWS Gebühren anfallen, wenn Sie diese Ressourcen zusammen mit dem verwenden. AWS CDK

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.