HTTP 쿼리 요청으로 IAM API 호출하기
HTTP 쿼리 요청으로 IAM API 호출하기
IAM과 AWS STS를 SDK 없이 직접 HTTP 쿼리 API로 호출하는 방법을 설명하는 페이지예요. 엔드포인트, HTTPS 필수, 서명(signing) 방식이 핵심 내용이에요.
출처: 문서
본문
Query API로 IAM과 AWS STS 서비스에 프로그래밍 방식으로 접근할 수 있어요. Query API 요청은 수행할 동작을 나타내는 Action 파라미터를 반드시 포함해야 하는 HTTPS 요청이에요. IAM과 AWS STS는 모든 동작에 대해 GET과 POST 요청을 모두 지원해요. 즉, 어떤 동작에는 GET을, 다른 동작에는 POST를 써야 하는 건 아니에요. 다만 GET 요청은 URL 크기 제한을 받아요. 이 제한은 브라우저에 따라 다르지만 보통 2048바이트예요. 따라서 더 큰 크기가 필요한 Query API 요청은 POST 요청을 사용해야 해요.
응답은 XML 문서예요. 응답에 대한 자세한 내용은 IAM API 레퍼런스나 AWS Security Token Service API 레퍼런스의 개별 동작 페이지를 참고하세요.
Tip — IAM이나 AWS STS API 동작을 직접 호출하는 대신 AWS SDK 중 하나를 사용할 수도 있어요. AWS SDK는 다양한 프로그래밍 언어와 플랫폼(Java, Ruby, .NET, iOS, Android 등)용 라이브러리와 샘플 코드로 구성돼 있어요. SDK는 IAM과 AWS에 대한 프로그래밍 방식 접근을 만드는 편리한 방법을 제공해요. 예를 들어 SDK는 요청의 암호화 서명(아래 참고), 오류 관리, 요청 자동 재시도 같은 작업을 처리해 줘요. AWS SDK에 대한 정보(내려받기·설치 방법 포함)는 Tools for Amazon Web Services 페이지를 참고하세요.
API 동작과 오류에 대한 자세한 내용은 IAM API 레퍼런스나 AWS Security Token Service API 레퍼런스를 참고하세요.
엔드포인트
IAM과 AWS STS는 각각 단일 글로벌 엔드포인트를 가져요.
- (IAM)
https://iam.amazonaws.com - (AWS STS)
https://sts.amazonaws.com
Important — AWS STS는 글로벌 엔드포인트 외에도 리전별 엔드포인트로 요청을 보내는 것을 지원해요. AWS는 지연 시간을 줄이고, 중복성을 확보하고, 세션 토큰 유효성을 높이기 위해 글로벌 엔드포인트보다 리전별 엔드포인트를 사용할 것을 권장해요. AWS STS를 리전에서 사용하려면 먼저 해당 AWS 계정의 그 리전에서 STS를 활성화해야 해요. AWS STS용 추가 리전 활성화에 대한 자세한 내용은 AWS 리전에서 AWS STS 관리를 참고하세요.
모든 서비스의 AWS 엔드포인트와 리전에 대한 자세한 내용은 AWS 일반 참조의 서비스 엔드포인트 및 할당량을 참고하세요.
HTTPS 필수
Query API는 보안 자격 증명 같은 민감한 정보를 반환하므로 모든 API 요청에 HTTPS를 사용해야 해요.
IAM API 요청 서명
요청은 액세스 키 ID와 시크릿 액세스 키로 서명해야 해요. 일상적인 IAM 작업에 AWS 계정 루트 사용자 자격 증명을 사용하지 않을 것을 강력히 권장해요. IAM 사용자의 자격 증명을 사용하거나 AWS STS로 임시 보안 자격 증명을 생성해서 사용할 수 있어요.
API 요청 서명에는 AWS Signature Version 4를 권장해요. Signature Version 4 사용에 대한 자세한 내용은 AWS 일반 참조의 Signature Version 4 서명 프로세스를 참고하세요.
Signature Version 2를 써야 한다면, AWS 일반 참조에서 Signature Version 2 사용법을 확인할 수 있어요.
자세한 내용은 다음을 참고하세요.
- AWS 보안 자격 증명 — AWS에 접근하는 데 사용하는 자격 증명 타입에 대한 일반 정보를 제공해요.
- IAM의 보안 모범 사례 — AWS 리소스를 안전하게 보호하기 위해 IAM 서비스를 사용하는 방법에 대한 권장 사항 목록을 제공해요.
- IAM의 임시 보안 자격 증명 — 임시 보안 자격 증명을 만들고 사용하는 방법을 설명해요.