모든 작업과 리소스를 허용하는 IAM 정책

모든 작업·리소스 허용을 필요한 권한으로 줄이고 적용 중인 정책 버전을 확인하세요.

설명

IAM 허용 문에 Action: "*"와 Resource: "*"를 함께 지정하면 모든 작업과 리소스를 대상으로 하는 광범위한 권한을 나타냅니다. 실제 권한은 정책 연결, 기본 버전, 조건, 명시적 거부 및 권한 경계 등의 통제에 따라 달라집니다.

업무에 필요하지 않은 권한은 제거하세요. 정책을 여러 문으로 나누는 것만으로 권한 범위가 줄지는 않습니다.

잠재적 영향

  • 넓은 권한이 실제로 적용되면 자격 증명 탈취나 오용으로 데이터 변경·삭제와 리소스 관리에 미치는 영향이 커질 수 있습니다.
  • 기본 버전이 아닌 정책만 수정하면 기존 권한이 남고, 기본 버전 변경은 연결된 모든 주체에 영향을 줍니다.

해결 방법

  1. 연결된 사용자·그룹·역할과 기본 버전을 확인하세요. 필요한 작업만 지정하고 지원되는 경우 리소스 ARN과 조건으로 범위를 제한하세요.
  2. 권한 사용 기록과 다른 정책을 함께 검토하고 불필요한 읽기·쓰기·관리 작업을 제거하세요.
  3. 검토한 버전을 의도한 기본 버전으로 적용하고 정상 작업의 허용과 불필요한 작업의 거부를 시험하세요.

예시

정책 연결은 생략했습니다. Version: "2012-10-17"은 정책 언어 버전입니다. 기존 정책에서 make_default: false로 만든 버전은 자동으로 기본 버전이 되지 않지만, 새 정책의 첫 버전은 기본 버전이 됩니다.

변경 전

yaml
- name: IAM Managed Policy 생성
  community.aws.iam_managed_policy:
    policy_name: ManagedPolicy
    policy:
      Version: "2012-10-17"
      Statement:
        - Effect: Allow
          Action:
            - "*"
          Resource: "*"
    make_default: false
    state: present

모든 작업과 리소스를 허용하는 문입니다. 실제 적용되는 정책과 권한 제한을 함께 확인하세요.

변경 후

yaml
- name: IAM Managed Policy 생성
  community.aws.iam_managed_policy:
    policy_name: ManagedPolicy
    policy:
      Version: "2012-10-17"
      Statement:
        - Effect: Allow
          Action: logs:CreateLogGroup
          Resource: "*"
    make_default: false
    state: present

이 문은 로그 그룹 생성 작업으로 좁혀졌지만 리소스 범위는 여전히 넓습니다. 필요한 로그 그룹 ARN으로 제한하고 검토한 정책 버전을 실제로 적용하세요.

참조