

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon Verified Permissions 정적 정책 생성
<a name="policies-create"></a>

보안 주체가 애플리케이션의 지정된 리소스에 대해 지정된 작업을 수행하도록 허용하거나 금지하는 정적 정책을 생성할 수 있습니다. 정적 정책에는 `principal` 및에 대한 특정 값이 포함되어 `resource` 있으며 권한 부여 결정에 사용할 준비가 되어 있습니다.

------
#### [ AWS Management Console ]

**정적 정책을 생성하려면**

1. [Verified Permissions 콘솔](https://console.aws.amazon.com/verifiedpermissions/)을 엽니다. 정책 스토어를 선택합니다.

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

1. **정책 생성**과 **정적 정책 생성**을 차례로 선택합니다.
**참고**  
사용하려는 정책 설명이 있는 경우 **8단계로** 건너뛰고 정책을 다음 페이지의 **정책** 섹션에 붙여 넣습니다.

1. **정책 효과** 섹션에서 요청이 정책과 일치하는 경우 정책을 **허용**하거나 **금지**하도록 선택합니다. **허용**을 선택하면 정책은 보안 주체가 리소스에 대한 작업을 수행하도록 허용합니다. 반대로 **금지**를 선택하면 정책은 보안 주체가 리소스에 대한 작업을 수행하도록 허용하지 않습니다.

1. **보안 주체 범위** 필드에서 정책을 적용할 보안 주체의 범위를 선택합니다.
   + 정책을 특정 보안 주체에 적용하려면 **특정 보안 주체**를 선택합니다. 정책에 지정된 작업을 수행하도록 허용되거나 금지될 보안 주체의 엔터티 유형 및 식별자를 지정합니다.
   + 정책을 보안 주체 그룹에 적용하려면 **보안 주체 그룹**을 선택합니다. **보안 주체 그룹** 필드에 보안 주체 그룹 이름을 입력합니다.
   + 정책 스토어의 모든 보안 주체에 정책을 적용하려면 **모든 보안 주체**를 선택합니다.

1. **리소스 범위** 필드에서 정책을 적용할 리소스의 범위를 선택합니다.
   + 정책을 특정 리소스에 적용하려면 **특정 리소스**를 선택합니다. 정책이 적용될 리소스의 엔터티 유형과 식별자를 지정합니다.
   + 리소스 그룹에 정책을 적용하려면 **리소스 그룹**을 선택합니다. **리소스 그룹** 필드에 리소스 그룹 이름을 입력합니다.
   + 정책 스토어의 모든 리소스에 정책을 적용하려면 **모든 리소스**를 선택합니다.

1. **작업 범위** 섹션에서 정책을 적용할 리소스의 범위를 선택합니다.
   + 정책을 특정 작업 세트에 적용하려면 **특정 작업 세트**를 선택합니다. 정책을 적용할 작업 옆에 있는 확인란을 선택합니다.
   + 정책 스토어의 모든 작업에 정책을 적용하려면 **모든 작업**을 선택합니다.

1. **다음**을 선택합니다.

1. **정책** 섹션에서 Cedar 정책을 검토합니다. **형식**을 선택하여 정책 구문의 형식을 권장 간격과 들여쓰기로 지정할 수 있습니다. 자세한 내용은 Cedar 정책 언어 참조 가이드의 [Cedar 기본 정책 구성](https://docs.cedarpolicy.com/policies/syntax-policy.html)을 참조하세요.

1. **세부 정보** 섹션에 정책에 대한 선택적 설명을 입력합니다.

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

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

**정적 정책을 생성하려면**  
[CreatePolicy](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CreatePolicy.html) 작업을 사용하여 정적 정책을 생성할 수 있습니다. 다음 예제에서는 간단한 정적 정책을 생성합니다.

```
$ aws verifiedpermissions create-policy \
    --definition "{ \"static\": { \"Description\": \"MyTestPolicy\", \"Statement\": \"permit(principal,action,resource) when {principal.owner == resource.owner};\"}}" \
    --policy-store-id PSEXAMPLEabcdefg111111
{
"Arn": "arn:aws:verifiedpermissions::123456789012:policy/PSEXAMPLEabcdefg111111/SPEXAMPLEabcdefg111111",
    "createdDate": "2023-05-16T20:33:01.730817+00:00",
    "lastUpdatedDate": "2023-05-16T20:33:01.730817+00:00",
    "policyId": "SPEXAMPLEabcdefg111111",
    "policyStoreId": "PSEXAMPLEabcdefg111111",
    "policyType": "STATIC"
}
```

**정책 이름으로 정책을 생성하려면**  
정책을 생성할 때 선택적으로 정책 이름을 지정할 수 있습니다. 이름은 정책 스토어 내의 모든 정책에 대해 고유해야 하며 접두사가 붙어야 합니다`name/`. 정책 ID 대신 이름을 사용할 수 있습니다.

```
$ aws verifiedpermissions create-policy \
    --definition "{ \"static\": { \"Statement\": \"permit(principal, action, resource in Album::\\\"public_folder\\\");\"}}" \
    --policy-store-id PSEXAMPLEabcdefg111111 \
    --name name/example-policy
{
    "createdDate": "2023-06-12T20:33:37.382907+00:00",
    "lastUpdatedDate": "2023-06-12T20:33:37.382907+00:00",
    "policyId": "SPEXAMPLEabcdefg111111",
    "policyStoreId": "PSEXAMPLEabcdefg111111",
    "policyType": "STATIC",
    "resource": {
        "entityId": "public_folder",
        "entityType": "Album"
    }
}
```

**참고**  
정책 스토어의 다른 정책과 이미 연결된 이름을 지정하면 `ConflictException` 오류가 발생합니다.

------