반응형

IAM 사용자 그룹

IAM 사용자 그룹은 이름에서 알 수 있듯이 사용자들을 모아 놓은 그룹입니다. 기존에 사용자에게 권한을 주기 위해 계정에 각각 지정해줘야 합니다. 하지만 수백 수천 명의 사용자가 존재한다면 어떨까요?

 

좀 더 손쉬운 관리를 위해 그룹에 권한을 지정해주고 사용자를 그룹에 넣으면 해당 사용자는 그룹의 권한을 사용할 수 있게 제작된 서비스입니다.

자세한 내용

 

IAM 역할

IAM 역할은 임시 AWS 자격 증명에서 제공하는 서비스입니다. 여러 직원과 애플리케이션이 같은 역할을 사용할 수 있기 때문에 관리가 용이합니다. 역할 사용에는 요금이 따로 발생하지 않습니다. IAM 역할은 AssumeRole API를 통해 전달이 되는데 이는 역할 수임 부분에서 자세하게 알아보겠습니다.

 

예를 들어 위 그림과 같이 DevOps 팀에서 분석을 위한 앱을 사용해야 한다고 가정해봅시다. 분석앱을 사용하기 위해서는 해당 권한이 있어야 합니다. 이 때 직접 권한을 부여하는 것이 아닌 임시로 IAM 역할을 만들어 담당자에게 부여해주는 것입니다. 이렇게 IAM 사용자 그룹에 권한을 주지 않고 담당자에게만 분석앱을 활용할 수 있는 권한을 부여할 수 있게 됩니다.

 

IAM 역할을 사용하는 방법의 예는 다음과 같습니다.

  1. 교차 계정 액세스 - 다른 팀의 사용자가 해당 팀의 권한이 필요할 때
  2. 임시 계정 액세스 - 계약자에게 해당 팀의 권한을 임시로 줘야할 때
  3. 최소 권한 - 사용자가 IAM 역할을 사용해 원하는 작업을 요구할 수 있습니다.
  4. 감사 - 관리자가 IAM 역할을 사용한 사람을 추적할 수 있습니다.
  5. AWS 서비스 액세스 - Amazon Lex에서 Amazon Polly를 사용해 봇의 음성 응답을 합성할 수 있습니다.
  6. Amazon EC2용 IAM 역할 - Amazon EC2에서 실행되는 애플리케이션이 사용하고자 하는 서비스를 액세스할 수 있습니다.
  7. SAML 페더레이션 - 관리자가 외부 IdP에 저장된 자격 증명에 IAM을 사용할 수 있습니다.

역할 수임(Assuming a role, 수임=임무나 위임을 받다)

IAM 사용자, AWS 서비스 또는 페더레이션 사용자와 같은 신뢰할 수 있는 엔터티를 사용하여 역할을 수임합니다.

 

IAM 사용자는 AWS 관리 콘솔 또는 AWS CLI에서 역할을 수임하고 이 작업은 AssumeRole API를 사용합니다. AWS 서비스도 같은 API 호출을 통해 AWS 계정의 역할을 수임할 수 있습니다. 페더레이션 사용자는 AssumeRoleWithSAML 또는 AssumeRoleWithWebIdentity API 호출을 사용합니다.

 

API 호출은 AWS STS(AWS Security Token Service)에 대해 수행됩니다. AWS STS는 IAM 또는 페더레이션 사용자에게 제한된 권한의 임시 작격 증명을 제공하는 웹 서비스입니다. 이 서비스는 액세스 키 ID, 비밀 액세스 키 및 보안 토큰으로 구성된 임시 보안 자격 증명 집합을 반환합니다. 이러한 자격 증명을 사용하여 AWS 리소스에 액세스합니다. AssumeRole API는 일반적으로 교차 계정 액세스 또는 페더레이션에사용됩니다.

 

STS 자세한 내용

 

IAM 정책 배정

IAM에서 모든 IAM 정책 유형(관리형 정책 및 인라인 정책)을 생성하고 관리할 수 있는 도구를 제공합니다. IAM 자격 증명(사용자, 그룹, 역할)에 권한을 추가하려면 정책을 생성하고 정책 유효성을 검사한 다음 정책을 자격 증명에 연결합니다. 자격 증명 하나에 여러 정책을 연결할 수 있고 각 정책은 여러 권한을 포함할 수 있습니다.

 

보통 AWS 리소스에 대한 액세스 권한이 없는 사용자, 애플리케이션 또는 서비스에 액세스 권한을 위임할 때 역할을 사용합니다.

반응형