Ich möchte temporäre Anmeldeinformationen für IAM Identity Center-Benutzer erhalten.
Kurzbeschreibung
Um temporäre Anmeldeinformationen zu generieren, musst du den Befehl get-role-credentials ausführen. Wenn du ein benanntes Profil für die Verwendung von IAM Identity Center konfigurierst, erstellt die AWS Command Line Interface (AWS CLI) eine JSON-Datei im Verzeichnis cd ~/.aws/sso/cache. Die JSON-Datei enthält ein JSON web token (JWT), das verwendet wird, um die temporären Sicherheitsanmeldeinformationen mit dem Befehl get-role-credentials abzurufen. Das Zugriffstoken ist 8 Stunden gültig. Der Zeitstempel ExpiresAt in der JSON-Datei zeigt die Ablaufzeit an.
Lösung
Hinweis: Wenn du beim Ausführen von AWS CLI-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest.
Die temporären Anmeldeinformationen holen
Führe die folgenden Schritte aus:
-
Öffne die folgende JSON-Datei und suche dann das Zugriffstoken:
cat 535a8450b05870c9045c8a7b95870.json
{"startUrl": "https://my-sso-portal.awsapps.com/start", "region": "us-east-1", "accessToken": "eyJlbmMiOiJBM….", "expiresAt": "2020-06-17T10:02:08UTC"}
-
Kopiere den Wert accessToken.
-
Führe den folgenden Befehl get-role-credentials aus, um Anmeldeinformationen für den Identity Center-Benutzer abzurufen:
aws sso get-role-credentials --account-id 123456789012 --role-name permission-set-name --access-token eyJlbmMiOiJBM…. --region enter_the_same_sso_region_same_in_the_JSON_file
Hinweis: Ersetze enter_the_same_sso_region_same_in_the_JSON_file durch die AWS-Region aus deiner JSON-Datei und permission-set-name durch deinen Rollennamen. Wenn du den falschen Rollennamen verwendest, erhältst du die Fehlermeldung „An error occurred (ForbiddenException) when calling the GetRoleCredentials operation: No access.“ Wenn das Sitzungstoken oder die Region nicht mit der Ausgabe der JSON-Datei übereinstimmt, erhältst du die Fehlermeldung „An error occurred (UnauthorizedException) when calling the GetRoleCredentials operation: Session token not found or invalid.“
Beispielausgabe:
{ "roleCredentials": {
"accessKeyId": "ASIA*************",
"secretAccessKey": "**********************************",
"sessionToken": "****************************************",
"expiration": 1592362463000
}
}
-
Konfiguriere die Anmeldeinformationen als Umgebungsvariablen.
Ähnliche Informationen
Wie verwende ich IAM Identity Center-Berechtigungssätze?