Verified Permissions ポリシーストアの作成 - Amazon Verified Permissions

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

Verified Permissions ポリシーストアの作成

以下の方法で、ポリシーストアを作成できます。

  • ガイド付きセットアップに従う – 最初のポリシーを作成する前に、有効なアクションとプリンシパルタイプを持つリソースタイプを定義します。

  • API Gateway と ID ソースを使用してセットアップする – ID プロバイダー (IdP) でサインインするユーザーと、Amazon API Gateway API からアクションとリソースエンティティを使用して、プリンシパルエンティティを定義します。このオプションは、ユーザーのグループメンバーシップまたは他の属性を使用してアプリケーションが API リクエストを承認する場合にお勧めします。

  • サンプルポリシーストアから開始 – 事前定義されたサンプルプロジェクトポリシーストアを選択します。Verified Permissions について学習していて、サンプルポリシーを表示およびテストしたい場合は、このオプションをお勧めします。

  • 空のポリシーストアを作成する – スキーマとすべてのアクセスポリシーを自分で定義します。ポリシーストアの設定にすでに慣れている場合は、このオプションをお勧めします。

Guided setup
ガイド付き設定方法を使用してポリシーストアを作成するには

ガイド付き設定ウィザードの指示に従って、ポリシーストアの最初のイテレーションを作成します。最初のリソースタイプのスキーマを作成し、そのリソースタイプに適用できるアクションと、権限を付与するプリンシパルタイプを記述します。次に、最初のポリシーを作成します。このウィザードを完了すると、ポリシーストアに追加したり、スキーマを拡張して他のリソースやプリンシパルタイプを記述したり、追加のポリシーやテンプレートを作成したりできます。

  1. Verified Permissions コンソールで、新しいポリシーストアの作成を選択します。

  2. 開始オプションセクションで、ガイド付きセットアップを選択します。

  3. ポリシーストアの説明を入力します。このテキストは、Weather updates web application など、現在のポリシーストアの 関数へのわかりやすい参照として、組織に適したものにすることができます。

  4. 詳細」セクションに、スキーマの名前空間を入力します。名前空間の詳細については、「」を参照してください名前空間の定義

  5. [次へ] を選択します。

  6. リソースタイプ」ウィンドウに、リソースタイプの名前を入力します。たとえば、 は、Weather updates ウェブアプリケーションのリソースcurrentTemperatureである可能性があります。

  7. (オプション) [属性を追加] を選択してリソース属性を追加します。リソースの各属性の属性名を入力し、属性タイプを選択します。各属性が必須かどうかを選択します。たとえば、 temperatureFormatcurrentTemperatureリソースの属性で、華氏または摂氏のいずれかになります。リソースタイプに追加された属性を削除するには、属性の横にある [削除] を選択します。

  8. アクション」フィールドに、指定したリソースタイプに対して認証するアクションを入力します。リソースタイプにアクションを追加するには、「アクションを追加」を選択します。たとえば、 は「Weather updates web application」のアクションviewTemperatureである場合があります。リソースタイプに追加されたアクションを削除するには、アクションの横にある [削除] を選択します。

  9. プリンシパルタイプの名前」フィールドに、リソースタイプに指定されたアクションを使用するプリンシパルの名前を入力します。デフォルトでは、ユーザーはこのフィールドに追加されますが、置き換えることができます。

  10. [次へ] を選択します。

  11. プリンシパルタイプ」ウィンドウで、プリンシパルタイプのID ソースを選択します。

    • プリンシパルの ID と属性を Verified Permissions アプリケーションから直接提供する場合は、「カスタム」を選択します。属性を追加するには、[属性を追加] を選択します。Verified Permissions では、スキーマに対してポリシーを検証するときに、指定された属性値を使用します。プリンシパルタイプに追加された属性を削除するには、属性の横にある削除を選択します。

    • プリンシパルの ID と属性が Amazon Cognito によって生成された ID またはアクセストークンから提供される場合は、Cognito ユーザープールを選択します。[ユーザープールを接続] を選択します。AWS リージョンを選択し、接続する Amazon Cognito ユーザープールのユーザープール ID を入力します。[接続]を選択します。詳細については、「Amazon Cognito デベロッパーガイド」の「Amazon Verified Permissions による認可」を参照してください。 Amazon Cognito

    • プリンシパルの ID と属性が ID トークンやアクセストークンから抽出され、外部 OIDC プロバイダーによって生成された場合は、外部 OIDC プロバイダーを選択し、プロバイダーとトークンの詳細を追加します。

  12. [次へ] を選択します。

  13. ポリシーの詳細セクションに、最初の Cedar ポリシーに関するポリシーの説明をオプションで入力します。

  14. プリンシパルの範囲」フィールドで、ポリシーから権限を付与されるプリンシパルを選択します。

    • 特定のプリンシパルにポリシーを適用するには、「特定のプリンシパル」を選択します。「アクションの実行を許可するプリンシパル」フィールドでプリンシパルを選択し、プリンシパルのエンティティ ID を入力します。たとえば、 は、Weather updates ウェブアプリケーションのエンティティ識別子user-idである場合があります。

      注記

      Amazon Cognito を使用している場合、エンティティ識別子は の形式である必要があります<userpool-id>|<sub>

    • ポリシーストア内のすべてのプリンシパルにポリシーを適用するには、「すべてのプリンシパル」を選択します。

  15. リソースの範囲]フィールドで、指定したプリンシパルにアクションを許可するリソースを選択します。

    • 特定のリソースにポリシーを適用するには、「特定のリソース」を選択します。「このポリシーが適用される必要があるリソース」フィールドでリソースを選択し、リソースのエンティティ ID を入力します。たとえば、 は、Weather updates ウェブアプリケーションのエンティティ識別子temperature-idである場合があります。

    • ポリシーストア内のすべてのリソースにポリシーを適用するには、[すべてのリソース] を選択します。

  16. アクションの範囲]フィールドで、指定したプリンシパルに実行を許可するアクションを選択します。

    • 特定のアクションにポリシーを適用するには、「特定のアクションセット」を選択します。「このポリシーが適用される必要があるアクション」フィールドで、アクションの横にあるチェックボックスを選択します。

    • ポリシーストア内のすべてのアクションにポリシーを適用するには、[すべてのアクション] を選択します。

  17. ポリシープレビューセクションでポリシーを確認してください。[ポリシーストアを作成]を選択します。

