

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

# 認可モデルとアプリケーションの統合
<a name="authorization-sdk"></a>

アプリケーションに Amazon Verified Permissions を実装するには、アプリケーションに適用するポリシーとスキーマを定義する必要があります。認可モデルを準備してテストしたら、次のステップは、適用時点から API リクエストの生成を開始することです。これを行うには、ユーザーデータを収集して認可リクエストに入力するようにアプリケーションロジックを設定する必要があります。

**アプリが Verified Permissions を使用してリクエストを承認する方法**

1. 現在のユーザーに関する情報を収集します。通常、ユーザーの詳細は、JWT やウェブセッション Cookie など、認証されたセッションの詳細で提供されます。このユーザーデータは、ポリシーストアにリンクされた Amazon Cognito [ID ソース](identity-sources.md#identity-sources.title)または別の [OpenID Connect (OIDC) プロバイダー](cognito-validation.md#identity-sources-other-idp.title)から送信される場合があります。

1. ユーザーがアクセスするリソースに関する情報を収集します。通常、ユーザーが新しいアセットをロードするためにアプリを必要とする選択を行うと、アプリケーションはリソースに関する情報を受け取ります。

1. ユーザーが実行するアクションを決定します。

1. ユーザーの試行されたオペレーションのプリンシパル、アクション、リソース、エンティティを使用して、Verified Permissions に認可リクエストを生成します。Verified Permissions は、ポリシーストアのポリシーに対してリクエストを評価し、認可決定を返します。

1. アプリケーションは Verified Permissions から許可または拒否のレスポンスを読み取り、ユーザーのリクエストに決定を適用します。

Verified Permissions API オペレーションは AWS SDKs。Verified Permissions をアプリケーションに含めるには、選択した言語の AWS SDK をアプリケーションパッケージに統合します。

詳細と AWS SDKs[「Tools for Amazon Web Services](https://aws.amazon.com/tools/)」を参照してください。

以下は、さまざまな AWS SDKs。
+ [AWS SDK for .NET](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/VerifiedPermissions/NVerifiedPermissions.html)
+ [AWS SDK for C\$1\$1](https://sdk.amazonaws.com/cpp/api/LATEST/aws-cpp-sdk-verifiedpermissions/html/class_aws_1_1_verified_permissions_1_1_verified_permissions_client.html)
+ [AWS SDK for Go](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/verifiedpermissions)
+ [AWS SDK for Java](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/verifiedpermissions/package-summary.html)
+ [AWS SDK for JavaScript](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/verifiedpermissions/)
+ [AWS SDK for PHP](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-verifiedpermissions-2021-12-01.html)
+ [AWS SDK for Python (Boto)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/verifiedpermissions.html)
+ [AWS SDK for Ruby](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/VerifiedPermissions/Client.html)
+ [AWS SDK for Rust](https://docs.rs/aws-sdk-verifiedpermissions/latest/aws_sdk_verifiedpermissions/)

次の AWS SDK for JavaScript の例は、[Amazon Verified Permissions と Amazon Cognito を使用したきめ細かな認可の簡素化](https://aws.amazon.com/blogs/security/simplify-fine-grained-authorization-with-amazon-verified-permissions-and-amazon-cognito/)から`IsAuthorized`派生しています。

```
const authResult = await avp.isAuthorized({
    principal: 'User::"alice"',
    action: 'Action::"view"',
    resource: 'Photo::"VacationPhoto94.jpg"',
    // whenever our policy references attributes of the entity,
    // isAuthorized needs an entity argument that provides    
    // those attributes
    entities: {
       entityList: [
         {
            "identifier": {
                "entityType": "User",
                "entityId": "alice"
            },
            "attributes": {
                "location": {
                    "String": "USA"
                }
            }
         }
       ]
    }
});
```

**その他の開発者リソース**
+ [Amazon Verified Permissions ワークショップ](https://catalog.workshops.aws/verified-permissions-in-action)
+ [Amazon Verified Permissions - リソース](https://aws.amazon.com/verified-permissions/resources/)
+ [Amazon Verified Permissions を使用して ASP.NET Core アプリのカスタム認可ポリシープロバイダーを実装する](https://aws.amazon.com/blogs/dotnet/implement-a-custom-authorization-policy-provider-for-asp-net-core-apps-using-amazon-verified-permissions/)
+ [Amazon Verified Permissions を使用してビジネスアプリケーションのエンタイトルメントサービスを構築する](https://aws.amazon.com/blogs/security/build-an-entitlement-service-for-business-applications-using-amazon-verified-permissions/)
+ [Amazon Verified Permissions と Amazon Cognito を使用してきめ細かな認可を簡素化する](https://aws.amazon.com/blogs/security/simplify-fine-grained-authorization-with-amazon-verified-permissions-and-amazon-cognito/)