Amazon Verified Permissions での認可の実装 - Amazon Verified Permissions

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

Amazon Verified Permissions での認可の実装

ポリシーストア、ポリシー、テンプレート、スキーマ、認可モデルを構築したら、Amazon Verified Permissions を使用してリクエストの承認を開始する準備が整います。Verified Permissions 認可を実装するには、 で認可ポリシーの設定 AWS をアプリケーションの統合と組み合わせる必要があります。Verified Permissions をアプリケーションと統合するには、 AWS SDK を追加し、Verified Permissions API を呼び出し、ポリシーストアに対して認可の決定を生成するメソッドを実装します。

Verified Permissions による認可は、アプリケーションの UX アクセス許可API アクセス許可に役立ちます。

UX アクセス許可

アプリケーション UX へのユーザーアクセスを制御します。ユーザーがアクセスする必要がある正確なフォーム、ボタン、グラフィック、その他のリソースのみを表示することを許可できます。たとえば、ユーザーがサインインすると、「資金の移管」ボタンがアカウントに表示されるかどうかを判断できます。ユーザーが実行できるアクションを制御することもできます。たとえば、同じバンキングアプリで、ユーザーがトランザクションのカテゴリの変更を許可されているかどうかを判断できます。

API アクセス許可

データへのユーザーアクセスを制御します。アプリケーションは多くの場合、分散システムの一部であり、外部 APIs。Verified Permissions が「送金資金」ボタンの表示を許可した銀行アプリの例では、ユーザーが送金を開始するときに、より複雑な認可決定を行う必要があります。Verified Permissions は、対象となる移管先アカウントを一覧表示する API リクエストを承認し、次に移管を他のアカウントにプッシュするリクエストを承認できます。

このコンテンツを説明する例は、サンプルポリシーストアからのものです。これを行うには、テスト環境に DigitalPetStore サンプルポリシーストアを作成します。

バッチ認可を使用して UX アクセス許可を実装するエンドツーエンドのサンプルアプリケーションについては、 AWS セキュリティブログの「Use Amazon Verified Permissions for fine-grained authorization at scale」を参照してください。

認可に使用できる API オペレーション

Verified Permissions API には、次の認可オペレーションがあります。

IsAuthorized

IsAuthorized API オペレーションは、Verified Permissions を使用した認可リクエストへのエントリポイントです。プリンシパル、アクション、リソース、コンテキスト、エンティティの各要素を送信する必要があります。Verified Permissions は、リクエスト内のエンティティに適用されるリクエストされたポリシーストア内のすべてのポリシーに対してリクエストを評価します。

IsAuthorizedWithToken

IsAuthorizedWithToken オペレーションは、JSON ウェブトークン (JWTs) のユーザーデータから認可リクエストを生成します。Verified Permissions は、ポリシーストアの ID ソースとして Amazon Cognito などの OIDC プロバイダーと直接連携します。Verified Permissions は、ユーザーの ID トークンまたはアクセストークンのクレームからリクエストのすべての属性をプリンシパルに入力します。ID ソースのユーザー属性またはグループメンバーシップからアクションとリソースを承認できます。

IsAuthorizedWithToken リクエストにグループまたはユーザープリンシパルタイプに関する情報を含めることはできません。すべてのプリンシパルデータを、指定した JWT に入力する必要があります。

BatchIsAuthorized

BatchIsAuthorized オペレーションは、1 つの API リクエストで 1 つのプリンシパルまたはリソースに対して複数の認可決定を処理します。このオペレーションは、クォータの使用を最小限に抑え、最大 30 個の複雑なネストされたアクションごとに認可決定を返す 1 つのバッチオペレーションにリクエストをグループ化します。単一のリソースのバッチ認可を使用すると、ユーザーがリソースに対して実行できるアクションをフィルタリングできます。単一のプリンシパルのバッチ認可を使用すると、ユーザーがアクションを実行できるリソースをフィルタリングできます。

BatchIsAuthorizedWithToken

BatchIsAuthorizedWithToken オペレーションは、1 つの API リクエストで 1 つのプリンシパルに対して複数の承認決定を処理します。プリンシパルは、ポリシーストア ID ソースによって ID またはアクセストークンで提供されます。このオペレーションは、クォータの使用を最小限に抑え、アクションとリソースに対する最大 30 個のリクエストごとに認可決定を返す単一のバッチオペレーションにリクエストをグループ化します。ポリシーでは、属性またはユーザーディレクトリのグループメンバーシップからのアクセスを許可できます。

と同様にIsAuthorizedWithToken、グループまたはユーザープリンシパルタイプに関する情報をBatchIsAuthorizedWithTokenリクエストに含めることはできません。すべてのプリンシパルデータを、指定した JWT に入力する必要があります。