Notice
Recent Posts
Recent Comments
Link
투케이2K
171. (Aws/Amazon) [AWS IAM] AWS IAM GetAccountAuthorizationDetails 사용자, 그룹, 역할, 정책 연결 관계 조회 API 정리 본문
Aws (Amazon)
171. (Aws/Amazon) [AWS IAM] AWS IAM GetAccountAuthorizationDetails 사용자, 그룹, 역할, 정책 연결 관계 조회 API 정리
투케이2K 2026. 1. 12. 20:46728x90
[개발 환경 설정]
개발 환경 : Aws / Amazon Web Services

[설명 정리]
// --------------------------------------------------------------------------------------
[개발 및 환경]
// --------------------------------------------------------------------------------------
- 인프라 : Aws / Amazon Web Services
- 기술 구분 : Aws / IAM / GetAccountAuthorizationDetails
- 사전) AWS IAM 자격 증명 설명 정리 :
>> AWS IAM 아이엠 계정 은 일부 AWS 서비스 및 리소스에 대한 액세스 권한을 가지고 있는 자격 증명입니다
>> IAM 아이엠 계정 은 ROOT 계정 혹은 다른 IAM 계정으로부터 권한을 부여 받을 수 있으며, 주어진 권한 내의 작업만 할 수 있습니다
>> IAM 아이엠 계정에서 할당 된 권한 외의 작업이 필요한 경우 ROOT 계정으로부터 추가 액세스 접근 권한을 부여 받아야 사용할 수 있습니다
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[설 명]
// --------------------------------------------------------------------------------------
1. AWS GetAccountAuthorizationDetails 는 계정 내 IAM 사용자, 그룹, 역할, 정책(고객/AWS 관리형)과 이들 간의 연결 관계를 한 번에 조회하는 API 입니다.
>> 흔히 권한 구성의 스냅샷을 얻을 때 사용합니다
2. AWS GetAccountAuthorizationDetails API 결과는 페이지네이션되며, Filter, MaxItems, Marker 파라미터로 범위와 페이지를 제어합니다.
3. AWS GetAccountAuthorizationDetails API 호출 Request , Response 전문 예시 :
// ✅ Request 전문 예시
https://iam.amazonaws.com/?Action=GetAccountAuthorizationDetails
&Version=2010-05-08
&AUTHPARAMS
핵심 파라미터 : Filter (User | Role | Group 등 타입 선택 조회) / MaxItems (1–1000 사이, 페이지당 최대 항목 수 지정) / Marker (이전 응답의 Marker 값을 그대로 넣어 다음 페이지를 가져옴)
// ✅ Response 전문 예시
{
"ResponseMetadata": {
"RequestId": "a3052f06-044b-4e13-9eb0-6269ae6ae1f5"
},
"UserDetailList": [
{
"Path": "/",
"UserName": "2k@TWOK.com",
"UserId": "AI..DK",
"Arn": "arn:aws:iam::123456789012:user/2k@TWOK.com",
"CreateDate": "2024-11-13T05:29:02.000Z",
"UserPolicyList": [],
"GroupList": [
"console-access"
],
"AttachedManagedPolicies": [
{
"PolicyName": "IAMUserChangePassword",
"PolicyArn": "arn:aws:iam::aws:policy/IAMUserChangePassword"
}
],
"Tags": [
{
"Key": "Department",
"Value": "IT개발팀"
}
]
}
],
"GroupDetailList": [],
"RoleDetailList": [
{
"Path": "/aws-service-role/eks.amazonaws.com/",
"RoleName": "AWSServiceRoleForAmazonEKS",
"RoleId": "AR..MT",
"Arn": "arn:aws:iam::123456789012:role/aws-service-role/eks.amazonaws.com/AWSServiceRoleForAmazonEKS",
"CreateDate": "2024-12-06T05:24:27.000Z",
"AssumeRolePolicyDocument": "%7B%..%7D",
"InstanceProfileList": [],
"RolePolicyList": [],
"AttachedManagedPolicies": [
{
"PolicyName": "AmazonEKSServiceRolePolicy",
"PolicyArn": "arn:aws:iam::aws:policy/aws-service-role/AmazonEKSServiceRolePolicy"
}
],
"Tags": [],
"RoleLastUsed": {
"LastUsedDate": "2026-01-11T23:22:35.000Z",
"Region": "ap-northeast-2"
}
}
],
"Policies": [],
"IsTruncated": true,
"Marker": "RAEKYi..BEh4ES0QVPra1"
}
4. AWS GetAccountAuthorizationDetails 호출 주요 에러 코드 정리 :
>> AccessDenied : 권한 부족 : iam:GetAccountAuthorizationDetails 권한 추가
>> UnauthorizedOperation : 같은 맥락의 권한 부족 : 동일
>> ThrottlingException : 호출 요청 초과 : 백오프, 호출 분산, 빈도 제어
>> InternalFailure : AWS 내부 오류 : 재시도, AWS 지원 문의
>> InvalidMarker : 잘못된 페이지 네비게이션 마커 사용 : 응답 제공 마커 사용
>> ValidationException : 잘못된 입력 파라미터 사용 : 파라미터 값 검증(범위/타입 확인)
5. AWS GetAccountAuthorizationDetails 호출 자바스크립트 예시 코드 :
<!-- [CDN 주소 설정] -->
<script src="https://sdk.amazonaws.com/js/aws-sdk-2.1416.0.min.js"></script>
// [전역 변수 선언]
const accessKey = 'AK..A6';
const secretKey = 'mP..5J';
// -----------------------------------------
// [AWS.config 지정]
// -----------------------------------------
AWS.config.update({
accessKeyId: accessKey,
secretAccessKey: secretKey
});
// -----------------------------------------
// [AWS 객체 생성]
// -----------------------------------------
const aws = new AWS.IAM();
// -----------------------------------------
// [요청 파라미터 생성]
// -----------------------------------------
var param = {
MaxItems: 100 // 조회 개수
};
// -----------------------------------------
// [GetAccountAuthorizationDetails AWS 계정 내 IAM 사용자, 그룹, 역할, 정책(고객/AWS 관리형)과 이들 간의 연결 관계 조회 수행]
// -----------------------------------------
// AWS 참고 사이트 : https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetAccountAuthorizationDetails.html
// -----------------------------------------
aws.getAccountAuthorizationDetails( params , function(err, data) {
if (err) {
console.error("[getAccountAuthorizationDetails] : [Error] : ", err);
} else {
console.log("[getAccountAuthorizationDetails] : [Success] : ", JSON.stringify(data));
}
});
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------
[로그인 계정] ROOT 루트 계정 로그인과 IAM 아이엠 계정 로그인 차이 설명 정리
https://kkh0977.tistory.com/7618
https://blog.naver.com/kkh0977/223731955897?trackingCode=blog_bloghome_searchlist
[Aws 사이트 : SimulatePrincipalPolicy 설명 정리]
https://docs.aws.amazon.com/IAM/latest/APIReference/API_SimulatePrincipalPolicy.html
[AWS] [Lambda] 런타임 Python 3.13 - boto3 모듈 사용해 AWS STS 임시 정보 호출 람다 생성
https://blog.naver.com/kkh0977/223962739399?trackingCode=blog_bloghome_searchlist
[자바스크립트 AWS STS 임시 자격 증명 사용해 S3 Get PreSignedUrl 프리 사인 URL 주소 생성]
https://kkh0977.tistory.com/8151
https://blog.naver.com/kkh0977/223938740405
// --------------------------------------------------------------------------------------
728x90
반응형
'Aws (Amazon)' 카테고리의 다른 글
Comments
