

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

# AppFabric for productivity AppClients の管理
<a name="manage-appclients"></a>


|  | 
| --- |
|  AWS AppFabric for productivity 機能はプレビュー版であり、変更される可能性があります。 | 

AppFabric for productivity の AppClients を管理することで、認証および認可のプロセスのスムーズなオペレーションと管理を実現できます。

## AppClient の詳細を取得する
<a name="get_appclient_details"></a>

AppClient ステータスの確認など AppClient に関する詳細を表示するときは、AppFabric `GetAppClient` API オペレーションを使用します。詳細については、「[GetAppClient](API_GetAppClient.md)」を参照してください。

AppClient の詳細を取得するには、少なくとも IAM ポリシーの許可が必要です。`"appfabric:GetAppClient"`詳細については、「[AppClients の詳細を得るためのアクセスを許可する](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-productivity-get-appclient)」を参照してください。

**リクエストフィールド**
+ `appClientId` - AppClient ID です。

**レスポンスフィールド**
+ `appName` - AppFabric ユーザーポータルの同意ページでユーザーに表示されるアプリケーションの名前です。
+ `customerManagedKeyIdentifier` (オプション) - データの暗号化に使用されるカスタマーマネージドキー (KMS が生成) の ARN です。指定しない場合、 AWS AppFabric マネージドキーが使用されます。
+ `description` - アプリケーションの説明です。
+ `redirectUrls` - 承認後にエンドユーザーがリダイレクトされる URI です。redirectUrls は 5 個まで追加できます。例えば、`https://localhost:8080`。
+ `starterUserEmails` - アプリケーションが検証されるまでの間、インサイトを受け取るためのアクセスが許可されるユーザーの E メールアドレスです。使用できるアドレスは 1 つのみです。例えば、`anyuser@example.com`。
+ `verificationStatus` - AppClient の検証ステータスです。
  + `pending_verification` - AppClient の検証が、AppFabric でまだ進行中です。AppClient の検証が終わるまでは、この AppClient を使用できるのは (`starterUserEmails` で指定された) 1 人のユーザーのみとなります。
  + `verified` - AppFabric による検証プロセスが正常に完了し、AppClient は検証済みです。
  + `rejected` - AppClient の検証プロセスが AppFabric によって拒否されました。検証プロセスが再開され正常に完了するまでは、他のユーザーが AppClient を使用することはできません。

```
curl --request GET \
  --header "Content-Type: application/json" \
  --header "X-Amz-Content-Sha256: <sha256_payload>" \
  --header "X-Amz-Security-Token: <security_token>" \
  --header "X-Amz-Date: 20230922T172215Z" \
  --header "Authorization: AWS4-HMAC-SHA256 ..." \
  --url https://appfabric.<region>.amazonaws.com/appclients/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
```

アクションが成功すると、サービスは HTTP 200 レスポンスを返します。

```
200 OK

{
    "appClient": {
        "appName": "Test App",
        "arn": "arn:aws:appfabric:<region>:111122223333:appclient/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "customerManagedKeyArn": "arn:aws:kms:<region>:111122223333:key/<key>",
        "description": "This is a test app",
        "redirectUrls": [
            "https://localhost:8080"
        ],
        "starterUserEmails": [
            "anyuser@example.com"
        ],
        "verificationDetails": {
            "verificationStatus": "pending_verification"
        }
    }
}
```

## AppClients の一覧表示
<a name="list_appclients"></a>

AppClients のリストを表示するときは、AppFabric `ListAppClients` API オペレーションを使用します。AppFabric では、1 つの AppClient につき 1 つのみが許可されます AWS アカウント。この制限は将来変更される可能性があります。詳細については、「[ListAppClients](API_ListAppClients.md)」を参照してください。

AppClient をリスト化するには、少なくとも `"appfabric:ListAppClients"` IAM ポリシーの許可が必要です。詳細については、「[AppClients を一覧表示するためのアクセスを許可する](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-productivity-list-appclient)」を参照してください。

**リクエストフィールド**
+ 必須フィールドはありません。