Set up with API Gateway and an identity source
API Gateway でのセットアップと ID ソース設定方法を使用してポリシーストアを作成するには

API Gateway オプションは、ユーザーのグループまたはロールから認可を決定するように設計された Verified Permissions ポリシーを使用して APIs を保護します。このオプションは、ID ソースグループによる認可をテストするためのポリシーストアと、Lambda オーソライザーによる API を構築します。

IdP のユーザーとそのグループは、プリンシパル (ID トークン) またはコンテキスト (アクセストークン) になります。API Gateway API のメソッドとパスは、ポリシーが承認するアクションになります。アプリケーションがリソースになります。このワークフローの結果として、Verified Permissions はポリシーストア、Lambda 関数、API Lambda オーソライザーを作成します。このワークフローが完了したら、Lambda オーソライザーを API に割り当てる必要があります。

  1. Verified Permissions コンソールで、新しいポリシーストアの作成を選択します。

  2. 開始オプションセクションで、API Gateway と ID ソースでセットアップを選択し、次へを選択します。

  3. リソースとアクションのインポートステップの API で、ポリシーストアのリソースとアクションのモデルとして機能する API を選択します。

    1. API で設定されたステージからデプロイステージを選択し、API のインポートを選択します。API ステージの詳細については、Amazon API Gateway デベロッパーガイド」の「REST API のステージのセットアップ」を参照してください。

    2. インポートされたリソースとアクションのマップをプレビューします。

    3. リソースまたはアクションを更新するには、API Gateway コンソールで API パスまたはメソッドを変更し、API のインポートを選択して更新を確認します。

    4. 選択内容に満足したら、へを選択します。

  4. ID ソースで、ID プロバイダータイプを選択します。Amazon Cognito ユーザープールまたは OpenID Connect (OIDC) IdP タイプを選択できます。

  5. Amazon Cognito を選択した場合:

    1. ポリシーストアと同じ AWS リージョン および AWS アカウント のユーザープールを選択します。

    2. 承認のために送信する API に渡すトークンタイプを選択します。どちらのトークンタイプにも、この API リンク認可モデルの基盤であるユーザーグループが含まれています。

    3. アプリクライアントの検証では、ポリシーストアの範囲をマルチテナントユーザープール内の Amazon Cognito アプリクライアントのサブセットに制限できます。ユーザープール内の 1 つ以上の指定されたアプリケーションクライアントによる認証をユーザーに要求するには、予想されるアプリケーションクライアント IDs を持つトークンのみを受け入れるを選択します。ユーザープールで認証するユーザーを受け入れるには、アプリケーションクライアント IDs を検証しないを選択します。

    4. [次へ] を選択します。

  6. 外部 OIDC プロバイダーを選択した場合:

    1. 発行者 URL に、OIDC 発行者の URL を入力します。これは、認可サーバー、署名キー、および などのプロバイダーに関するその他の情報を提供するサービスエンドポイントですhttps://auth.example.com。発行者 URL は、 で OIDC 検出ドキュメントをホストする必要があります/.well-known/openid-configuration

    2. トークンタイプで、アプリケーションが承認のために送信する OIDC JWT のタイプを選択します。詳細については、Amazon Cognito トークンをスキーマにマッピングする」および「OIDC トークンをスキーマにマッピングする」を参照してください。

    3. (オプション) トークンクレーム - オプションで、トークンクレームの追加を選択し、トークンの名前を入力し、値タイプを選択します。

    4. ユーザーおよびグループのトークンクレームで、次の操作を行います。

      1. ID ソースのトークンにユーザークレーム名を入力します。これは、通常sub、評価されるエンティティの一意の識別子を保持する ID またはアクセストークンからのクレームです。接続された OIDC IdP の ID は、ポリシーストアのユーザータイプにマッピングされます。

      2. ID ソースのトークンにグループクレーム名を入力します。これは、通常groups、ユーザーのグループのリストを含む ID またはアクセストークンからのクレームです。ポリシーストアは、グループメンバーシップに基づいてリクエストを承認します。

    5. 対象者の検証で、ポリシーストアが認可リクエストで受け入れる値を選択してAdd value追加します。

    6. [次へ] を選択します。

  7. Amazon Cognito を選択した場合、Verified Permissions はユーザープールにグループをクエリします。OIDC プロバイダーの場合は、グループ名を手動で入力します。グループへのアクションの割り当てステップでは、グループメンバーがアクションを実行できるようにするポリシーストアのポリシーを作成します。

    1. ポリシーに含めるグループを選択または追加します。

    2. 選択した各グループにアクションを割り当てます。

    3. [次へ] を選択します。

  8. アプリ統合のデプロイで、後で Lambda オーソライザーを手動でアタッチするか、Verified Permissions で今すぐアタッチするかを選択し、Verified Permissions がポリシーストアと Lambda オーソライザーを作成するために実行する手順を確認します。

  9. 新しいリソースを作成する準備ができたら、ポリシーストアの作成を選択します。

  10. ポリシーストアのステータスステップをブラウザで開いたままにして、Verified Permissions によるリソース作成の進行状況をモニタリングします。

  11. しばらくすると、通常は約 1 時間、または Lambda オーソライザーのデプロイステップに Success と表示されたら、オーソライザーを手動でアタッチすることを選択した場合は、オーソライザーを設定します。

    Verified Permissions は、API に Lambda 関数と Lambda オーソライザーを作成します。API を開く を選択して、API に移動します。

    Lambda オーソライザーを割り当てる方法については、「Amazon API Gateway デベロッパーガイド」の「API Gateway Lambda オーソライザーを使用する」を参照してください。 Amazon API Gateway

    1. API のオーソライザーに移動し、Verified Permissions が作成したオーソライザーの名前を書き留めます。

    2. リソースに移動し、API で最上位のメソッドを選択します。

    3. メソッドリクエスト設定編集を選択します。

    4. オーソライザーを前にメモしたオーソライザー名に設定します。

    5. HTTP リクエストヘッダーを展開し、名前 または を入力しAUTHORIZATION必須 を選択します。

    6. API ステージをデプロイします。

    7. 変更を保存します

  12. ID ソースの選択ステップで選択したトークンタイプのユーザープールトークンを使用してオーソライザーをテストします。ユーザープールのサインインとトークンの取得の詳細については、Amazon Cognito デベロッパーガイド」の「ユーザープールの認証フロー」を参照してください。

  13. API へのリクエストのAUTHORIZATIONヘッダーでユーザープールトークンを使用して認証を再度テストします。

  14. 新しいポリシーストアを確認します。ポリシーを追加および絞り込みます。

