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

Dies ist der AWS CDK v2-Entwicklerhandbuch. Die ältere CDK Version 1 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.

Bootstrap Ihre Umgebung für die Verwendung mit AWS CDK

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 verwenden CDK 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 Projekts CDK

Sie können cdk bootstrap vom übergeordneten Verzeichnis eines CDK Projekts aus starten, das eine cdk.json Datei enthält. Wenn Sie keine Umgebung als Argument angeben, wird CDK CLI ruft Umgebungsinformationen aus Standardquellen ab, wie z. B. 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 aws-cdk kopieren GitHub Repository oder rufen Sie die Vorlage mit dem Befehl ab. cdk bootstrap --show-template 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"

Um diese Vorlage mit dem zu implementieren CDK 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

Informationen zur Verwendung CloudFormation StackSets zum Bootstrapping mehrerer Umgebungen finden Sie unter Bootstrapping mehrerer Umgebungen AWS-Konten zur AWS CDK Verwendung CloudFormation StackSets im AWSCloud Operations & Migrations-Blog.

Wann sollten Sie Ihre Umgebung bootstrappen

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

IAMRollen, die beim Bootstrapping erstellt wurden

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

  • CloudFormationExecutionRole

  • DeploymentActionRole

  • FilePublishingRole

  • ImagePublishingRole

  • LookupRole

CloudFormationExecutionRole

Bei dieser IAM Rolle handelt es sich um eine CloudFormation Servicerolle, die die CloudFormation Erlaubnis erteilt, Stack-Bereitstellungen in Ihrem Namen durchzuführen. Diese Rolle erteilt die CloudFormation Erlaubnis, AWS API Anrufe 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 sind die Sicherheitsanmeldedaten, die Sie mit dem CDK CLI würde bestimmen, CloudFormation was getan werden darf.

DeploymentActionRole

Diese IAM Rolle erteilt die Erlaubnis, Bereitstellungen in Ihrer Umgebung durchzuführen. Sie wird von der übernommen CDK 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 gegen den Amazon Simple Storage Service (Amazon S3) -Bucket durchzuführen, einschließlich des Hochladens und Löschens von Assets. Sie wird von der CDK CLI bei Bereitstellungen.

ImagePublishingRole

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

LookupRole

Diese IAM Rolle erteilt die readOnly Berechtigung, nach Kontextwerten aus der AWS Umgebung zu suchen. Sie wird von der übernommen CDK CLI bei der Ausführung von Aufgaben wie der Vorlagensynthese und -bereitstellung.

Beim IDs Bootstrapping erstellte Ressource

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 Pipelines CDK

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 Funktionen funktioniert. CDK

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 mithilfe von neu. --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 einen 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 Suchrolle 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üsselung 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 ECR Amazon-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-Repositorys unveränderlichECR.
14 2.34.0 Deaktiviert standardmäßig ECR das Amazon-Image-Scannen auf Repository-Ebene, um das Bootstrapping von Regionen zu ermöglichen, die das Scannen von Bildern nicht unterstützen.
15 2,60,0 KMSSchlüssel können nicht markiert werden.
16 2,69,0 Behebt den Security Hub Hub-Befund KMS.2.
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 ssm:GetParameters Bereitstellungsrolle eine Aktion hinzu. AWS CloudFormation IAM 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 IAM Bootstrap-Rollen sts:TagSession Berechtigungen hinzu.
23 2,161,0 Fügen Sie cloudformation:RollbackStack der Vertrauensrichtlinie der IAM Bereitstellungsrolle cloudformation:ContinueUpdateRollback Berechtigungen hinzu. Dadurch werden Berechtigungen für den cdk rollback Befehl bereitgestellt.

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. CDKv2 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
IAMRollen
ECRAmazon-Repository
SSMParameter 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, für die das Bootstrapping mit der Legacy-Vorlage durchgeführt wurde, muss durch Re-Bootstrapping auf die moderne Vorlage für CDK Version 2 aktualisiert werden. 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 Schlüssel zulassen KMS

Die Bereitstellungsrolle (DeploymentActionRole) gewährt die Berechtigung zum Lesen verschlüsselter Daten, was für kontoübergreifende Bereitstellungen mit Pipelines erforderlich ist. CDK 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 der von CDK Pipelines für den CodePipeline Artefakt-Bucket erstellte AWS KMS Schlüssel zum Zeitpunkt des Bootstrappings für das Konto noch nicht existiert und daher nicht in der Bootstrap-Vorlage von referenziert werden kann. ARN 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.

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

  2. Wenn Sie dies noch nicht getan haben, erstellen und implementieren Sie Ihr CDK 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 mit der CDK CLI:

    $ cdk bootstrap aws://account-id/region --template bootstrap-template.yaml
Um das Security Hub Hub-Problem zu beheben, wenn Sie CDK Pipelines nicht 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 mit der 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 mit der 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