Beispiel: Authentifizieren Sie sich mit IAM Identity Center, automatische Token-Aktualisierung für die Verwendung mit dem AWS CDK CLI - 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.

Beispiel: Authentifizieren Sie sich mit IAM Identity Center, automatische Token-Aktualisierung für die Verwendung mit dem AWS CDK CLI

In diesem Beispiel konfigurieren wir AWS Command Line Interface (AWS CLI), um unseren Benutzer mit der AWS IAM Identity Center-Token-Provider-Konfiguration zu authentifizieren. Mit der Konfiguration des SSO-Token-Anbieters können AWS CLI automatisch aktualisierte Authentifizierungstoken abgerufen werden, um kurzfristige Anmeldeinformationen zu generieren, die wir mit der AWS Cloud Development Kit (AWS CDK) Befehlszeilenschnittstelle verwenden können (AWS CDK CLI).

Voraussetzungen

In diesem Beispiel wird davon ausgegangen, dass die folgenden Voraussetzungen erfüllt sind:

  • Voraussetzungen, die für die Einrichtung AWS und Installation unseres Startsystems erforderlich sind CLI Werkzeuge. Weitere Informationen finden Sie unter Voraussetzungen.

  • Das IAM Identity Center wurde von unserer Organisation als Methode zur Benutzerverwaltung eingerichtet.

  • Im IAM Identity Center wurde mindestens ein Benutzer erstellt.

Schritt 1: Konfigurieren Sie den AWS CLI

Ausführliche Anweisungen AWS CLI zu diesem Schritt finden Sie im AWS Command Line Interface Benutzerhandbuch unter Konfiguration der Anmeldeinformationen für den IAM Identity Center-Token-Anbieter mit automatischer Authentifizierungsaktualisierung.

Wir melden uns bei dem von unserer Organisation bereitgestellten AWS Zugriffsportal an, um unsere IAM Identity Center-Informationen zu sammeln. Dazu gehören die SSO-Start-URL und die SSO-Region.

Als Nächstes verwenden wir den AWS CLI aws configure sso Befehl, um ein IAM Identity Center-Profil und sso-session auf unserem lokalen Computer zu konfigurieren:

$ aws configure sso SSO session name (Recommended): my-sso SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]: us-east-1 SSO registration scopes [sso:account:access]: <ENTER>

Die AWS CLI Versuche, unseren Standardbrowser zu öffnen, um den Anmeldevorgang für unser IAM Identity Center-Konto zu starten. Wenn unser Browser nicht geöffnet werden kann, erhalten Sie Anweisungen zum manuellen Starten des Anmeldevorgangs. AWS CLI Dieser Vorgang verknüpft die IAM Identity Center-Sitzung mit unserer aktuellen AWS CLI Sitzung.

Nachdem wir unsere Sitzung eingerichtet haben, AWS CLI werden die folgenden für uns AWS-Konten verfügbaren angezeigt:

There are 2 AWS accounts available to you. > DeveloperAccount, developer-account-admin@example.com (123456789011) ProductionAccount, production-account-admin@example.com (123456789022)

Wir verwenden die Pfeiltasten, um unsere auszuwählen DeveloperAccount.

Als Nächstes AWS CLI werden die IAM-Rollen angezeigt, die uns von unserem ausgewählten Konto aus zur Verfügung stehen:

Using the account ID 123456789011 There are 2 roles available to you. > ReadOnly FullAccess

Wir verwenden die Pfeiltasten zur Auswahl FullAccess.

Als Nächstes werden wir AWS CLI aufgefordert, die Konfiguration abzuschließen, indem wir ein Standardausgabeformat, einen Standard AWS-Region und einen Namen für unser Profil angeben:

CLI default client Region [None]: us-west-2 <ENTER>> CLI default output format [None]: json <ENTER> CLI profile name [123456789011_FullAccess]: my-dev-profile <ENTER>

Daraufhin AWS CLI wird eine letzte Meldung angezeigt, die zeigt, wie das benannte Profil verwendet wird AWS CLI mit:

To use this profile, specify the profile name using --profile, as shown: aws s3 ls --profile my-dev-profile

Nach Abschluss dieses Schritts sieht unsere config Datei wie folgt aus:

[profile my-dev-profile]
sso_session = my-sso
sso_account_id = 123456789011
sso_role_name = fullAccess
region = us-west-2
output = json
			
[sso-session my-sso]
sso_region = us-east-1
sso_start_url = https://my-sso-portal.awsapps.com/start
sso_registration_scopes = sso:account:access

Wir können dieses sso-session und das benannte Profil jetzt verwenden, um Sicherheitsanmeldeinformationen anzufordern.

Schritt 2: Verwenden Sie die AWS CLI , um Sicherheitsanmeldeinformationen zu generieren

Ausführliche Anweisungen zu diesem Schritt finden Sie im AWS Command Line Interface Benutzerhandbuch unter Verwenden eines benannten IAM Identity Center-Profils.

Wir verwenden den AWS CLI aws sso login Befehl, um Sicherheitsanmeldedaten für unser Profil anzufordern:

$ aws sso login --profile my-dev-profile

AWS CLI Es versucht, unseren Standardbrowser zu öffnen und überprüft unsere IAM-Anmeldung. Wenn wir derzeit nicht bei IAM Identity Center angemeldet sind, werden wir aufgefordert, den Anmeldevorgang abzuschließen. Wenn unser Browser nicht geöffnet werden kann, erhalten Sie Anweisungen zum manuellen Starten des Autorisierungsvorgangs. AWS CLI

Nach erfolgreicher Anmeldung werden unsere Anmeldeinformationen für die IAM Identity AWS CLI Center-Sitzung zwischengespeichert. Diese Anmeldeinformationen enthalten einen Ablaufzeitstempel. Wenn sie ablaufen, fordern sie AWS CLI uns auf, uns erneut bei IAM Identity Center anzumelden.

Mithilfe gültiger IAM Identity Center-Anmeldeinformationen ruft das auf AWS CLI sichere Weise AWS Anmeldeinformationen für die in unserem Profil angegebene IAM-Rolle ab. Von hier aus können wir das verwenden AWS CDK CLI mit unseren Referenzen.

Schritt 3: Verwenden Sie das CDK CLI

Mit jedem CDK CLI Mit diesem Befehl geben wir mit der --profile Option das benannte Profil an, für das wir Anmeldeinformationen generiert haben. Wenn unsere Anmeldeinformationen gültig sind, das CDK CLI wird den Befehl erfolgreich ausführen. Im Folgenden wird ein Beispiel gezeigt:

$ cdk diff --profile my-dev-profile Stack CdkAppStack Hold on while we create a read-only change set to get a diff with accurate replacement information (use --no-change-set to use a less accurate but faster template-only diff) Resources [-] AWS::S3::Bucket amzn-s3-demo-bucket amzn-s3-demo-bucket5AF9C99B destroy Outputs [-] Output BucketRegion: {"Value":{"Ref":"AWS::Region"}} ✨ Number of stacks with differences: 1

Wenn unsere Anmeldeinformationen ablaufen, wird eine Fehlermeldung wie die folgende angezeigt:

$ cdk diff --profile my-dev-profile Stack CdkAppStack Unable to resolve AWS account to use. It must be either configured when you define your CDK Stack, or through the environment

Um unsere Anmeldeinformationen zu aktualisieren, verwenden wir den AWS CLI aws sso login folgenden Befehl:

$ aws sso login --profile my-dev-profile