AWS CLI를 사용하여 IAM Identity Center 사용자의 임시 보안 인증 정보를 가져오려면 어떻게 해야 합니까?

2분 분량
0

AWS IAM Identity Center(AWS Single Sign-On 후속) 사용자의 임시 보안 인증 정보를 얻고 싶습니다.

간략한 설명

IAM Identity Center를 사용하도록 명명된 프로파일을 구성하면 $ cd ~/.aws/sso/cache 디렉터리에 JSON 파일이 생성됩니다. JSON 파일에는 get-role-credentials API 호출을 사용하여 임시 보안 인증 정보를 가져오는 데 사용되는 JSON 웹 토큰(JWT)이 포함되어 있습니다. 액세스 토큰은 JSON 파일의 expiresAt 타임스탬프에 명시된 대로 8시간 동안 유효합니다. 만료된 토큰은 get-role-credentials API 호출을 사용하여 다시 인증해야 합니다.

해결 방법

AWS Command Line Interface(AWS CLI)를 사용하여 IAM Identity Center 사용자의 임시 보안 인증 정보를 가져올 수 있습니다.

참고: AWS CLI 명령을 실행할 때 오류가 발생하는 경우, 최신 버전의 AWS CLI를 사용하고 있는지 확인합니다.

JSON 파일을 열고 액세스 토큰을 복사합니다.

$ cat 535a8450b05870c9045c8a7b95870.json

{"startUrl": "https://my-sso-portal.awsapps.com/start", "region": "us-east-1", "accessToken": "eyJlbmMiOiJBM….”, "expiresAt": "2020-06-17T10:02:08UTC"}

AWS CLI 명령 get-role-credentials를 실행하여 다음과 유사한 IAM 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>

예제 출력:

{
    "roleCredentials": {
        "accessKeyId": "ASIA*************”,
        "secretAccessKey": “**********************************”,
        "sessionToken": “****************************************”,
        "expiration": 1592362463000
    }
}

그런 다음 자격 증명을 환경 변수로 구성의 지침을 따릅니다.


관련 정보

IAM Identity Center 권한 세트를 사용하려면 어떻게 해야 합니까?

AWS 공식
AWS 공식업데이트됨 3년 전