

# AWS STS 자격 증명 비교
<a name="id_credentials_sts-comparison"></a>

다음 표는 임시 보안 자격 증명을 반환하는 AWS STS의 API 작업이 수행하는 기능을 비교해 보여줍니다. 역할을 수임해 임시 보안 자격 증명을 요청하는 데 사용할 수 있는 여러 방법을 알아보려면 [역할 수임 방법](id_roles_manage-assume.md) 섹션을 참조하세요. 세션 태그를 전달할 수 있는 다양한 AWS STS API 작업에 대한 자세한 내용은 [AWS STS에서 세션 태그 전달](id_session-tags.md) 섹션을 참조하세요.

**참고**  
전역 엔드포인트 또는 리전 엔드포인트 중 하나에 AWS STS API 호출을 전송할 수 있습니다. 더 가까이 있는 엔드포인트를 선택하면 지연 시간을 단축해 API 호출의 성능을 향상시킬 수 있습니다. 또한 원래 엔드포인트와 더 이상 통신하지 할 수 없는 경우 대체 리전 엔드포인트에 호출을 직접 보내는 방법을 선택할 수 있습니다. 다양한 AWS SDK 중 하나를 사용하고 있다면 API 호출 전에 해당 SDK 방법을 사용해 리전을 지정합니다. HTTP API 요청을 수동으로 구축하는 경우 그 요청을 정확한 엔드포인트에 직접 전송해야 합니다. 자세한 내용은 [https://docs.aws.amazon.com/general/latest/gr/rande.html#sts_region](https://docs.aws.amazon.com/general/latest/gr/rande.html#sts_region) 및 [AWS 리전에서 AWS STS 관리](id_credentials_temp_enable-regions.md) 섹션을 참조하세요.


|  **AWS STS API**  |  **호출할 수 있는 사용자**  |  **자격 증명의 수명(최소 \$1 최대 \$1 기본)**  |  **MFA 지원**¹  |  **세션 정책 지원**²  |  **결과로 얻은 임시 자격 증명에 대한 제한**  | 
| --- | --- | --- | --- | --- | --- | 
|  [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)  | IAM 사용자 또는 기존 임시 보안 자격 증명이 있는 IAM 역할  | 15분 \$1 최대 세션 기간 설정³ \$1 1시간  | 예  | 예 |  `GetFederationToken` 또는 `GetSessionToken` 호출 불가  | 
|  [AssumeRoleWithSAML](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html)  | 어떤 사용자나 호출자도 잘 알려진 자격 증명 공급자의 인증을 나타내는 SAML 인증 응답을 반드시 전달해야 합니다. | 15분 \$1 최대 세션 기간 설정³ \$1 1시간  | 아니요 | 예 |  `GetFederationToken` 또는 `GetSessionToken` 호출 불가  | 
|  [AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html)  | 모든 사용자, 호출자는 알려진 ID 공급자의 인증을 나타내는 OIDC 호환 JWT 토큰을 반드시 전달해야 합니다. | 15분 \$1 최대 세션 기간 설정³ \$1 1시간  | 아니요 | 예 |  `GetFederationToken` 또는 `GetSessionToken` 호출 불가  | 
| [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html) | IAM 사용자 또는 AWS 계정 루트 사용자 |  IAM 사용자: 15분 \$1 36시간 \$1 12시간 루트 사용자: 15분 \$1 1시간 \$1 1시간  | 아니요  | 예  |  AWS CLI 또는 AWS API를 사용하여 IAM 작업을 호출할 수 없습니다. 이 제한은 콘솔 세션에는 적용되지 않습니다. `GetCallerIdentity`를 제외한 AWS STS 작업을 호출할 수 없습니다.⁴ 콘솔로의 SSO가 허용됩니다.⁵  | 
| [GetSessionToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html) | IAM 사용자 또는 AWS 계정 루트 사용자 |  IAM 사용자: 15분 \$1 36시간 \$1 12시간 루트 사용자: 15분 \$1 1시간 \$1 1시간  | 예  | 아니요  |  요청에 MFA 정보를 포함되지 않으면 IAM API 작업을 호출할 수 없습니다. `AssumeRole` 또는 `GetCallerIdentity`를 제외한 AWS STS API 작업 호출 불가 콘솔로의 SSO는 허용되지 않습니다.⁶  | 

 ¹ ** MFA 지원**. AssumeRole 및 GetSessionToken API 작업을 호출할 때 멀티 팩터 인증(MFA)에 대한 정보를 포함시킬 수 있습니다. 이는 API 호출의 결과물인 임시 보안 자격 증명을 MFA 디바이스로 인증된 사용자들만 사용할 수 있게 해줍니다. 자세한 내용은 [MFA를 통한 보안 API 액세스](id_credentials_mfa_configure-api-require.md) 섹션을 참조하세요.

 ² ** 세션 정책 지원**. 세션 정책은 역할 또는 AWS STS 페더레이션 사용자 세션에 대해 임시 세션을 프로그래밍 방식으로 생성할 때 파라미터로 전달하는 정책입니다. 이 정책은 세션에 할당된 역할/사용자 자격 증명 기반 정책의 권한을 제한합니다. 결과적으로 얻는 세션의 권한은 엔터티의 자격 증명 기반 정책과 세션 정책의 교집합입니다 세션 정책을 사용하여 수임된 역할의 자격 증명 기반 정책에서 허용되는 것보다 더 많은 권한을 부여할 수는 없습니다. 역할 세션 권한에 대한 자세한 정보는 [세션 정책](access_policies.md#policies_session) 섹션을 참조하세요.

³ ** 최대 세션 기간 설정**. `DurationSeconds` 파라미터를 사용하여 역할 세션 기간을 900초(15초)에서 해당 역할에 대한 최대 세션 기간 설정까지 지정합니다. 역할에 대한 최댓값을 확인하는 방법을 알아보려면 [역할의 최대 세션 기간 업데이트](id_roles_update-role-settings.md#id_roles_update-session-duration) 섹션을 참조하세요.

⁴ **GetCallerIdentity**. 이 작업을 실행하는 데 따로 권한이 필요하지 않습니다. 관리자가 `sts:GetCallerIdentity` 작업에 대한 액세스를 명시적으로 거부하는 정책을 IAM 사용자 또는 역할에게 추가하더라도 이 작업을 계속해서 실행할 수 있습니다. 권한이 필요하지 않은 이유는 IAM 사용자 또는 역할의 액세스가 거부되어도 반환되는 정보는 동일하기 때문입니다. 응답 예제를 보려면 [iam:DeleteVirtualMFADevice를 수행할 권한이 없음](troubleshoot.md#troubleshoot_general_access-denied-delete-mfa) 섹션을 참조하세요.

⁵ **콘솔로 SSO(Single Sign-On)하기** SSO를 지원하기 위해 AWS는 페더레이션 엔드포인트(`https://signin.aws.amazon.com/federation`)를 호출해 임시 보안 자격 증명을 전달할 수 있게 해줍니다. 엔드포인트는 암호 없이도 사용자를 콘솔에 바로 로그인시켜주는 URL을 구성하는 데 사용 가능한 토큰을 반환합니다. 자세한 내용은 AWS 보안 블로그에서 [SAML 2.0 페더레이션 위탁자의 AWS Management Console 액세스 활성화](id_roles_providers_enable-console-saml.md) 및 [AWS 관리 콘솔에 대한 크로스 계정 액세스를 활성화하는 방법](https://aws.amazon.com/blogs/security/how-to-enable-cross-account-access-to-the-aws-management-console)을 참조하세요.

⁶ 임시 자격 증명을 검색한 이후에 연동 SSO 엔드포인트로 자격 증명을 전달하여 ​AWS Management Console에 액세스할 수 없습니다. 자세한 내용은 [AWS 콘솔에 대한 사용자 지정 ID 브로커 액세스 활성화](id_roles_providers_enable-console-custom-url.md) 섹션을 참조하세요.