정책 평가 지침

정책 평가 지침

AWS는 제출된 정책을 일련의 지침에 대해 평가해요. 같은 평가 지침이 정책 템플릿과 권한 경계 모두에 적용되며, 해당하는 곳에 사소한 차이가 표시돼요.

출처: 문서

본문

평가를 위해 서비스는 별개의 그룹으로 나뉘어요. 가장 중요한 구분은 액세스, 자격 증명, 키를 관리하는 보안 민감 서비스예요. 이 서비스에 대한 액세스를 부여하는 정책은 수행되는 작업에 좁게 초점을 맞춰야 해요. 보안 민감 서비스에는 다음이 포함돼요: AWS Identity and Access Management(IAM), AWS Key Management Service(KMS), AWS Resource Access Manager(RAM), AWS IAM Identity Center, AWS Organizations, AWS Secrets Manager.

이차 구분은 계정 경계를 넘어 데이터에 액세스할 수 있는 서비스예요. 이 서비스의 정책은 의도하지 않은 크로스 계정 액세스를 방지하는 보호 조치를 포함해야 해요.

공통 검증 (Common validations)

모든 정책 구문은 다음 지침을 따라야 해요.

  • 모든 구문은 Effect, Action(또는 NotAction), Resource, Condition 필드를 그 순서대로 포함해야 합니다.
  • 단일 구문 안의 모든 작업은 알파벳순으로 나열되어야 합니다.
  • 정책에 포함된 모든 ARN은 관련 서비스의 공개 문서에 정의된 문법을 따라야 합니다.
  • NotAction 필드는 Deny 구문에서만 사용할 수 있습니다.
  • Allow 구문의 작업은 서비스 코드를 포함해야 합니다. 일반 와일드카드("*")는 허용되지 않습니다.

보안 민감 서비스 제한

위에 언급된 보안 민감 서비스에는 다음 제한이 적용돼요.

  • Allow 구문의 작업은 [service]:*보다 구체적이어야 합니다.
  • 임시 액세스 정책 템플릿의 Allow 구문 작업은 와일드카드를 포함할 수 없습니다.
  • iam:PassRole이나 iam:CreateServiceLinkedRole 같은 민감 작업은 특정 리소스나 조건부 확인과 같은 추가 범위 지정이 필요합니다. 여기에는 다음 작업이 포함돼요.
    • IAM 역할 전달(role passing)
    • IAM 역할 수정 작업
    • IAM 정책 수정 작업
    • AWS KMS 쓰기 또는 암호화 작업
    • AWS RAM 쓰기 또는 공유 작업
    • 비밀 검색·수정 또는 리소스 정책 수정을 위한 AWS Secrets Manager 작업
  • 다른 작업은 와일드카드 리소스를 사용할 수 있습니다(예: iam:ListUsers, iam:GetPolicy).
  • iam:CreateAccessKey 같은 자격 증명을 관리하는 작업은 차단됩니다.

IAM 고유 제한

IAM에 대해서:

  • IAM 역할과 정책에 대해 제한된 쓰기 작업만 허용됩니다. 사용자, 그룹, 인증서 같은 다른 IAM 리소스의 권한은 요청할 수 없습니다.
  • 정책 연결 또는 인라인 정책 관리 작업은 권한 경계가 있는 역할로 제한됩니다. 권한 경계는 파트너가 제공하거나 허용된 AWS 관리형 정책 목록에 있어야 합니다. AWS 관리형 정책은 높은 권한 또는 관리 권한을 부여하지 않으면 허용될 수 있습니다. 예를 들어 특정 직무 기능용 AWS 관리형 정책이나 SecurityAudit 정책은 허용될 수 있습니다. AWS는 온보딩 절차 중 각 AWS 관리형 정책을 건별로 검토합니다.
  • 정책 관리는 파트너별 경로가 있는 정책에만 허용됩니다: arn:aws:iam::<AccountId>:policy/partner_domain.com/[feature]*
  • 태그는 리소스 생성 중에만, 그리고 역할과 정책에만 적용될 수 있습니다.
  • iam:PassRole 확인은 특정 이름이나 경로 접두사와 일치해야 합니다.

AWS STS 고유 제한

AWS STS에 대해서:

  • sts:AssumeRole은 특정 역할 ARN, 역할 ARN 접두사로 범위를 지정하거나 일련의 계정이나 조직 ID/조직 단위로 제한되어야 합니다.

IAM Identity Center 제한

AWS IAM Identity Center에 대해서 다음 작업은 차단됩니다.

  • 권한 관리와 관련된 모든 작업(예: sso:AttachCustomerManagedPolicyReferenceToPermissionSet)
  • AWS Identity Store의 사용자, 그룹, 멤버십 수정
  • 태그 관리

AWS Organizations 제한

AWS Organizations에 대해서는 읽기 작업만 허용됩니다.

추가 서비스별 검증

  • glue:GetConnection이나 redshift:GetClusterCredentials 같은 비밀·자격 증명을 획득하는 작업은 전체 ARN, ARN 접두사 또는 태그 중 하나와 일치하는 조건이 있어야 합니다.
  • Amazon Redshift의 경우: redshift:GetClusterCredentials는 특정 데이터베이스 이름에서만 허용되고, redshift:GetClusterCredentialsWithIAM은 특정 워크그룹 이름에서만 허용됩니다.

참고

계정에서 IAM 리소스를 관리할 때는 arn:aws:iam::111122223333:role/partner.com/rolename 예시처럼 여러분의 이름을 나타내는 경로를 사용하길 권장해요. 이렇게 하면 통합과 관련된 리소스를 구별하기 쉬워져 고객의 탐색·감사·분석이 수월해집니다.

크로스 계정 액세스 요구 사항

잠재적으로 크로스 계정 액세스를 허용하는 구문은 다음 중 적어도 하나를 포함해야 해요.

  • 리소스의 계정이나 조직을 지정하는 조건(예: aws:ResourceOrgId가 하나 이상의 기대값과 일치)
  • 특정 계정을 포함하는 Resource 필드(예: arn:aws:sqs:*:111122223333:*)
  • 와일드카드가 아닌 계정과 전체 리소스 이름을 포함하는 Resource 필드(예: arn:aws:s3:::full-bucket-name)

참고

크로스 계정 액세스는 명확한 비즈니스 근거가 필요한 민감한 기능이에요. AWS는 온보딩 절차 중 크로스 계정 액세스의 필요성을 신중히 검토합니다.

더 알아보기 (Learn more)