

# 액세스 활동을 기반으로 정책 생성
<a name="getting-started_reduce-permissions-edit-policy"></a>

IAM 사용자 또는 IAM 역할에 대해 AWS CloudTrail에 기록된 액세스 활동을 사용하여 IAM 액세스 분석기에서 특정 사용자 및 역할에 필요한 서비스에만 액세스할 수 있도록 허용하는 고객 관리형 정책을 생성하도록 할 수 있습니다.

IAM Access Analyzer에서 IAM 정책을 생성하면 정책을 추가로 사용자 지정하는 데 도움이 되는 정보가 반환됩니다. 정책이 생성되면 다음 두 가지 범주의 정보가 반환될 수 있습니다.
+ **작업 수준 정보가 포함된 정책** - Amazon EC2와 같은 일부 AWS 서비스의 경우 IAM Access Analyzer는 CloudTrail 이벤트에서 발견된 작업을 식별하고 생성된 정책에 사용된 작업을 나열할 수 있습니다. 지원되는 서비스의 목록은 [IAM Access Analyzer 정책 생성 서비스](access-analyzer-policy-generation-action-last-accessed-support.md) 단원을 참조하세요. 일부 서비스의 경우 생성된 정책에 서비스에 대한 작업을 추가하라는 IAM Access Analyzer 메시지가 표시됩니다.
+ **서비스 수준 정보 –이(가) 포함된 정책** IAM Access Analyzer는 [마지막으로 액세스한](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_last-accessed.html) 정보를 사용하여 최근에 사용한 모든 서비스가 포함된 정책 템플릿을 생성합니다. AWS Management Console을(를) 사용할 때 서비스를 검토하고 정책을 완료하기 위한 작업을 추가하라는 메시지가 표시됩니다.

## 액세스 활동을 기반으로 정책 생성
<a name="getting-started_reduce-permissions-edit-policy-section-1"></a>

다음 절차에서는 사용자의 사용에 맞게 역할에 부여된 권한을 줄입니다. 사용자를 선택할 때는 사용이 해당 역할의 예제로 적합한 사용자를 선택하세요. 많은 고객이 **PowerUser** 권한으로 테스트 사용자 계정을 설정한 다음 짧은 기간 동안 특정 작업을 수행하도록 하여 해당 작업을 수행하는 데 필요한 액세스 권한을 결정합니다.

------
#### [ Console ]

1. *AWS 로그인 사용 설명서*의 [AWS에 로그인하는 방법](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) 항목에 설명된 대로 사용자 유형에 맞는 로그인 절차를 따르세요.

1. **IAM 콘솔 홈** 페이지의 왼쪽 탐색 창에서 쿼리를 **IAM 검색** 텍스트 상자에 입력합니다.

1. 탐색 창에서 **사용자**를 선택한 다음 사용자 이름을 선택하여 사용자 세부 정보 페이지로 이동합니다.

1. **권한** 탭의 CloudTrail 이벤트 기반 정책 생성에서 **정책 생성**을 선택합니다.

1. **정책 생성** 페이지에서 다음 항목을 구성합니다.
   + **기간 선택**에서 **지난 7일**을 선택합니다.
   + **분석할 CloudTrail 트레일**의 경우 이 사용자의 활동이 기록되는 리전 및 트레일을 선택합니다.
   + **새 서비스 역할 생성 및 사용**을 선택합니다.

1. **정책 생성**을 선택한 다음 역할이 생성될 때까지 기다립니다. **정책 생성 진행 중** 알림 메시지가 나타날 때까지 콘솔 페이지를 새로 고치거나 다른 페이지로 이동하지 마세요.

1. 정책이 생성된 후 필요에 따라 정책을 검토하고 리소스의 계정 ID 및 ARN을 사용하여 이를 사용자 지정해야 합니다. 또한 자동으로 생성된 정책에는 정책을 완료하는 데 필요한 작업 수준 정보가 포함되지 않았을 수 있습니다. 자세한 내용은 [IAM Access Analyzer 정책 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-generation.html)을 참조하세요.

   예를 들어, `Allow` 효과와 `NotAction` 요소를 포함하는 첫 번째 명령문을 편집하여 Amazon EC2 및 Amazon S3 작업만 허용할 수 있습니다. 이 작업을 수행하려면 `FullAccessToSomeServices` ID가 있는 명령문으로 바꿉니다. 새 정책은 다음 예제 정책과 유사할 수 있습니다.

