유즈케이스 07 · 조직 가드레일

SCP 가드레일: 허용 리전 밖 차단

DevOps가 규칙을 걸고, 개발자는 그 규칙에 부딪힌다.

DevOps 관리자개발자
STEP 1 / 4DevOps 관리자

DevOps: OU에 SCP 부착

서울 · 버지니아 북부 외 리전 요청을 거부. IAM, Route 53, CloudFront 같은 글로벌 서비스는 NotAction으로 예외 처리.

단계단계를 누르면 위 관계도가 그 단계로 바뀐다
  1. 서울 · 버지니아 북부 외 리전 요청을 거부. IAM, Route 53, CloudFront 같은 글로벌 서비스는 NotAction으로 예외 처리.

    {
      "Effect": "Deny",
      "NotAction": ["iam:*", "sts:*", "route53:*", "cloudfront:*",
                    "organizations:*", "support:*"],
      "Resource": "*",
      "Condition": {"StringNotEquals": {
        "aws:RequestedRegion": ["ap-northeast-2", "us-east-1"]}}
    }
  2. dev의 DevPowerUser 세션이 us-west-2에서 ec2:RunInstances 호출.

  3. Identity 정책은 Allow지만 SCP의 명시적 Deny가 먼저 걸린다. 오류 메시지에 "explicit deny in a service control policy"가 찍힌다. 개발자는 고칠 수 없고 DevOps에 요청해야 하는 유형.

  4. SCP는 관리 계정 principal에 적용되지 않는다. admin 계정에서 리소스를 돌리면 이 가드레일이 안 걸리므로, 관리 계정엔 워크로드를 최소화하는 게 정석.