

# IAM 정책 생성(콘솔)
<a name="access_policies_create-console"></a>

[정책](access_policies.md)은 자격 증명 또는 리소스에 연결될 때 해당 권한을 정의하는 개체입니다. AWS Management Console을 사용하여 IAM에서 *고객 관리형 정책*을 생성할 수 있습니다. 고객 관리형 정책은 자체 AWS 계정에서 관리하는 독립형 정책입니다. 그런 다음 정책을 AWS 계정의 자격 증명(사용자, 그룹, 역할)에 연결합니다.

AWS 계정의 IAM 리소스 수와 크기는 제한되어 있습니다. 자세한 내용은 [IAM 및 AWS STS 할당량](reference_iam-quotas.md) 섹션을 참조하세요.

**Topics**
+ [IAM 정책 생성](#access_policies_create-start)
+ [JSON 편집기를 사용하여 정책 생성](#access_policies_create-json-editor)
+ [시각적 편집기를 사용하여 정책 생성](#access_policies_create-visual-editor)
+ [기존 관리형 정책 가져오기](#access_policies_create-copy)

## IAM 정책 생성
<a name="access_policies_create-start"></a>

다음 방법 중 하나를 사용하여 AWS Management Console에서 고객 관리형 정책을 생성할 수 있습니다.
+ **[JSON](#access_policies_create-json-editor)** - 게시된 [예시 자격 증명 기반 정책](access_policies_examples.md)을 붙여넣고 사용자 지정합니다.
+ **[시각적 편집기](#access_policies_create-visual-editor)** - 시각적 편집기에서 정책을 새로 생성합니다. 시각적 편집기를 사용할 경우 JSON 구문을 이해할 필요가 없습니다.
+ **[가져오기](#access_policies_create-copy)** - 계정 내에서 관리형 정책을 가져오고 사용자 지정합니다. 이전에 생성한 AWS 관리형 정책 또는 고객 관리형 정책을 가져올 수 있습니다.

AWS 계정의 IAM 리소스 수와 크기는 제한되어 있습니다. 자세한 내용은 [IAM 및 AWS STS 할당량](reference_iam-quotas.md) 섹션을 참조하세요.

## JSON 편집기를 사용하여 정책 생성
<a name="access_policies_create-json-editor"></a>

**JSON** 옵션을 선택하여 JSON에 정책을 입력하거나 붙여 넣을 수 있습니다. 이 방법은 계정에서 사용하기 위해 [예시 정책](access_policies_examples.md)을 복사할 경우 유용합니다. 또는 JSON 편집기에 고유한 JSON 정책 문서를 입력할 수 있습니다. **JSON** 옵션을 통해 시각적 편집기와 JSON 간에 전환하여 보기를 비교할 수도 있습니다.

 JSON 편집기에서 정책을 생성하거나 편집할 때 IAM은 효과적인 정책을 생성하는 데 도움이 되는 정책 검증을 수행합니다. IAM은 JSON 구문 오류를 식별하는 반면, IAM Access Analyzer는 정책을 더욱 구체화하는 데 도움이 되는 실행 가능한 권장 사항과 함께 추가 정책 검사를 제공합니다.

JSON [정책](access_policies.md) 문서는 하나 이상의 문으로 구성되어 있습니다. 각 문에는 동일한 효과(`Allow` 또는 `Deny`)를 공유하며 동일한 리소스와 조건을 지원하는 모든 작업이 포함되어야 합니다. 한 작업에서 모든 리소스를 지정(`"*"`)하도록 요구하고 다른 작업에서 특정 리소스의 Amazon 리소스 이름(ARN)을 지원하는 경우 이들은 두 개의 별개 JSON 문에 있어야 합니다. ARN 형식에 대한 자세한 내용은 **AWS 일반 참조 안내서의 [Amazon 리소스 이름(ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)을 참조하세요. IAM 정책에 대한 일반적인 내용은 [AWS Identity and Access Management의 정책 및 권한](access_policies.md) 섹션을 참조하세요. IAM 정책 언어에 대한 정보는 [IAM JSON 정책 참조](reference_policies.md) 섹션을 참조하세요.

**JSON 정책 편집기를 사용하여 정책을 생성하는 방법**

1. AWS Management Console에 로그인하여 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 에서 IAM 콘솔을 엽니다.

1. 왼쪽의 탐색 창에서 **정책**을 선택합니다.

1. **정책 생성**을 선택합니다.

1. **정책 편집기** 섹션에서 **JSON** 옵션을 선택합니다.

1. JSON 정책 문서를 입력하거나 붙여 넣습니다. IAM 정책 언어에 대한 자세한 정보는 [IAM JSON 정책 참조](reference_policies.md) 섹션을 참조하세요.

1.  [정책 검증](access_policies_policy-validator.md) 중에 생성되는 모든 보안 경고, 오류 또는 일반 경고를 해결하고 **다음**을 선택합니다.
**참고**  
언제든지 **시각적** 편집기 옵션과 **JSON** 편집기 옵션을 서로 전환할 수 있습니다. 그러나 변경을 적용하거나 **시각적** 편집기에서 **다음**을 선택한 경우 IAM은 시각적 편집기에 최적화되도록 정책을 재구성할 수 있습니다. 자세한 내용은 [정책 재구성](troubleshoot_policies.md#troubleshoot_viseditor-restructure) 섹션을 참조하세요.

1. (선택 사항) AWS Management Console에서 정책을 만들거나 편집할 때 CloudFormation 템플릿에서 사용할 수 있는 JSON 또는 YAML 정책 템플릿을 생성할 수 있습니다.

   이렇게 하려면 **정책 편집기**에서 **작업**을 선택한 다음, **CloudFormation 템플릿 생성**을 선택합니다. CloudFormation에 대한 자세한 내용은 AWS CloudFormation 사용 설명서의 [AWS Identity and Access Management리소스 유형 참조](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_IAM.html)를 참조하세요.

1. 정책에 권한 추가를 완료했으면 **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 생성하는 정책에 대한 **정책 이름**과 **설명**(선택 사항)을 입력합니다. **이 정책에 정의된 권한**을 검토하여 정책이 부여한 권한을 확인합니다.

1. (선택 사항) 태그를 키 값 페어로 연결하여 메타데이터를 정책에 추가합니다. IAM에서의 태그 사용에 대한 자세한 내용은 [AWS Identity and Access Management 리소스용 태그](id_tags.md) 섹션을 참조하세요.

1. **정책 생성**을 선택하고 새로운 정책을 저장합니다.

정책을 생성한 후 그룹, 사용자 또는 역할에 연결할 수 있습니다. 자세한 내용은 [IAM 자격 증명 권한 추가 및 제거](access_policies_manage-attach-detach.md) 섹션을 참조하세요.

## 시각적 편집기를 사용하여 정책 생성
<a name="access_policies_create-visual-editor"></a>

IAM 콘솔의 시각적 편집기는 JSON 구문을 작성하지 않고 정책을 생성하는 방법을 안내합니다. 시각적 편집기를 사용하여 정책을 생성하는 예시를 보려면 [자격 증명에 대한 액세스 제어](access_controlling.md#access_controlling-identities) 섹션을 참조하세요.

**시각적 편집기를 사용하여 정책을 생성하는 방법**

1. AWS Management Console에 로그인하여 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)에서 IAM 콘솔을 엽니다.

1. 왼쪽의 탐색 창에서 **정책**을 선택합니다.

1. **정책 생성**을 선택합니다.

1. **정책 편집기** 섹션에서 **서비스 선택** 섹션을 찾은 다음, AWS 서비스를 선택합니다. 상단의 검색 상자를 사용하여 서비스 목록 결과를 제한할 수 있습니다. 시각적 편집기 권한 블록 내에서 하나의 서비스만 선택할 수 있습니다. 둘 이상의 서비스에 액세스 권한을 부여하려면 **더 많은 권한 추가**를 선택하여 여러 개의 권한 블록을 추가합니다.

1. **허용된 작업**에서 정책에 추가할 작업을 선택합니다. 작업을 선택하는 방법은 다음과 같습니다.
   + 모든 작업에 대한 확인란을 선택하세요.
   + **Add actions(작업 추가)**를 선택하여 특정 작업의 이름을 입력합니다. 와일드카드(`*`)를 사용하여 여러 작업을 지정할 수 있습니다.
   + **액세스 수준** 그룹 중 하나를 선택하여 액세스 수준에 대한 모든 작업(예: **읽기**, **쓰기** 또는 **나열**)을 선택합니다.
   + 각 **액세스 수준** 그룹을 펼쳐서 개별 작업을 선택합니다.

   기본적으로 사용자가 생성하는 정책은 사용자가 선택하는 작업을 허용합니다. 대신 선택한 작업을 거부하려면 **권한 거부로 전환**을 선택합니다. [기본적으로 IAM은 거부](reference_policies_evaluation-logic.md)하기 때문에, 보안 모범 사례로 사용자에게 필요한 작업과 리소스에만 권한을 허용하는 것이 좋습니다. 다른 문 또는 정책에서 별도로 허용되는 권한을 재정의하려는 경우에만 권한을 거부하려면 JSON 문을 생성해야 합니다. 권한 거부의 수가 늘어나면 권한 문제를 해결하기가 더 어려워질 수 있기 때문에 그 수를 최소한으로 제한하는 것이 좋습니다.

1. **리소스**에서 이전 단계에서 선택한 서비스 및 작업이 [특정 리소스](access_controlling.md#access_controlling-resources) 선택을 지원하지 않는 경우에는 모든 리소스가 허용되며 이 섹션을 편집할 수 없습니다.

   [리소스 수준 권한](access_controlling.md#access_controlling-resources)을 지원하는 작업을 하나 이상 선택하면 시각적 편집기에 해당 리소스가 나열됩니다. 그러면 **리소스**를 펼쳐서 정책에 대한 리소스를 지정할 수 있습니다.

   다음과 같은 방법으로 리소스를 지정할 수 있습니다.
   + **ARN 추가**를 선택하여 Amazon 리소스 이름(ARN)별로 리소스를 지정합니다. 시각적 ARN 편집기를 사용하거나 ARN을 수동으로 나열할 수 있습니다. ARN 구문에 대한 자세한 내용은 **AWS 일반 참조 안내서의 [Amazon 리소스 이름(ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)을 참조하세요. 정책의 `Resource` 요소에 ARN을 사용하는 방법에 대한 자세한 내용은 [IAM JSON 정책 요소: Resource](reference_policies_elements_resource.md) 섹션을 참조하세요.
   + 리소스 옆의 **이 계정에서 모두**를 선택하여 해당 유형의 모든 리소스에 권한을 부여합니다.
   + **모두**를 선택하여 해당 서비스에 대한 모든 리소스를 선택합니다.

1. (선택 사항) **요청 조건 - *선택 사항***을 선택하여 생성하는 정책에 조건을 추가합니다. 조건은 JSON 정책문의 결과를 제한합니다. 예를 들어 특정 시간 범위 내에 사용자의 요청이 발생하는 경우에만 사용자가 리소스에 대한 작업을 수행할 수 있도록 지정할 수 있습니다. 또한 일반적으로 사용되는 조건을 사용하여 사용자가 멀티 팩터 인증(MFA) 디바이스를 사용하여 인증받아야 하는지를 제한할 수 있습니다. 또는 요청이 특정 IP 주소 범위에서 발생하도록 요구할 수 있습니다. 정책 조건을 사용할 수 있는 컨텍스트 키의 전체 목록은 *서비스 승인 참조*의 [AWS 서비스에 대한 작업, 리소스 및 조건 키](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html)를 참조하세요.

   조건을 선택하는 방법은 다음과 같습니다.
   + 확인란을 사용하여 일반적으로 사용되는 조건을 선택하세요.
   + **다른 조건 추가**를 선택하여 다른 조건을 지정합니다. 조건의 **조건 키**, **한정어**, **연산자**를 선택한 후 **값**을 입력합니다. 값을 두 개 이상 추가하려면 **추가**를 선택합니다. 해당 값이 논리적 "OR" 연산자로 연결되는 것으로 생각할 수 있습니다. 마치면 **조건 추가**를 선택합니다.

   조건을 두 개 이상 추가하려면 다시 **다른 조건 추가**를 선택합니다. 필요에 따라 반복합니다. 각 조건은 이 시각적 편집기 권한 블록 하나에만 적용됩니다. 권한 블록이 일치하는 것으로 간주되려면 모든 조건이 true여야 합니다. 즉, 이들 조건이 논리적 "AND" 연산자로 연결되는 것으로 간주됩니다.

   **조건** 요소에 대한 자세한 정보는 [IAM JSON 정책 요소: Condition](reference_policies_elements_condition.md)에서 [IAM JSON 정책 참조](reference_policies.md) 섹션을 참조하세요.

1. 더 많은 권한 블록을 추가하려면 **더 많은 권한 추가**를 선택합니다. 각 블록에 대해 2\$15단계를 반복합니다.
**참고**  
언제든지 **시각적** 편집기 옵션과 **JSON** 편집기 옵션을 서로 전환할 수 있습니다. 그러나 변경을 적용하거나 **시각적** 편집기에서 **다음**을 선택한 경우 IAM은 시각적 편집기에 최적화되도록 정책을 재구성할 수 있습니다. 자세한 내용은 [정책 재구성](troubleshoot_policies.md#troubleshoot_viseditor-restructure) 섹션을 참조하세요.

1. (선택 사항) AWS Management Console에서 정책을 만들거나 편집할 때 CloudFormation 템플릿에서 사용할 수 있는 JSON 또는 YAML 정책 템플릿을 생성할 수 있습니다.

   이렇게 하려면 **정책 편집기**에서 **작업**을 선택한 다음, **CloudFormation 템플릿 생성**을 선택합니다. CloudFormation에 대한 자세한 내용은 AWS CloudFormation 사용 설명서의 [AWS Identity and Access Management리소스 유형 참조](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_IAM.html)를 참조하세요.

1. 정책에 권한 추가를 완료했으면 **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 생성하는 정책에 대한 **정책 이름**과 **설명**(선택 사항)을 입력합니다. **이 정책에 정의된 권한**을 검토하여 의도한 권한을 부여했는지 확인합니다.

1. (선택 사항) 태그를 키-값 페어로 연결하여 메타데이터를 정책에 추가합니다. IAM에서의 태그 사용에 대한 자세한 내용은 [AWS Identity and Access Management 리소스용 태그](id_tags.md) 섹션을 참조하세요.

1. **정책 생성**을 선택하고 새로운 정책을 저장합니다.

정책을 생성한 후 그룹, 사용자 또는 역할에 연결할 수 있습니다. 자세한 내용은 [IAM 자격 증명 권한 추가 및 제거](access_policies_manage-attach-detach.md) 섹션을 참조하세요.

## 기존 관리형 정책 가져오기
<a name="access_policies_create-copy"></a>

새 정책을 생성하는 쉬운 방법은 최소한으로 필요한 권한 중 일부가 이미 존재하는 계정으로 기존 관리형 정책을 가져오는 것입니다. 그런 다음, 새로운 요구 사항에 일치하도록 정책을 사용자 지정할 수 있습니다.

인라인 정책은 가져올 수 없습니다. 관리형 정책과 인라인 정책의 차이에 대해 자세히 알아보려면 [관리형 정책과 인라인 정책](access_policies_managed-vs-inline.md) 섹션을 참조하세요.

**시각적 편집기에서 기존 관리형 정책을 가져오려면**

1. AWS Management Console에 로그인하여 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)에서 IAM 콘솔을 엽니다.

1. 왼쪽의 탐색 창에서 **정책**을 선택합니다.

1. **정책 생성**을 선택합니다.

1. **정책 편집기**에서 **시각적** 편집기를 선택한 다음, 페이지 오른쪽에서 **작업**을 선택하고 **정책 가져오기**를 선택합니다.

1. **정책 가져오기** 창에서 새 정책에 포함할 정책과 가장 근접한 관리형 정책을 선택합니다. 상단의 검색 상자를 사용하여 정책 목록 결과를 제한할 수 있습니다.

1. **정책 가져오기**를 선택합니다.

   가져온 정책은 정책 하단의 새 권한 블록에 추가됩니다.

1. **Visual editor(시각적 편집기)**를 사용하거나 **JSON**을 선택하여 정책을 사용자 지정합니다. 그리고 **다음**을 선택합니다.
**참고**  
언제든지 **시각적** 편집기 옵션과 **JSON** 편집기 옵션을 서로 전환할 수 있습니다. 그러나 변경을 적용하거나 **시각적** 편집기에서 **다음**을 선택한 경우 IAM은 시각적 편집기에 최적화되도록 정책을 재구성할 수 있습니다. 자세한 내용은 [정책 재구성](troubleshoot_policies.md#troubleshoot_viseditor-restructure) 섹션을 참조하세요.

1. **검토 및 생성** 페이지에서 생성하는 정책에 대한 **정책 이름**과 **설명**(선택 사항)을 입력합니다. 이러한 설정은 나중에 편집할 수 없습니다. **이 정책에 정의된 권한**을 검토한 다음, **정책 생성**을 선택하여 작업을 저장합니다.

****JSON** 편집기에서 기존 관리형 정책을 가져오려면**

1. AWS Management Console에 로그인하여 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)에서 IAM 콘솔을 엽니다.

1. 왼쪽의 탐색 창에서 **정책**을 선택합니다.

1. **정책 생성**을 선택합니다.

1. **정책 편집기** 섹션에서 **JSON** 옵션을 선택한 다음, 페이지 오른쪽에서 **작업**을 선택하고 **정책 가져오기**를 선택합니다.

1. **정책 가져오기** 창에서 새 정책에 포함할 정책과 가장 근접한 관리형 정책을 선택합니다. 상단의 검색 상자를 사용하여 정책 목록 결과를 제한할 수 있습니다.

1. **정책 가져오기**를 선택합니다.

   가져온 정책의 문은 JSON 정책 하단에 추가됩니다.

1. JSON으로 정책을 사용자 지정합니다. [정책 검증](access_policies_policy-validator.md) 중에 생성되는 모든 보안 경고, 오류 또는 일반 경고를 해결하고 **다음**을 선택합니다. 또는 **시각적 편집기(Visual editor)**에서 정책을 사용자 지정합니다. 그리고 **다음**을 선택합니다.
**참고**  
언제든지 **시각적** 편집기 옵션과 **JSON** 편집기 옵션을 서로 전환할 수 있습니다. 그러나 변경을 적용하거나 **시각적** 편집기에서 **다음**을 선택한 경우 IAM은 시각적 편집기에 최적화되도록 정책을 재구성할 수 있습니다. 자세한 내용은 [정책 재구성](troubleshoot_policies.md#troubleshoot_viseditor-restructure) 섹션을 참조하세요.

1. **검토 및 생성** 페이지에서 생성하는 정책에 대한 **정책 이름**과 **설명**(선택 사항)을 입력합니다. 이러한 필드는 나중에 편집할 수 없습니다. **이 정책에 정의된 권한** 정책을 검토한 다음, **정책 생성**을 선택하여 작업을 저장합니다.

정책을 생성한 후 그룹, 사용자 또는 역할에 연결할 수 있습니다. 자세한 내용은 [IAM 자격 증명 권한 추가 및 제거](access_policies_manage-attach-detach.md) 섹션을 참조하세요.