Ich möchte temporäre Anmeldeinformationen für einen Benutzer des AWS IAM Identity Center (Nachfolger von AWS Single Sign-On) erhalten.
Kurzbeschreibung
Wenn Sie ein benanntes Profil für die Verwendung von IAM Identity Center konfigurieren, wird eine JSON-Datei im Verzeichnis $ cd ~/.aws/sso/cache erstellt. Die JSON-Datei enthält ein JSON Web Token (JWT), das verwendet wird, um die temporären Sicherheitsanmeldeinformationen mit dem API-Aufruf get-role-credentials abzurufen. Das Zugriffstoken ist 8 Stunden gültig, wie im expiresAT-Zeitstempel in der JSON-Datei vermerkt. Abgelaufene Token müssen mithilfe des API-Aufrufs get-role-credentials erneut authentifiziert werden.
Behebung
Sie können das AWS Command Line Interface (AWS CLI) verwenden, um die temporären Anmeldeinformationen für einen IAM Identity Center-Benutzer abzurufen.
**Hinweis:**Wenn Sie beim Ausführen von AWS-CLI-Befehlen Fehler erhalten, stellen Sie sicher, dass Sie die neueste AWS-CLI-Version verwenden.
Öffnen Sie die JSON-Datei und kopieren Sie 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"}
Führen Sie den AWS-CLI-Befehl get-role-credentials aus, um die Anmeldeinformationen für den IAM Identity Center-Benutzer abzurufen, ähnlich wie im folgenden Beispiel:
$ 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>
Beispiel für eine Ausgabe:
{
"roleCredentials": {
"accessKeyId": "ASIA*************”,
"secretAccessKey": “**********************************”,
"sessionToken": “****************************************”,
"expiration": 1592362463000
}
}
Folgen Sie dann den Anweisungen, um die Anmeldeinformationen als Umgebungsvariablen zu konfigurieren.
Weitere Informationen
Wie verwende ich IAM Identity Center-Berechtigungssätze?