

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 認可モデルのテスト
<a name="authorization-testing"></a>

アプリケーションをデプロイする際の Amazon Verified Permissions 認可決定の影響を理解するために、 [Amazon Verified Permissions テストベンチの使用](test-bench.md)および Verified Permissions への HTTPS REST API リクエストを使用してポリシーを開発する際にポリシーを評価できます。テストベンチは、ポリシーストア内の認可リクエストとレスポンスを評価する AWS マネジメントコンソール ための のツールです。

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)」からテストベンチリクエストを入力します。以下の詳細では、**例 4 **の条件を、 **DigitalPetStore** サンプルを参照するようにレプリケートします。

   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 のロールを に変更`Employee`するか、順序 1234 の `owner` 属性を に変更します`Bob`。

1. 承認の決定に影響する方法でポリシーを変更します。例えば、**顧客ロール - 注文**を取得するという説明でポリシーを変更して、 が の所有者である`User`必要があるという条件を削除`Resource`し`Bob`、 が注文を表示するようにリクエストを変更します。

1. スキーマを変更して、ポリシーがより複雑な決定を行うことを許可します。Alice が新しい要件を満たすことができるようにリクエストエンティティを更新します。例えば、スキーマを編集して、 `User`が `ActiveUsers`または のメンバーになるようにします`InactiveUsers`。アクティブなユーザーのみが自分の注文を表示できるようにポリシーを更新します。Alice がアクティブまたは非アクティブなユーザーになるようにリクエストエンティティを更新します。