**レスポンスフィールド**
+ `appClientARN` - AppClient ID を含む Amazon リソースネーム (ARN) です。例えば、AppClient ID は `a1b2c3d4-5678-90ab-cdef-EXAMPLE11111` です。
+ `verificationStatus` - AppClient の検証ステータスです。
  + `pending_verification` - AppClient の検証が、AppFabric でまだ進行中です。AppClient の検証が終わるまでは、この AppClient を使用できるのは (`starterUserEmails` で指定された) 1 人のユーザーのみとなります。
  + `verified` - AppFabric による検証プロセスが正常に完了し、AppClient は検証済みです。
  + `rejected` - AppClient の検証プロセスが AppFabric によって拒否されました。検証プロセスが再開され正常に完了するまでは、他のユーザーが AppClient を使用することはできません。

```
curl --request GET \
  --header "Content-Type: application/json" \
  --header "X-Amz-Content-Sha256: <sha256_payload>" \
  --header "X-Amz-Security-Token: <security_token>" \
  --header "X-Amz-Date: 20230922T172215Z" \
  --header "Authorization: AWS4-HMAC-SHA256 ..." \
  --url https://appfabric.<region>.amazonaws.com/appclients
```

アクションが成功すると、サービスは HTTP 200 レスポンスを返します。

```
200 OK

{
    "appClientList": [
        {
            "appClientArn": "arn:aws:appfabric:<region>:111122223333:appclient/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
            "verificationStatus": "pending_verification"
        }
    ]
}
```

## AppClient を更新する
<a name="update_appclient"></a>

AppClient に対応付けられた redirectUrls を更新するときは、AppFabric `UpdateAppClient` API オペレーションを使用します。AppName、starterUserEmailsなど、その他のパラメータを変更する必要がある場合は、AppClient を削除して新しい AppClient を作成します。詳細については、「[UpdateAppClient](API_UpdateAppClient.md)」を参照してください。

AppClient を更新するには、少なくとも `"appfabric:UpdateAppClient"` IAM ポリシーの許可が必要です。詳細については、「[AppClients を更新するためのアクセスを許可する](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-productivity-update-appclient)」を参照してください。

**リクエストフィールド**
+ `appClientId` (必須) - redirectUrls を更新する AppClient ID です。
+ `redirectUrls` (必須) - 更新された redirectUrls のリストです。redirectUrls は 5 個まで追加できます。

**レスポンスフィールド**
+ `appName` - AppFabric ユーザーポータルの同意ページでユーザーに表示されるアプリケーションの名前です。
+ `customerManagedKeyIdentifier` (オプション) - データの暗号化に使用されるカスタマーマネージドキー (KMS が生成) の ARN です。指定しない場合、 AWS AppFabric マネージドキーが使用されます。
+ `description` - アプリケーションの説明です。
+ `redirectUrls` - 承認後にエンドユーザーがリダイレクトされる URI です。例えば、`https://localhost:8080`。
+ `starterUserEmails` - アプリケーションが検証されるまでの間、インサイトを受け取るためのアクセスが許可されるユーザーの E メールアドレスです。使用できるアドレスは 1 つのみです。例えば、`anyuser@example.com`。
+ `verificationStatus` - AppClient の検証ステータスです。
  + `pending_verification` - AppClient の検証が、AppFabric でまだ進行中です。AppClient の検証が終わるまでは、この AppClient を使用できるのは (`starterUserEmails` で指定された) 1 人のユーザーのみとなります。
  + `verified` - AppFabric による検証プロセスが正常に完了し、AppClient は検証済みです。
  + `rejected` - AppClient の検証プロセスが AppFabric によって拒否されました。検証プロセスが再開され正常に完了するまでは、他のユーザーが AppClient を使用することはできません。

```
curl --request PATCH \
  --header "Content-Type: application/json" \
  --header "X-Amz-Content-Sha256: <sha256_payload>" \
  --header "X-Amz-Security-Token: <security_token>" \
  --header "X-Amz-Date: 20230922T172215Z" \
  --header "Authorization: AWS4-HMAC-SHA256 ..." \
  --url https://appfabric.<region>.amazonaws.com/appclients/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \
  --data '{
    "redirectUrls": ["https://localhost:8081"]
}'
```

