認証モデルのテスト - Amazon Verified Permissions

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

認証モデルのテスト

アプリケーションをデプロイする際の Amazon Verified Permissions 認証決定の影響を理解するために、ポリシーを開発する際に、 Amazon Verified Permissions テストベンチの使用および Verified Permissions へのHTTPSRESTAPIリクエストを使用してポリシーを評価できます。テストベンチは、ポリシーストア内の認証リクエストとレスポンスを評価する AWS Management Console ための のツールです。

Verified Permissions RESTAPIは、概念的な理解からアプリケーション設計に移行する際の開発の次のステップです。Verified Permissions はIsAuthorized、、IsAuthorizedWithToken、および をリージョンサービスエンドポイント への署名 AWS API付きリクエストBatchIsAuthorizedとしてAPI受け入れます。 https://docs.aws.amazon.com/general/latest/gr/verifiedpermissions.html認証モデルをテストするには、任意のAPIクライアントでリクエストを生成し、ポリシーが想定どおりに承認決定を返していることを検証できます。

例えば、次の手順IsAuthorizedを使用して、サンプルポリシーストアでテストできます。

Test bench
  1. で Verified Permissions コンソールを開きますhttps://console.aws.amazon.com/verifiedpermissions/。という名前のサンプルポリシーストアからポリシーストアを作成しますDigitalPetStore

  2. 新しいポリシーストアでテストベンチを選択します。

  3. Verified Permissions APIリファレンスIsAuthorizedの からテストベンチリクエストを入力します。以下の詳細では、DigitalPetStoreサンプルを参照する例 4 の条件をレプリケートします。

    1. Alice をプリンシパルとして設定します。アクションを実行するプリンシパル でDigitalPetStore::Userを選択して を入力しますAlice

    2. Alice のロールを顧客として設定します。親 の追加 を選択し、 を選択してDigitalPetStore::Role、「顧客」と入力します。

    3. リソースを順序「1234」に設定します。プリンシパルが で動作しているリソース でDigitalPetStore::Orderを選択して を入力します1234

    4. DigitalPetStore::Order リソースには owner 属性が必要です。Alice を注文の所有者として設定します。選択DigitalPetStore::Userして入力する Alice

    5. Alice は注文の表示をリクエストしました。プリンシパルが を取るアクション で、 を選択しますDigitalPetStore::Action::"GetOrder"

  4. 認証リクエストの実行 を選択します。変更されていないポリシーストアでは、このリクエストによってALLOW決定が行われます。決定を返した「満たされたポリシー」を書き留めます。

  5. 左側のナビゲーションバーから [ポリシー] を選択します。Customer Role - Get Order という説明が付いた静的ポリシーを確認します

  6. プリンシパルがカスタマーロールに属し、リソースの所有者であったため、Verified Permissions がリクエストを許可したことを確認します。

REST API
  1. で Verified Permissions コンソールを開きますhttps://console.aws.amazon.com/verifiedpermissions/。という名前のサンプルポリシーストアからポリシーストアを作成しますDigitalPetStore

  2. 新しいポリシーストアのポリシーストア ID を書き留めます。

  3. Verified Permissions APIリファレンスIsAuthorizedの から、DigitalPetStoreサンプルを参照する例 4 のリクエスト本文をコピーします。

  4. API クライアントを開き、ポリシーストアのリージョンサービスエンドポイントへのリクエストを作成します。の例に示すように、ヘッダーを入力します。

  5. サンプルリクエスト本文に貼り付け、 の値を前にメモpolicyStoreIdしたポリシーストア ID に変更します。

  6. リクエストを送信し、結果を確認します。デフォルトのDigitalPetStoreポリシーストアでは、このリクエストはALLOW決定を返します。

テスト環境でポリシー、スキーマ、およびリクエストを変更して、結果を変更し、より複雑な意思決定を行うことができます。

  1. Verified Permissions から決定を変更する方法でリクエストを変更します。例えば、Alice のロールを に変更Employeeするか、順序 1234 の owner 属性を に変更しますBob

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

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