Sample policy store
サンプルポリシーストア設定方法を使用してポリシーストアを作成するには
  1. 開始オプションセクションで、サンプルポリシーストアを選択します。

  2. サンプルプロジェクト」セクションで、使用するサンプルのVerified Permissions アプリケーションのタイプを選択します。

    • PhotoFlash は、ユーザーが個々の写真やアルバムを友人と共有できるようにする、顧客向けのサンプル Web アプリケーションです。ユーザーは、自分の写真の閲覧、コメント、再共有を誰に許可するかについて、きめ細かい権限を設定できます。アカウントオーナーは、友達のグループを作成したり、写真をアルバムにまとめたりすることもできます。

    • DigitalPetStoreは、誰でも登録して顧客になることができるサンプルアプリケーションです。顧客は販売するペットの追加、ペットの検索、注文を行うことができます。ペットを追加したお客様は、ペットの飼い主として記録されます。ペットの飼い主は、ペットの詳細を更新したり、ペットの画像をアップロードしたり、ペットリストを削除したりできます。注文した顧客は注文所有者として記録されます。注文所有者は注文の詳細を確認したり、注文をキャンセルしたりできます。ペットショップのマネージャーには管理者権限があります。

      注記

      DigitalPetStore サンプルポリシーストアにはポリシーテンプレートは含まれていません。PhotoFlashTinyTodo のサンプルポリシーストアにはポリシーテンプレートが含まれています。

    • TinyToDo は、ユーザがタスクやタスクリストを作成できるようにするサンプルアプリケーションです。リスト所有者はリストを管理および共有したり、リストを閲覧または編集できるユーザーを指定したりできます。

  3. サンプルポリシーストアのスキーマの名前空間は、選択したサンプルプロジェクトに基づいて自動的に生成されます。

  4. [ポリシーストアを作成]を選択します。

    ポリシーストアは、選択したサンプルポリシーストア用のポリシーとスキーマを使用して作成されます。サンプルポリシーストア用に作成できる、テンプレートにリンクされたポリシーの詳細については、Amazon Verified Permissions のテンプレートリンクポリシーの例を参照してください。

