AWS STS 자격 증명 비교
다음 표는 임시 보안 자격 증명을 반환하는 AWS STS의 API 작업이 수행하는 기능을 비교해 보여줍니다. 역할을 수임해 임시 보안 자격 증명을 요청하는 데 사용할 수 있는 여러 방법을 알아보려면 역할 수임 방법 섹션을 참조하세요. 세션 태그를 전달할 수 있는 다양한 AWS STS API 작업에 대한 자세한 내용은 AWS STS에서 세션 태그 전달 섹션을 참조하세요.
참고
전역 엔드포인트 또는 리전 엔드포인트 중 하나에 AWS STS API 호출을 전송할 수 있습니다. 더 가까이 있는 엔드포인트를 선택하면 지연 시간을 단축해 API 호출의 성능을 향상시킬 수 있습니다. 또한 원래 엔드포인트와 더 이상 통신하지 할 수 없는 경우 대체 리전 엔드포인트에 호출을 직접 보내는 방법을 선택할 수 있습니다. 다양한 AWS SDK 중 하나를 사용하고 있다면 API 호출 전에 해당 SDK 방법을 사용해 리전을 지정합니다. HTTP API 요청을 수동으로 구축하는 경우 그 요청을 정확한 엔드포인트에 직접 전송해야 합니다. 자세한 내용은 리전 및 엔드포인트의 AWS STS 섹션 및 AWS 리전에서 AWS STS 관리 섹션을 참조하세요.
AWS STS API | 호출할 수 있는 사용자 | 자격 증명의 수명(최소 | 최대 | 기본) | MFA 지원¹ | 세션 정책 지원² | 결과로 얻은 임시 자격 증명에 대한 제한 |
---|---|---|---|---|---|
AssumeRole | IAM 사용자 또는 기존 임시 보안 자격 증명이 있는 IAM 역할 | 15분 | 최대 세션 기간 설정³ | 1시간 | 예 | 예 |
|
AssumeRoleWithSAML | 어떤 사용자나 호출자도 잘 알려진 자격 증명 공급자의 인증을 나타내는 SAML 인증 응답을 반드시 전달해야 합니다. | 15분 | 최대 세션 기간 설정³ | 1시간 | 아니요 | 예 |
|
AssumeRoleWithWebIdentity | 모든 사용자, 호출자는 알려진 ID 공급자의 인증을 나타내는 OIDC 호환 JWT 토큰을 반드시 전달해야 합니다. | 15분 | 최대 세션 기간 설정³ | 1시간 | 아니요 | 예 |
|
GetFederationToken | IAM 사용자 또는 AWS 계정 루트 사용자 |
IAM 사용자: 15분 | 36시간 | 12시간 루트 사용자: 15분 | 1시간 | 1시간 |
아니요 | 예 |
AWS CLI 또는 AWS API를 사용하여 IAM 작업을 호출할 수 없습니다. 이 제한은 콘솔 세션에는 적용되지 않습니다.
콘솔로의 SSO가 허용됩니다.⁵ |
GetSessionToken | IAM 사용자 또는 AWS 계정 루트 사용자 |
IAM 사용자: 15분 | 36시간 | 12시간 루트 사용자: 15분 | 1시간 | 1시간 |
예 | 아니요 |
요청에 MFA 정보를 포함되지 않으면 IAM API 작업을 호출할 수 없습니다.
콘솔로의 SSO는 허용되지 않습니다.⁶ |
¹ MFA 지원. AssumeRole 및 GetSessionToken API 작업을 호출할 때 멀티 팩터 인증(MFA)에 대한 정보를 포함시킬 수 있습니다. 이는 API 호출의 결과물인 임시 보안 자격 증명을 MFA 디바이스로 인증된 사용자들만 사용할 수 있게 해줍니다. 자세한 내용은 MFA를 통한 보안 API 액세스 단원을 참조하십시오.
² 세션 정책 지원. 세션 정책은 역할 또는 페더레이션 사용자에 대해 임시 세션을 프로그래밍 방식으로 생성할 때 파라미터로 전달하는 정책입니다. 이 정책은 세션에 할당된 역할/사용자 자격 증명 기반 정책의 권한을 제한합니다. 결과적으로 얻는 세션의 권한은 엔터티의 자격 증명 기반 정책과 세션 정책의 교집합입니다 세션 정책을 사용하여 수임된 역할의 자격 증명 기반 정책에서 허용되는 것보다 더 많은 권한을 부여할 수는 없습니다. 역할 세션 권한에 대한 자세한 정보는 세션 정책 섹션을 참조하세요.
³ 최대 세션 기간 설정. DurationSeconds
파라미터를 사용하여 역할 세션 기간을 900초(15초)에서 해당 역할에 대한 최대 세션 기간 설정까지 지정합니다. 역할에 대한 최댓값을 확인하는 방법을 알아보려면 역할의 최대 세션 기간 업데이트 섹션을 참조하세요.
⁴ GetCallerIdentity. 이 작업을 실행하는 데 따로 권한이 필요하지 않습니다. 관리자가 sts:GetCallerIdentity
작업에 대한 액세스를 명시적으로 거부하는 정책을 IAM 사용자 또는 역할에게 추가하더라도 이 작업을 계속해서 실행할 수 있습니다. 권한이 필요하지 않은 이유는 IAM 사용자 또는 역할의 액세스가 거부되어도 반환되는 정보는 동일하기 때문입니다. 응답 예제를 보려면 iam:DeleteVirtualMFADevice를 수행할 권한이 없음 섹션을 참조하세요.
⁵ 콘솔로 SSO(Single Sign-On)하기 SSO를 지원하기 위해 AWS는 페더레이션 엔드포인트(https://signin.aws.amazon.com/federation
)를 호출해 임시 보안 자격 증명을 전달할 수 있게 해줍니다. 엔드포인트는 암호 없이도 사용자를 콘솔에 바로 로그인시켜주는 URL을 구성하는 데 사용 가능한 토큰을 반환합니다. 자세한 내용은 AWS 보안 블로그에서 SAML 2.0 페더레이션 사용자가 AWS Management Console에 액세스할 수 있게 하기 및 AWS 관리 콘솔에 대한 크로스 계정 액세스를 활성화하는 방법
⁶ 임시 자격 증명을 검색한 이후에 연동 SSO 엔드포인트로 자격 증명을 전달하여 AWS Management Console에 액세스할 수 없습니다. 자세한 내용은 AWS 콘솔에 대한 사용자 지정 ID 브로커 액세스 활성화 단원을 참조하십시오.