------
#### [ JSON ]

****  

   ```
   {
     "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. [최소 권한 부여](best-practices.md#grant-least-privilege)의 모범 사례를 지원하기 위해 [정책 검증](access_policies_policy-validator.md)에서 반환된 오류, 경고 또는 제안을 검토하고 수정합니다.

1. 특정 작업 및 리소스에 대한 정책 권한을 추가로 줄이려면 CloudTrail **이벤트 기록(Event history)**에서 이벤트를 확인합니다. 여기에서 사용자가 액세스한 특정 작업 및 리소스에 대한 자세한 정보를 볼 수 있습니다. 자세한 내용은 *AWS CloudTrail사용 설명서*의 [CloudTrail 콘솔에서 CloudTrail 이벤트 보기](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events-console.html)를 참조하세요.

1. 정책을 검토 및 검증한 후에는 정책을 설명할 수 있는 이름으로 저장하세요.

1. **역할** 페이지로 이동하여 새 정책에서 허용하는 작업을 수행할 때 사용자가 수임할 역할을 선택합니다.

1. **권한** 탭을 선택한 다음 **권한 추가**, **정책 연결**을 선택합니다.

1. **권한 정책 연결** 페이지의 **기타 권한 정책** 목록에서 만들어 둔 정책을 선택하고 **정책 연결**을 선택합니다.

1. **역할** 세부 정보 페이지로 돌아갑니다. 역할에는 두 가지 정책이 연결되어 있습니다. 하나는 기존 AWS 관리형 정책(예: **PowerUserAccess**)이고, 다른 하나는 새 정책입니다. AWS 관리형 정책의 확인란을 선택한 후 **제거**를 선택합니다. 제거를 확인하라는 메시지가 표시되면 **제거**를 선택합니다.

이제 새로 만든 정책에 따라 IAM 사용자, SAML 및 OIDC 페더레이션 보안 주체, 워크로드에 대한 액세스 권한이 축소됩니다.

------
#### [ AWS CLI ]

다음 명령을 사용하여 AWS CLI을(를) 사용하는 정책을 생성할 수 있습니다.

**정책 생성**
+ [aws accessanalyzer start-policy-generation](https://docs.aws.amazon.com/cli/latest/reference/accessanalyzer/start-policy-generation.html)

**생성된 정책 보기**
+ [aws accessanalyzer get-generated-policy](https://docs.aws.amazon.com/cli/latest/reference/accessanalyzer/get-generated-policy.html)

**정책 생성 요청 취소**
+ [aws accessanalyzer cancel-policy-generation](https://docs.aws.amazon.com/cli/latest/reference/accessanalyzer/cancel-policy-generation.html)

**정책 생성 요청 목록 보기**
+ [aws accessanalyzer list-policy-generations](https://docs.aws.amazon.com/cli/latest/reference/accessanalyzer/list-policy-generations.html)

------
#### [ API ]

다음 작업을 사용하여 AWS API를 사용하는 정책을 생성할 수 있습니다.

**정책 생성**
+ [StartPolicyGeneration](https://docs.aws.amazon.com/access-analyzer/latest/APIReference/API_StartPolicyGeneration.html)

**생성된 정책 보기**
+ [GetGeneratedPolicy](https://docs.aws.amazon.com/access-analyzer/latest/APIReference/API_GetGeneratedPolicy.html)

**정책 생성 요청 취소**
+ [CancelPolicyGeneration](https://docs.aws.amazon.com/access-analyzer/latest/APIReference/API_CancelPolicyGeneration.html)

**정책 생성 요청 목록 보기**
+ [ListPolicyGenerations](https://docs.aws.amazon.com/access-analyzer/latest/APIReference/API_ListPolicyGenerations.html)

------