접근 활동 기반으로 정책 생성하기

접근 활동 기반으로 정책 생성하기

IAM 사용자나 IAM 역할에 대한 AWS CloudTrail에 기록된 접근 활동을 사용해, 특정 사용자와 역할만 필요로 하는 서비스에 대한 접근만 허용하는 고객 관리형 정책을 IAM Access Analyzer가 생성하게 할 수 있어요. IAM Access Analyzer가 IAM 정책을 생성하면 정책을 더 커스터마이즈하는 데 도움이 되는 정보가 반환돼요. 정책이 생성될 때 두 가지 범주의 정보가 반환될 수 있어요.

출처: 문서

본문

  • 액션 수준 정보가 있는 정책 (Policy with action-level information) – Amazon EC2 같은 일부 AWS 서비스에 대해 IAM Access Analyzer는 CloudTrail 이벤트에서 찾은 액션을 식별하고 생성하는 정책에 사용된 액션을 나열해요. 지원되는 서비스 목록은 IAM Access Analyzer 정책 생성 서비스를 참고하세요. 일부 서비스에 대해 IAM Access Analyzer는 서비스용 액션을 생성 정책에 추가하라고 메시지를 표시해요.
  • 서비스 수준 정보가 있는 정책 (Policy with service-level information) – IAM Access Analyzer는 마지막 접근 정보를 사용해 최근에 사용된 모든 서비스로 정책 템플릿을 만들어요. AWS Management Console을 사용할 때는 서비스를 검토하고 액션을 추가해 정책을 완성하라는 메시지를 표시해요.

접근 활동 기반으로 정책 생성 (To generate a policy based on access activity)

다음 절차에서 역할에 부여된 권한을 사용자의 사용 패턴에 맞게 줄여요. 사용자를 선택할 때 역할을 대표하는 사용 패턴을 가진 사용자를 선택하세요. 많은 고객이 PowerUser 권한으로 테스트 사용자 계정을 설정한 뒤, 짧은 시간 동안 특정 작업 집합을 수행하게 해 그 작업을 수행하는 데 필요한 접근이 무엇인지 파악해요.

콘솔 (Console)

  1. _AWS Sign-In 사용자 가이드_의 AWS 로그인 방법 항목에 설명된 사용자 유형에 맞는 로그인 절차를 따라요.
  2. IAM Console Home 페이지의 왼쪽 탐색 창에서 Search IAM 텍스트 상자에 검색어를 입력해요.
  3. 탐색 창에서 Users를 선택하고 사용자 이름을 선택해 사용자 상세 페이지로 이동해요.
  4. Permissions 탭의 Generate policy based on CloudTrail events 아래에서 Generate policy를 선택해요.
  5. Generate policy 페이지에서 다음 항목을 구성해요.
    • Select time period에서 Last 7 days를 선택해요.
    • CloudTrail trail to be analyzed에서 이 사용자의 활동이 기록된 리전과 트레일을 선택해요.
    • Create and use a new service role을 선택해요.
    • Generate policy를 선택하고 역할이 생성될 때까지 기다려요. Policy generation in progress 알림 메시지가 나타날 때까지 콘솔 페이지를 새로 고치거나 떠나지 마세요.
  6. 정책이 생성된 뒤에는 계정 ID와 리소스 ARN으로 정책을 검토하고 필요에 따라 커스터마이즈해야 해요. 또한 자동 생성된 정책이 정책을 완성하는 데 필요한 액션 수준 정보를 포함하지 않을 수도 있어요. 자세한 내용은 IAM Access Analyzer 정책 생성을 참고하세요.
  7. 예를 들어 Allow 효과와 NotAction 요소를 포함하는 첫 번째 문을 편집해 Amazon EC2와 Amazon S3 액션만 허용하도록 할 수 있어요. 이렇게 하려면 FullAccessToSomeServices ID가 있는 문으로 교체해요. 새 정책은 다음 예시 정책처럼 보일 수 있어요.
{
  "Version":"2012-10-17",
  "Statement": [
      {
          "Sid": "FullAccessToSomeServices",
          "Effect": "Allow",
          "Action": [
              "ec2:*",
              "s3:*"
          ],
          "Resource": "*"
      },
      {
          "Effect": "Allow",
          "Action": [
              "iam:CreateServiceLinkedRole",
              "iam:DeleteServiceLinkedRole",
              "iam:ListRoles",
              "organizations:DescribeOrganization"
          ],
          "Resource": "*"
      }
  ]
}
  1. 최소 권한 부여 모범 사례를 지원하려면 정책 검증 중 반환된 오류, 경고, 제안을 검토하고 수정하세요.
  2. 정책의 권한을 특정 액션과 리소스로 더 줄이려면 CloudTrail Event history에서 이벤트를 확인하세요. 거기서 사용자가 접근한 특정 액션과 리소스에 대한 자세한 정보를 볼 수 있어요. 자세한 내용은 _AWS CloudTrail 사용자 가이드_의 CloudTrail 콘솔에서 CloudTrail 이벤트 보기를 참고하세요.
  3. 정책을 검토·검증한 뒤 설명적인 이름으로 저장해요.
  4. Roles 페이지로 이동해 새 정책이 허용하는 작업을 수행할 때 사람들이 맡을 역할을 선택해요.
  5. Permissions 탭을 선택하고 Add permissions를 선택한 뒤 Attach policies를 선택해요.
  6. Attach permission policies 페이지의 Other permissions policies 목록에서 만든 정책을 선택한 뒤 Attach policies를 선택해요.
  7. Role 상세 페이지로 돌아가면 역할에 두 정책(이전 AWS 관리형 정책 예: PowerUserAccess, 그리고 새 정책)이 연결돼 있어요. AWS 관리형 정책의 확인란을 선택하고 Remove를 선택해요. 제거 확인을 묻는 메시지가 표시되면 Remove를 선택해요.

이제 이 역할을 맡는 IAM 사용자, SAML·OIDC 페더레이션 프린시펄, 워크로드는 만든 새 정책에 따라 줄어든 접근 권한을 갖게 돼요.

AWS CLI (AWS CLI)

AWS CLI로 정책을 생성하는 데 다음 명령을 사용할 수 있어요.

  • 정책 생성 – aws accessanalyzer start-policy-generation
  • 생성된 정책 보기 – aws accessanalyzer get-generated-policy
  • 정책 생성 요청 취소 – aws accessanalyzer cancel-policy-generation
  • 정책 생성 요청 목록 보기 – aws accessanalyzer list-policy-generations

API (API)

AWS API로 정책을 생성하는 데 다음 작업을 사용할 수 있어요.

  • 정책 생성 – StartPolicyGeneration
  • 생성된 정책 보기 – GetGeneratedPolicy
  • 정책 생성 요청 취소 – CancelPolicyGeneration
  • 정책 생성 요청 목록 보기 – ListPolicyGenerations

더 알아보기 (Learn more)