KMS 키 정책의 주체 제한 점검

KMS 키를 관리하거나 사용할 주체를 필요한 범위로 제한하세요.

설명

KMS 키 정책에서 Principal: "*"를 허용하고 적절한 제한 조건도 없으면 키에 접근할 수 있는 주체의 범위가 과도해질 수 있습니다.

잠재적 영향

허용된 작업에 따라 의도하지 않은 주체가 키를 사용하거나 관리 설정을 변경할 수 있습니다.

해결 방법

필요한 주체와 조건을 명시하고 키 관리 권한과 사용 권한을 분리하세요. 정책 변경 후에도 필요한 관리 권한이 유지되는지 확인하세요.

예시

변경 후 예시는 특정 계정의 IAM 정책을 통한 권한 위임을 허용합니다. root ARN은 루트 사용자만으로 제한한다는 뜻이 아닙니다. 키 정책의 Resource: "*"는 이 키를 가리킵니다.

변경 전

yaml
AWSTemplateFormatVersion: 2010-09-09
Description: A sample template
Resources:
  myKey:
    Type: AWS::KMS::Key
    Properties:
      Description: An example symmetric CMK
      KeyPolicy:
        Version: "2012-10-17"
        Id: key-default-1
        Statement:
          - Sid: Enable IAM User Permissions
            Effect: Allow
            Principal: "*"
            Action: kms:*
            Resource: "*"

변경 후

yaml
AWSTemplateFormatVersion: 2010-09-09
Description: A sample template
Resources:
  myKey:
    Type: AWS::KMS::Key
    Properties:
      Description: An example symmetric CMK
      KeyPolicy:
        Version: "2012-10-17"
        Id: key-default-1
        Statement:
          - Sid: Enable IAM User Permissions
            Effect: Allow
            Principal:
              AWS: arn:aws:iam::111122223333:root
            Action: kms:*
            Resource: "*"

참조