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.
-
Eine Einführung in Umgebungen finden Sie unter. Umgebungen für die AWS CDK
-
Eine Einführung in Bootstrapping finden Sie unter. AWS CDK Bootstrapping
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 bootstrap
Befehl 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 AWSconfig
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 einecdk.json
Datei enthält. Wenn Sie keine Umgebung als Argument angeben, wird CDK CLI ruft Umgebungsinformationen aus Standardquellen ab, wie z. B. Ihrenconfig
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
undcredentials
-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-Vorlagecdk 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:
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:
Informationen zur Verwendung CloudFormation StackSets zum Bootstrapping mehrerer Umgebungen finden Sie unter Bootstrapping mehrerer Umgebungen AWS-Konten zur AWS CDK Verwendung CloudFormation StackSets
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
-
Falls Sie dies noch nicht getan haben, stellen Sie den CDK Bootstrap-Stack mit dem folgenden Befehl bereit.
cdk bootstrap
-
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.
-
Besorgen Sie sich den AWS KMS Schlüssel ARN des CodePipeline Artefakt-Buckets. Diese Ressource wird während der Pipelineerstellung erstellt.
-
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
-
Ändern Sie die Vorlage, indem Sie
Resource: *
diePipelineCrossAccountArtifactsKey
Anweisung durch Ihren ARN Wert ersetzen. -
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
-
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
-
Löschen Sie die
PipelineCrossAccountArtifactsKey
AnweisungenPipelineCrossAccountArtifactsBucket
und aus der Vorlage. -
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