

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

# Amazon Verified Permissions での認可の実装
<a name="authorization"></a>

ポリシーストア、ポリシー、テンプレート、スキーマ、認可モデルを構築したら、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 リクエストを承認し、次に移管を他のアカウントにプッシュするリクエストを承認できます。

このコンテンツを説明する例は、[サンプルポリシーストア](policy-stores-create.md#policy-stores-create.title)からのものです。これを行うには、テスト環境に **DigitalPetStore** サンプルポリシーストアを作成します。

バッチ認可を使用して UX アクセス許可を実装するエンドツーエンドのサンプルアプリケーションについては、 *AWS セキュリティブログ*の「Use [Amazon Verified Permissions for fine-grained authorization at scale](https://aws.amazon.com/blogs/security/use-amazon-verified-permissions-for-fine-grained-authorization-at-scale/)」を参照してください。

**Topics**
+ [認可に使用できる API オペレーション](#authorization-operations)
+ [認可モデルのテスト](authorization-testing.md)
+ [認可モデルとアプリケーションの統合](authorization-sdk.md)

## 認可に使用できる API オペレーション
<a name="authorization-operations"></a>

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

**[IsAuthorized](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html)**  
`IsAuthorized` API オペレーションは、Verified Permissions を使用した認可リクエストへのエントリポイントです。プリンシパル、アクション、リソース、コンテキスト、エンティティの要素を送信する必要があります。Verified Permissions は、リクエスト内のエンティティに適用されるリクエストされたポリシーストア内のすべてのポリシーに対してリクエストを評価します。

**[IsAuthorizedWithToken](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorizedWithToken.html)**  
`IsAuthorizedWithToken` オペレーションは、JSON ウェブトークン (JWTs) のユーザーデータから認可リクエストを生成します。Verified Permissions は、ポリシーストアの ID ソース Amazon Cognito として などの OIDC プロバイダーと直接連携します。Verified Permissions は、ユーザーの ID またはアクセストークンのクレームからリクエストのすべての属性をプリンシパルに入力します。ID ソースのユーザー属性またはグループメンバーシップからアクションとリソースを承認できます。  
`IsAuthorizedWithToken` リクエストにグループまたはユーザープリンシパルタイプに関する情報を含めることはできません。指定した JWT にすべてのプリンシパルデータを入力する必要があります。

**[BatchIsAuthorized](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_BatchIsAuthorized.html)**  
`BatchIsAuthorized` オペレーションは、1 つの API リクエストで 1 つのプリンシパルまたはリソースに対して複数の認可決定を処理します。このオペレーションは、[クォータの使用](quotas.md#quotas-tps.title)を最小限に抑え、最大 30 個の複雑なネストされたアクションごとに認可決定を返す 1 つのバッチオペレーションにリクエストをグループ化します。単一のリソースのバッチ認可を使用すると、ユーザーがリソースに対して実行できるアクションをフィルタリングできます。単一のプリンシパルのバッチ認可を使用すると、ユーザーがアクションを実行できるリソースをフィルタリングできます。

**[BatchIsAuthorizedWithToken](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_BatchIsAuthorizedWithToken.html)**  
`BatchIsAuthorizedWithToken` オペレーションは、1 つの API リクエストで 1 つのプリンシパルに対して複数の承認決定を処理します。プリンシパルは、ポリシーストア ID ソースによって ID またはアクセストークンで提供されます。このオペレーションは、[クォータの使用](quotas.md#quotas-tps.title)を最小限に抑え、アクションとリソースに対する最大 30 個のリクエストごとに認可決定を返す単一のバッチオペレーションにリクエストをグループ化します。ポリシーでは、属性またはユーザーディレクトリのグループメンバーシップからのアクセスを許可できます。  
と同様に`IsAuthorizedWithToken`、グループまたはユーザープリンシパルタイプに関する情報を`BatchIsAuthorizedWithToken`リクエストに含めることはできません。指定した JWT にすべてのプリンシパルデータを入力する必要があります。