アクションが成功すると、サービスは HTTP 200 レスポンスを返します。

```
200 OK

{
    "appClient": {
        "appName": "Test App",
        "arn": "arn:aws:appfabric:<region>:111122223333:appclient/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "customerManagedKeyArn": "arn:aws:kms:<region>:111122223333:key/<key>",
        "description": "This is a test app",
        "redirectUrls": [
            "https://localhost:8081"
        ],
        "starterUserEmails": [
            "anyuser@example.com"
        ],
        "verificationDetails": {
            "verificationStatus": "pending_verification"
        }
    }
}
```

## AppClient を削除する
<a name="delete_appclient"></a>

不要になった AppClients を削除するときは、AppFabric `DeleteAppClient` API オペレーションを使用します。詳細については、「[DeleteAppClient](API_DeleteAppClient.md)」を参照してください。

AppClient を削除するには、少なくとも `"appfabric:DeleteAppClient"` IAM ポリシーの許可が必要です。詳細については、「[AppClients を削除するためのアクセスを許可する](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-productivity-delete-appclient)」を参照してください。

**リクエストフィールド**
+ `appClientId` - AppClient ID です。

**レスポンスフィールド**
+ レスポンスフィールドはありません。

```
curl --request DELETE \
  --header "Content-Type: application/json" \
  --header "X-Amz-Content-Sha256: <sha256_payload>" \
  --header "X-Amz-Security-Token: <security_token>" \
  --header "X-Amz-Date: 20230922T172215Z" \
  --header "Authorization: AWS4-HMAC-SHA256 ..." \
  --url https://appfabric.<region>.amazonaws.com/appclients/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
```

アクションが成功した場合、サービスは空の HTTP 本文を持つ HTTP 204 レスポンスを返します。

## エンドユーザー用トークンを更新する
<a name="refresh_token"></a>

AppClient がエンドユーザー用に取得するトークンは、有効期限が切れると更新できます。これは [トークン](API_Token.md) API と grant\$1type `refresh_token` とを組み合わせて使用することで実行できます。grant\$1type が `authorization_code` である場合は、使用すべき `refresh_token` は、トークン API のレスポンスの一部として返されます。デフォルトの有効期限は 12 時間です。更新 API を呼び出すには、`"appfabric:Token"` IAM ポリシーの許可が必要です。詳細については、「[トークン](API_Token.md)」および「[AppClients を更新するためのアクセスを許可する](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-productivity-update-appclient)」を参照してください。

**リクエストフィールド**
+ `refresh_token` (必須) - 最初の `/token` リクエストで受け取った更新トークンです。
+ `app_client_id` (必須) - AWS アカウント用に作成された AppClient リソースの ID です。
+ `grant_type` (必須) - `refresh_token` でなければなりません。

**レスポンスフィールド**
+ `expires_in` - トークンの有効期限が切れるまでの残り時間です。デフォルトの有効期限は 12 時間です。
+ `refresh_token` - 最初の /token リクエストで受け取った更新トークンです。
+ `token` - 最初の /token リクエストで受け取ったトークンです。
+ `token_type` - この値は `Bearer` になります。
+ `appfabric_user_id` - AppFabric ユーザー ID です。この値は、リクエストが `authorization_code` グラントタイプを使用している場合のみ返されます。

```
curl --location \
"https://appfabric.<region>.amazonaws.com/oauth2/token" \
--header "Content-Type: application/json" \
--header "X-Amz-Content-Sha256: <sha256_payload>" \
--header "X-Amz-Security-Token: <security_token>" \
--header "X-Amz-Date: 20230922T172215Z" \
--header "Authorization: AWS4-HMAC-SHA256 ..." \
--data "{
    \"refresh_token\": \"<refresh_token>",
    \"app_client_id\": \"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111\",
    \"grant_type\": \"refresh_token\"
}"
```

アクションが成功すると、サービスは HTTP 200 レスポンスを返します。

```
200 OK

{
    "expires_in": 43200,
    "token": "apkaeibaerjr2example",
    "token_type": "Bearer",
    "appfabric_user_id" : "${UserID}"
}
```