[amazon-web-services] AWS Command Line Tools의 자격 증명을 테스트하는 방법

aws유틸리티에 전달할 수있는 명령 / 하위 명령이 있습니까? 1) ~/.aws/credentials파일 의 자격 증명 이 유효한지 확인하고, 2) 자격 증명이 속하는 사용자를 나타냅니다. 사용자에게 IAM 또는 특정 서비스에 대한 권한이 있다고 가정하지 않는 일반적인 것을 찾고 있습니다.

유스 케이스는 신임 정보가 올바른지 확인하기위한 배치 시간 상태 점검입니다. 유효하지 않은 신임 정보가있는 경우 리턴 값을 확인하고 배치를 중단하는 방법이 이상적입니다.



답변

GetCallerIdentity를 사용하십시오 .
aws sts get-caller-identity

다른 API / CLI 호출과 달리 IAM 권한에 관계없이 항상 작동합니다.

다음 형식으로 출력됩니다.

{
    "Account": "123456789012",
    "UserId": "AR#####:#####",
    "Arn": "arn:aws:sts::123456789012:assumed-role/role-name/role-session-name"
}

정확한 ARN 형식 은 자격 증명 유형에 따라 다르지만 종종 (인간) 사용자 이름이 포함됩니다.

성공시 0을 제공하고 자격 증명이 없으면 255를 제공 하는 표준 AWS CLI 오류 코드 를 사용합니다 .


답변

aws iam get-user사용자에게 iam권한 이 있는 경우 사용자가 누구인지 (현재 IAM 사용자)에 대한 세부 정보를 알려주 는 직접적인 방법이 있습니다 .

작업을 수행하는 데 필요한 구성 / 크레드가 있는지 여부를 알려주 는 --dry-run플래그 를 지원하는 몇 가지 CLI 호출이 aws ec2 run-instances있습니다.

또한이 --auth-dry-run명령을 실제로 실행하지 않고, 명령에 필요한 권한이 있는지 여부하는 확인합니다. 필요한 권한이 있으면 명령이 DryRunOperation을 반환합니다. 그렇지 않으면 UnauthorizedOperation을 반환합니다. [ AWS 설명서에서-공통 옵션 ]

누가 어떤 키가 할당되었는지 확인하기 위해 관리 콘솔에서 IAM 액세스 키를 나열 할 수 있습니다.

어떤 사용자 / 역할이 어떤 권한을 가지고 있는지 이해하는 가장 좋은 방법은 IAM Policy Simulator를 사용하는 것입니다 .


답변