スキップしてコンテンツを表示

AWS CLI を使用して IAM アイデンティティセンターのユーザーの一時的な認証情報を取得する方法を教えてください。

所要時間1分
0

AWS IAM アイデンティティセンターのユーザーの一時的な認証情報を取得したいです。

簡単な説明

一時的な認証情報を生成するには、get-role-credentials コマンドを実行する必要があります。IAM Identity Center を使用するための名前付きプロファイルを構成すると、AWS コマンドラインインターフェイス (AWS CLI) は cd ~/.aws/sso/cache ディレクトリ内に JSON ファイルを作成します。この JSON ファイルには、get-role-credentials コマンドで一時セキュリティ認証情報を取得する際に使用する JSON ウェブトークン (JWT) が含まれます。アクセストークンは 8 時間有効です。JSON ファイルの expiresAt タイムスタンプは、有効期限を示します。

解決策

注: AWS CLI のコマンドの実行時にエラーが発生する場合は、「AWS CLI でのエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。

一時認証情報を取得する

次の手順を実行します。

  1. 次の JSON ファイルを開き、アクセストークンを見つけます。

    cat 535a8450b05870c9045c8a7b95870.json
    {"startUrl": "https://my-sso-portal.awsapps.com/start", "region": "us-east-1", "accessToken": "eyJlbmMiOiJBM….", "expiresAt": "2020-06-17T10:02:08UTC"}
  2. accessToken の値をコピーします。

  3. 次の get-role-credentials コマンドを実行して Identity Center ユーザーの認証情報を取得します。

    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

    注: enter_the_same_sso_region_same_in_the_JSON_file を JSON ファイル内の AWS リージョンに、permission-set-name をロール名に置き換えてください。ロール名に誤りがある場合、次のエラーが発生します: "An error occurred (ForbiddenException) when calling the GetRoleCredentials operation: No access." セッショントークンまたはリージョンが JSON ファイルの出力と一致しない場合、次のエラーが発生します: "An error occurred (UnauthorizedException) when calling the GetRoleCredentials operation: Session token not found or invalid."
    出力例:

    {    "roleCredentials": {
            "accessKeyId": "ASIA*************",
            "secretAccessKey": "**********************************",
            "sessionToken": "****************************************",
            "expiration": 1592362463000
        }
    }
  4. 認証情報を環境変数として設定します

関連情報

IAM アイデンティティセンターのアクセス権限セットを使用するにはどうすればよいですか?

コメントはありません