CLI: aws sso login
로컬 터미널에서 장기 키 없이 dev 계정 API를 호출.
개발자
로그인 시작
aws sso login --sso-session me 를 치면 브라우저가 열린다. ~/.aws/config의 sso-session 블록이 포털 주소와 리전을 알려준다.
단계단계를 누르면 위 관계도가 그 단계로 바뀐다
-
aws sso login --sso-session me 를 치면 브라우저가 열린다. ~/.aws/config의 sso-session 블록이 포털 주소와 리전을 알려준다.
[sso-session me] sso_start_url = https://d-xxxxxxxxxx.awsapps.com/start sso_region = ap-northeast-2 sso_registration_scopes = sso:account:access [profile dev-power] sso_session = me sso_account_id = 222222222222 sso_role_name = DevPowerUser region = ap-northeast-2 -
콘솔과 같은 인증을 거친 뒤 CLI 접근을 승인. SSO 액세스 토큰이 ~/.aws/sso/cache에 저장된다.
-
명령을 실행하면 SDK가 캐시 토큰으로 GetRoleCredentials(dev, DevPowerUser)를 호출. assignment가 없으면 여기서 ForbiddenException.
-
AccessKeyId · SecretAccessKey · SessionToken을 받아 캐시하고, SSO 토큰이 살아 있는 동안 만료 전에 자동 갱신.
-
요청에 SessionToken이 포함되어 서명된다. 평가 흐름은 콘솔과 같다.
$ aws sts get-caller-identity --profile dev-power { "Account": "222222222222", "Arn": "arn:aws:sts::222222222222:assumed-role/AWSReservedSSO_DevPowerUser_1a2b3c/junghun" }