Empty policy store
空のポリシーストア」設定方法を使用してポリシーストアを作成するには
  1. 開始オプションセクションで、空のポリシーストアを選択します。

  2. [ポリシーストアを作成]を選択します。

空のポリシーストアはスキーマなしで作成されます。つまり、ポリシーは検証されません。ポリシー ストアのスキーマの更新の詳細については、「Amazon Verified Permissions ポリシーストアスキーマ」を参照してください。

ポリシーストアのポリシーの作成に関する詳細については、「Amazon Verified Permissions 静的ポリシーの作成」と「Amazon Verified Permissions テンプレートリンクポリシーの作成」を参照してください。

AWS CLI
AWS CLIを使用して空のポリシーストアを作成するには。

ポリシーストアは、create-policy-storeオペレーションを使用して作成できます。

注記

を使用して作成したポリシーストア AWS CLI は空です。

$ aws verifiedpermissions create-policy-store \ --validation-settings "mode=STRICT" { "arn": "arn:aws:verifiedpermissions::123456789012:policy-store/PSEXAMPLEabcdefg111111", "createdDate": "2023-05-16T17:41:29.103459+00:00", "lastUpdatedDate": "2023-05-16T17:41:29.103459+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111" }
AWS SDKs

CreatePolicyStoreAPI を使用してポリシーストアを作成できます。詳細については、Amazon Verified Permissions API リファレンスガイドの「CreatePolicyStore」を参照してください。