본문 바로가기

자격증/AWS Certified Security - Specialty

[AWS SCS] IAM Permission Boundaries

728x90
반응형

IAM 권한 경계(Permission Boundaries) 이해

IAM 권한 경계란?

IAM 권한 경계(Permission Boundaries)는 IAM 정책을 제한하는 개념으로, 사용자가 가질 수 있는 최대 권한을 설정할 수 있는 기능입니다. 이 기능은 사용자와 **역할(Role)**에만 적용되며, **그룹(Group)**에는 적용되지 않습니다. 권한 경계는 사용자가 수행할 수 있는 권한의 "경계"를 설정하는 역할을 합니다. 이를 통해 정책이 허용할 수 있는 범위를 제한합니다.

IAM 권한 경계 예제

예를 들어, 다음과 같이 IAM 권한 경계가 설정되어 있다고 가정해 보겠습니다:

{
  "Action": ["s3:*", "cloudwatch:*", "ec2:*"]
}

 

이것은 사용자가 S3, CloudWatch, EC2 서비스에 대한 모든 권한을 가질 수 있다는 것을 의미하지 않습니다. 대신, 이것은 권한 경계로, 사용자가 받을 수 있는 최대 권한을 정의합니다. 예를 들어, 다음과 같이 iam:CreateUser 권한을 허용하는 정책이 있을 경우, 실제로 이 사용자는 iam:CreateUser 권한을 가지지 않게 됩니다. 이유는 권한 경계가 사용자의 권한 범위를 S3, CloudWatch, EC2로 제한하기 때문입니다.

따라서, 권한 경계와 IAM 정책의 결합은 사용자가 수행할 수 있는 권한을 제한하게 됩니다. 이처럼 권한 경계는 정책이 허용할 수 있는 최대 범위를 설정하는 역할을 합니다.

권한 경계와 SCP의 관계

권한 경계는 **AWS Organizations의 서비스 제어 정책(SCP)**와 결합되어 사용될 수 있습니다. 각 요소의 역할은 다음과 같습니다:

  • SCP (Service Control Policy): AWS Organizations에서 사용할 수 있는 서비스와 권한의 범위를 제한합니다.
  • 권한 경계: 특정 IAM 사용자가 가질 수 있는 권한의 최대 범위를 정의합니다.
  • IAM 정책: 사용자가 실제로 가진 권한을 정의합니다.

이 세 가지 요소는 최종적으로 사용자가 할 수 있는 작업을 결정합니다. 즉, 권한 경계는 가능한 권한 범위를 설정하고, IAM 정책은 이 범위 내에서 실제로 어떤 작업이 허용될지를 정의합니다.

권한 경계의 사용 사례

  1. 비관리자에게 권한 위임
    권한 경계를 사용하면 비관리자에게 권한을 위임할 수 있습니다. 예를 들어, 개발자가 IAM 사용자를 생성할 수 있도록 허용하되, 이들이 관리자 권한을 부여하지 못하도록 제한할 수 있습니다.
  2. 권한 상승 방지
    개발자가 자신의 권한을 관리할 수 있도록 허용하되, 자신을 관리자 권한으로 승격시키지 못하게 하는 등의 제한을 설정할 수 있습니다.
  3. 특정 사용자에게 권한 제한
    전체 계정이 아니라, 특정 사용자나 역할에 대해서만 권한을 제한하는 데 유용합니다. 이를 통해 더 세밀한 권한 관리를 할 수 있습니다.
  4. SCP 테스트
    조직 내에서 적용할 SCP 정책을 미리 테스트하고 싶은 경우, 권한 경계를 활용하여 실험할 수 있습니다. 이를 통해 정책이 실제로 어떻게 작동할지 미리 확인할 수 있습니다.

결론

IAM 권한 경계는 특정 IAM 사용자나 역할에 대해 허용할 수 있는 최대 권한을 설정하는 매우 유용한 기능입니다. 이를 사용하여 관리자가 아닌 사용자에게 권한을 위임하고, 권한 상승을 방지하며, 특정 사용자에게만 제한적인 권한을 부여할 수 있습니다. 권한 경계를 적절히 활용하면 더 안전하고 세밀한 권한 관리가 가능해집니다.

728x90
반응형