Cloud Infra Architecture (AWS)/AWS Organization

[AWS Organization] 특정 태그가 없는 리소스 생성 차단 SCP 생성

seongduck 2025. 3. 3. 16:15

시나리오

  • EC2, S3, RDS 생성시, Environment 태그가 없는 경우 요청 차단
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "DenyCreateResourceWithoutTags",
            // 리소스 생성 요청에서 태그가 없는 경우 차단
            "Effect": "Deny",
            "Action": [
                "ec2:RunInstances",
                // EC2 인스턴스 생성 요청
                "s3:CreateBucket",
                // S3 버킷 생성 요청
                "rds:CreateDBInstance"
                // RDS 데이터베이스 생성 요청
            ],
            "Resource": "*",
            // 모든 리소스에 대해 적용
            "Condition": {
                "Null": {
                    "aws:RequestTag/Environment": "true"
                    // 'Environment' 태그가 요청에 포함되지 않은 경우 차단
                }
            }
        },
        {
            "Sid": "AllowCreateResourceWithTags",
            // 태그가 포함된 리소스 생성 요청은 명시적으로 허용
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances",
                // EC2 인스턴스 생성 요청
                "s3:CreateBucket",
                // S3 버킷 생성 요청
                "rds:CreateDBInstance"
                // RDS 데이터베이스 생성 요청
            ],
            "Resource": "*",
            // 모든 리소스에 대해 적용
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/Environment": "Production"
                    // 'Environment' 태그의 값이 'Production'인 경우에만 허용
                }
            }
        }
    ]
}