

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

# 권한 부여 모델 테스트
<a name="authorization-testing"></a>

애플리케이션을 배포할 때 Amazon Verified Permissions 권한 부여 결정의 영향을 이해하려면 [Amazon Verified Permissions 테스트 벤치 사용](test-bench.md) 및 HTTPS REST API 요청을 사용하여 정책을 개발할 때 정책을 평가할 수 있습니다. 테스트 벤치는 정책 스토어의 권한 부여 요청 및 응답을 AWS Management Console 평가하는의 도구입니다.

Verified Permissions REST API는 개념적 이해에서 애플리케이션 설계로 전환함에 따라 개발의 다음 단계입니다. Verified Permissions API는 [IsAuthorized](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html), [IsAuthorizedWithToken](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorizedWithToken.html) 및 [BatchIsAuthorized](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_BatchIsAuthorized.html)를 사용하여 리전 [서비스 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/verifiedpermissions.html)에 대한 [서명된 AWS API 요청으로 권한 부여 요청을](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-signing.html) 수락합니다. 권한 부여 모델을 테스트하기 위해 API 클라이언트로 요청을 생성하고 정책이 예상대로 권한 부여 결정을 반환하는지 확인할 수 있습니다.

예를 들어 다음 절차를 사용하여 샘플 정책 스토어`IsAuthorized`에서 테스트할 수 있습니다.

------
#### [ Test bench ]

1. Verified Permissions 콘솔에서 [Verified Permissions 콘솔](https://console.aws.amazon.com/verifiedpermissions/)을 엽니다. 샘플 정책 스토어에서 **DigitalPetStore**라는 이름으로 **정책 스토어**를 생성합니다.

1. 새 정책 스토어에서 **테스트 벤치**를 선택합니다.

1. Verified Permissions API 참조의 [IsAuthorized](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html#API_IsAuthorized_Examples)에서 테스트 벤치 요청을 채웁니다. 다음 세부 정보는 **DigitalPetStore** 샘플을 참조하는 **예제 4**의 조건을 복제합니다.

   1. Alice를 보안 주체로 설정합니다. **작업을 수행하는 보안 주체**에서 `DigitalPetStore::User`를 선택하고를 입력합니다`Alice`.

   1. Alice의 역할을 고객으로 설정합니다. **상위 항목 추가를** 선택하고 `DigitalPetStore::Role`를 선택한 다음 고객을 입력합니다.

   1. 리소스를 "1234" 순서로 설정합니다. **보안 주체가 작업하는 리소스에서** `DigitalPetStore::Order`를 선택하고를 입력합니다`1234`.

   1. `DigitalPetStore::Order` 리소스에는 `owner` 속성이 필요합니다. Alice를 주문 소유자로 설정합니다. 선택 `DigitalPetStore::User` 및 입력 `Alice`

   1. Alice가 주문을 보도록 요청했습니다. **보안 주체가 수행하는 작업**에서를 선택합니다`DigitalPetStore::Action::"GetOrder"`.

1. **권한 부여 요청 실행**을 선택합니다. 수정되지 않은 정책 스토어에서이 요청은 `ALLOW` 결정을 내리게 됩니다. 결정을 반환한 **충족 정책을** 기록해 둡니다.

1. 왼쪽 탐색 메뉴에서 **정책**을 선택합니다. **고객 역할 - 주문 받기** 설명과 함께 정적 정책을 검토합니다.

1. 보안 주체가 고객 역할에 있고 리소스의 소유자였기 때문에 Verified Permissions가 요청을 허용했는지 관찰합니다.

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

1. Verified Permissions 콘솔에서 [Verified Permissions 콘솔](https://console.aws.amazon.com/verifiedpermissions/)을 엽니다. 샘플 정책 스토어에서 **DigitalPetStore**라는 이름으로 **정책 스토어**를 생성합니다.

1. 새 **정책 스토어의 정책 스토어 ID**를 기록해 둡니다.

1. Verified Permissions API 참조의 [IsAuthorized](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html#API_IsAuthorized_Examples)에서 **DigitalPetStore** 샘플을 참조하는 **예제 4**의 요청 본문을 복사합니다.

1. API 클라이언트를 열고 정책 스토어의 리전 서비스 엔드포인트에 대한 요청을 생성합니다. [예제](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html#API_IsAuthorized_Examples)와 같이 헤더를 채웁니다.

1. 샘플 요청 본문에 붙여넣고의 값을 앞서 기록한 정책 스토어 ID`policyStoreId`로 변경합니다.

1. 요청을 제출하고 결과를 검토합니다. 기본 **DigitalPetStore** 정책 스토어에서이 요청은 `ALLOW` 결정을 반환합니다.

------

테스트 환경에서 정책, 스키마 및 요청을 변경하여 결과를 변경하고 더 복잡한 결정을 내릴 수 있습니다.

1. Verified Permissions에서 결정을 변경하는 방식으로 요청을 변경합니다. 예를 들어 Alice의 역할을 로 변경하거나 순서 1234의 `owner` 속성을 로 `Employee` 변경합니다`Bob`.

1. 권한 부여 결정에 영향을 미치는 방식으로 정책을 변경합니다. 예를 들어 **고객 역할 - 주문 가져오기**라는 설명으로 정책을 수정하여가의 소유자`User`여야 하는 조건을 제거하고가 주문을 보`Bob`도록 요청을 `Resource` 수정합니다.

1. 스키마를 변경하여 정책이 더 복잡한 결정을 내릴 수 있도록 합니다. Alice가 새 요구 사항을 충족할 수 있도록 요청 엔터티를 업데이트합니다. 예를 들어가 `ActiveUsers` 또는의 멤버가 되도록 스키마를 편집`User`합니다`InactiveUsers`. 활성 사용자만 자신의 주문을 볼 수 있도록 정책을 업데이트합니다. Alice가 활성 또는 비활성 사용자가 되도록 요청 엔터티를 업데이트합니다.