본문 바로가기

자격증/AWS Certified Security - Specialty

[AWS SCS] AWS STS

728x90
반응형

AWS STS (Security Token Service)란 무엇인가?

AWS STS(Security Token Service)는 AWS 리소스에 대해 일시적이고 제한적인 접근 권한을 부여하는 중요한 보안 서비스입니다. STS는 사용자가 특정 역할을 가정하고, 그에 따른 임시 자격 증명을 받아 AWS 리소스에 접근할 수 있도록 합니다. 이 서비스는 다양한 보안 시나리오에서 유용하게 활용됩니다. 이번 글에서는 AWS STS의 주요 개념과 사용 사례에 대해 알아보겠습니다.


1. AWS STS 개요

AWS STS는 임시 보안 토큰을 발급하여 사용자가 지정된 시간 동안만 AWS 리소스에 접근할 수 있도록 합니다. 이 임시 자격 증명은 보통 1시간 정도 유효하며, 만료 후에는 갱신이 필요합니다. AWS STS를 사용하면 자격 증명의 유효 기간을 제한하여 보안을 강화할 수 있습니다.

2. STS API 호출

AWS STS에서는 여러 가지 API 호출을 통해 임시 자격 증명을 발급받을 수 있습니다. 주요 API 호출은 다음과 같습니다:

1) AssumeRole

  • 사용자가 특정 역할을 가정하고 임시 자격 증명을 받을 때 사용됩니다. 예를 들어, 동일 계정 내에서 역할을 가정하거나, 다른 계정에서 역할을 가정하여 작업을 수행할 수 있습니다.
  • AssumeRole 호출을 통해 얻은 임시 자격 증명은 일정 시간이 지나면 만료됩니다.

2) AssumeRoleWithSAML

  • SAML(Secure Assertion Markup Language) 인증을 사용하여 로그인한 사용자가 SAML 토큰을 STS와 교환하여 임시 자격 증명을 받을 수 있습니다. 이 과정에서는 STS가 SAML 토큰을 검증합니다.

3) AssumeRoleWithWebIdentity

  • 사용자가 Facebook, Google 등 OIDC(OpenID Connect) 호환된 인증 제공자를 통해 인증받은 후, 해당 인증 정보를 STS와 교환하여 임시 자격 증명을 얻을 수 있습니다. 현재 AWS는 이 API 호출 대신 Amazon Cognito 사용을 권장하고 있습니다.

4) GetSessionToken

  • MFA(다단계 인증)를 사용하여 로그인한 후, 실제 자격 증명을 얻을 때 사용하는 API입니다. MFA를 설정한 사용자에게 자격 증명을 부여하는 방식입니다.

3. STS를 통한 역할 가정

STS를 사용하여 역할을 가정하려면, 먼저 IAM 역할을 생성하고 해당 역할을 가정할 수 있는 사용자나 역할을 정의해야 합니다. 역할을 가정하고 얻은 임시 자격 증명으로 AWS 리소스에 접근할 수 있습니다. 예를 들어, 사용자가 특정 역할을 가정하여 리소스를 수정하거나 관리할 수 있습니다.

4. 교차 계정 접근 (Cross-Account Access)

STS를 사용하여 교차 계정 접근을 설정할 수 있습니다. 예를 들어, Dev 계정에서 Prod 계정의 S3 버킷에 접근하려면 다음 단계를 따릅니다:

  1. Prod 계정에서 S3 버킷에 접근할 수 있는 IAM 역할을 생성합니다.
  2. Dev 계정의 IAM 사용자나 그룹에 해당 역할을 가정할 수 있는 권한을 부여합니다.
  3. Dev 계정에서 AssumeRole API를 호출하여 임시 자격 증명을 얻고, 이를 통해 Prod 계정의 S3 버킷에 접근합니다.

이 과정에서 Prod 계정의 IAM 역할은 Dev 계정의 사용자가 이 역할을 가정할 수 있도록 권한을 부여해야 합니다. 이를 통해 보안이 강화되고, Dev 계정의 사용자만 Prod 계정의 리소스에 접근할 수 있습니다.

5. STS 사용 시 유의 사항

  • 임시 자격 증명은 일정 시간이 지나면 만료되므로, 이를 갱신해야 합니다.
  • 교차 계정 접근 시, IAM 역할을 정의하고 이를 가정할 수 있는 계정을 명확히 지정해야 합니다.
  • AssumeRole API를 호출하여 얻은 자격 증명은 제한된 시간 동안만 유효합니다.

결론

AWS STS는 임시 자격 증명을 통해 AWS 리소스에 대한 일시적이고 제한적인 접근을 허용하는 중요한 서비스입니다. 이를 통해 역할을 가정하고, 교차 계정 접근을 설정하며, 보안을 강화할 수 있습니다. STS는 다양한 인증 방식과 함께 사용되어 더 안전하고 유연한 보안 환경을 제공합니다. AWS 환경에서 보안을 강화하고자 할 때 STS를 활용하는 방법을 잘 이해하는 것이 중요합니다.

728x90
반응형