

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

# API リクエストを作成する
<a name="making-api-requests"></a>

Amazon Verified Permissions のクエリリクエストは、 `POST`メソッドを使用する HTTP または HTTPS リクエストです。

## Verified Permissions エンドポイント
<a name="avp-endpoints"></a>

*エンドポイント*は、ウェブサービスのエントリポイントとして機能する URL です。レイテンシーを減らすリクエストを行うときに、適切な AWS リージョン エンドポイントを選択できます。Verified Permissions で使用されるエンドポイントの詳細については、の[「Amazon Verified Permissions](https://docs.aws.amazon.com/general/latest/gr/verified-permissions.html)」を参照してください*Amazon Web Services 全般のリファレンス*。

## リクエストパラメータ
<a name="request-parameters"></a>

Amazon Verified Permissions は JSON ベースのプロトコルを使用します。HTTP リクエストの本文でリクエストパラメータを JSON として渡します。リストは JSON 配列として表されます。詳細については、*Amazon Verified Permissions API リファレンス*の[「共通パラメータ](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/CommonParameters.html)」を参照してください。

## リクエスト識別子
<a name="request-identifiers"></a>

すべてのレスポンスで、 は HTTP レスポンスヘッダーを介してリクエスト ID `x-amzn-RequestId` AWS を返します。この文字列は、追跡情報を提供するために が AWS 割り当てる一意の識別子です。リクエスト ID はすべてのレスポンスに含まれていますが、読みやすさを向上させ、冗長性を低減するために、個々の API ドキュメントページには記載されていません。

## クエリ API 認証
<a name="query-authentication"></a>

HTTPS 経由でクエリリクエストを送信します。すべてのクエリリクエストに署名を含める必要があります。署名の作成と含めの詳細については、の[AWS 「 API リクエストの署名](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html)」を参照してください*Amazon Web Services 全般のリファレンス*。

## 利用可能なライブラリ
<a name="using-libraries"></a>

AWS は、コマンドラインツールやクエリ API の代わりに言語固有の APIs を使用してアプリケーションを構築するソフトウェア開発者向けに、ライブラリ、サンプルコード、チュートリアル、その他のリソースを提供します。これらのライブラリには、リクエスト認証、リクエストの再試行、エラー処理などの基本的な関数 (APIs には含まれていません) が用意されているため、簡単に開始できます。Verified Permissions ライブラリとリソースは、次の言語とプラットフォームで使用できます。
+  [AWS SDK for Go](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/verifiedpermissions) 
+  [AWS SDK for Java 2.x](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/verifiedpermissions/package-summary.html) 
+  [AWS SDK for Java 1.x](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/verifiedpermissions/package-summary.html) 
+  [AWS SDK for JavaScript](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/VerifiedPermissions.html) 
+  [AWS SDK for .NET](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/VerifiedPermissions/NVerifiedPermissions.html) 
+  [AWS SDK for PHP](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-verifiedpermissions-2022-07-28.html) 
+  [AWS SDK for Python (Boto)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/verifiedpermissions.html) 
+  [AWS SDK for Ruby](https://github.com/aws/aws-sdk-ruby/tree/version-3/apis/verifiedpermissions/2021-12-01) 

すべての言語のライブラリとサンプルコードの詳細については、[「サンプルコードとライブラリ](https://docs.aws.amazon.com/code-library)」を参照してください。

## `POST` メソッドを使用した API リクエストの実行
<a name="avp-API-requests-using-post-method"></a>

 AWS SDKs のいずれかを使用しない場合は、 リクエストメソッドを使用して HTTPS 経由で Verified Permissions `POST`リクエストを行うことができます。`POST` メソッドでは、リクエストの ヘッダーに オペレーションを指定し、リクエストの本文に JSON 形式でオペレーションのデータを指定する必要があります。


| ヘッダー名 | ヘッダー値 | 
| --- | --- | 
| Host | Amazon Verified Permissions エンドポイント。例: `verifiedpermissions.us-east-1.amazonaws.com`  | 
| X-Amz-Date | HTTP Date ヘッダーまたは the AWS *x-amz-date* ヘッダーのいずれかにタイムスタンプを指定する必要があります。一部の HTTP クライアントライブラリでは、日付ヘッダーを設定できません。*x-amz-date* ヘッダーが存在する場合、システムはリクエスト認証中に Date ヘッダーを無視します。<br />*x-amz-date* ヘッダーは ISO 8601 基本形式で指定する必要があります。例: `20130315T092054Z`  | 
| Authorization | リクエストの有効性と信頼性を確保するために が AWS 使用する認可パラメータのセット。このヘッダーの作成の詳細については、の[「署名バージョン 4 の署名プロセス](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html)」を参照してください*Amazon Web Services 全般のリファレンス*。 | 
| X-Amz-Target | 実行する Verified Permissions オペレーションを指定します。<br />`VerifiedPermissions.{{API_Name}}`<br />たとえば、 `CreatePolicy`オペレーションを呼び出すには、次のターゲット値を使用します。<br />`VerifiedPermissions.CreatePolicy` | 
| Content-Type | 入力形式を指定します。次の値を使用します。<br />`application/x-amz-json-1.0` | 
| Accept | レスポンス形式を指定します。次の値を使用します。<br />`application/x-amz-json-1.0` | 
| Content-Length | バイト単位のペイロードのサイズ。 | 
| Content-Encoding | 入力と出力のエンコード形式を指定します。次の値を使用します。<br />`amz-1.0` | 

以下は、 が`User`名前付き AWS アカウント `Principal`を参照する の指定されたポリシーストア内のすべてのポリシーのリストを返す HTTP リクエストのヘッダーの例です`alice`。この例では、読みやすくするために、この`Authorization`行はここで単語ラップされています。実際のリクエストにラップしないでください。

```
POST / HTTP/1.1
Host: verifiedpermissions.us-east-1.amazonaws.com
X-Amz-Date: 20230101T200059Z
Accept-Encoding: identity
Content-Type: application/x-amz-json-1.0
X-Amz-Target: VerifiedPermissions.ListPolicies
User-Agent: <UserAgentString>
Authorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=<Headers>, Signature=<Signature>
Content-Length: <PayloadSizeBytes>

{
    "PolicyStoreId": "PSExAmPLE222222222",
    "Filter": {
        "Principal": {
            "Id": {
                "EntityType": "User",
                "EntityId": "alice"
            }
        }
    }
}
```