IAM 역할을 사용하면 일반적으로 조직의 AWS 리소스에 대한 액세스 권한이 없는 사용자나 서비스에 액세스 권한을 위임할 수 있습니다. IAM 사용자나 AWS 서비스는 AWS API 호출을 수행하는 데 사용할 수 있는 임시 보안 자격 증명을 획득할 수 있는 권한을 수임할 수 있습니다. 따라서 장기 자격 증명을 공유하거나 리소스에 액세스해야 하는 엔터티별로 권한을 정의할 필요가 없습니다.
Secure access to AWS services by using IAM roles(6:04)
다음 시나리오에서는 액세스를 위임하는 방법으로 해결할 수 있는 몇 가지 과제를 중점적으로 다룹니다.
- Amazon EC2 인스턴스에서 실행되는 애플리케이션에 AWS 리소스에 대한 액세스 권한 부여
Amazon EC2 인스턴스의 애플리케이션에 AWS 리소스에 대한 액세스 권한을 부여하기 위해 개발자는 각 인스턴스에 자격 증명을 배포할 수 있습니다. 그러면 애플리케이션이 이러한 자격 증명을 사용해 Amazon S3 버킷 또는 Amazon DynamoDB 데이터와 같은 리소스에 액세스할 수 있습니다. 하지만 각 인스턴스에 장기 자격 증명을 배포하면 관리하기도 어렵고 잠재적인 보안 위험도 존재합니다. 위 동영상에서는 역할을 사용하여 이러한 보안 우려 사항을 해결하는 방법을 좀 더 자세히 설명합니다.
- 교차 계정 액세스
개발 환경을 프로덕션 환경과 분리하는 등, 리소스에 대한 액세스를 제어 또는 관리하려면 여러 AWS 계정이 필요할 수도 있습니다. 하지만 간혹 한 계정의 사용자가 다른 계정의 리소스에 액세스해야 하는 경우도 있습니다. 예를 들어, 개발 환경의 사용자가 업데이트를 수행하기 위해 프로덕션 환경에 액세스해야 할 수도 있습니다. 따라서 사용자가 각 계정마다 자격 증명을 갖고 있어야 하지만, 여러 계정의 여러 자격 증명을 관리하자면 자격 증명 관리가 어려워집니다. IAM 역할을 사용하면 이를 간소화할 수 있습니다. 교차 계정 액세스가 적용된 사례를 보려면
Trend Micro 사례 연구를 참조하세요.
- AWS 서비스에 권한 부여
AWS 서비스가 사용자를 대신해 작업을 수행할 수 있으려면, 이러한 작업을 수행할 수 있는 권한을 부여해야 합니다. IAM 역할을 사용하면 AWS 서비스가 사용자를 대신해 다른 AWS 서비스를 호출하거나 사용자 계정에서 AWS 리소스를 생성하고 관리할 수 있는 권한을 부여할 수 있습니다. 또한, Amazon Lex와 같은 AWS 서비스는 사전에 정의되어 해당하는 특정 서비스에서만 맡을 수 있는
서비스에 연결된 역할을 제공합니다.
IAM에서 권한을 관리하는 방법 알아보기