

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

# AWS.DeactivateUser オペレーションを実装する
<a name="deactive-user-op"></a>

## ユーザー非アクティブ化の概要
<a name="deactivate-user-overview"></a>

提供されたユーザーアクセストークンの非アクティブ化は、顧客が AWS 顧客アカウントを削除する場合、またはエンドユーザーが AWS 顧客のシステムからシステム内のアカウントのリンクを解除する場合に必要です。どちらのユースケースのマネージド統合でも、C2C コネクタを使用してこのワークフローを容易にする必要があります。

次の図は、システムからエンドユーザーアカウントをリンク解除する方法を示しています。

![ユーザー非アクティブ化ワークフロー](https://docs.aws.amazon.com/ja_jp/iot-mi/latest/devguide/images/user-deactivate-workflow.png)


**ユーザー非アクティブ化ワークフロー**

1. ユーザーは、 AWS 顧客のアカウントと C2C コネクタに関連付けられたサードパーティー認可サーバーとの間のリンク解除プロセスを開始します。

1. お客様は、AWS IoT Device Management のマネージド統合を通じてユーザーの関連付けの削除を開始します。

1. マネージド統合は、 `AWS.DeactivateUser`オペレーションインターフェイスを使用してコネクタへのリクエストを介して非アクティブ化プロセスを開始します。

   1. OAuth 2.0 の場合、ユーザーのアクセストークンは ヘッダーに含まれます。一般認可の場合、 AWS Secrets Manager リファレンスは ヘッダーに含まれます。

1. C2C コネクタはリクエストを受け入れ、必要な非アクティブ化ステップを実行します。OAuth 2.0 の場合、これには、トークンとそのトークンが提供するアクセスを取り消すための認可サーバーの呼び出しが含まれます。一般認可の場合、これにはクリーンアップオペレーションやサードパーティープラットフォームへの通知が含まれる場合があります。

   1. たとえば、リンクされていないユーザーアカウントからのイベントは、 の実行後に Managed Integrations に送信されなくなります`AWS.DeactivateUser`。

1. 認可サーバーまたはサードパーティープラットフォームは非アクティブ化を処理し、C2C コネクタにレスポンスを返します。

1. C2C コネクタは、AWS IoT Device Management のマネージド統合に、非アクティブ化が処理された ACK を送信します。

1. Managed Integrations は、リソースサーバーに関連付けられたエンドユーザーが所有するすべてのリソースを削除します。

1. Managed Integrations は、システムに関連するすべての関連付けが削除されたことを示す ACK を顧客に送信します。

1. お客様は、アカウントがプラットフォームからリンク解除されたことをエンドユーザーに通知します。

## `AWS.DeactivateUser` の要件
<a name="deactivate-user-requirements"></a>

C2C コネクタがユーザーの非アクティブ化を正常に処理するには、次の要件を満たす必要があります。
+ **リクエスト処理:** C2C コネクタ Lambda 関数は、 マネージド統合からリクエストメッセージを受け取り、`AWS.DeactivateUser`オペレーションを処理します。
+ **トークンの取り消し/クリーンアップ:**
  + **OAuth 2.0 の場合:** C2C コネクタは、提供された OAuth 2.0 トークンと、認可サーバー内のユーザーの対応する更新トークンを取り消す必要があります。
  + **一般的な認可の場合:** C2C コネクタは、サードパーティープラットフォームに必要なクリーンアップまたは非アクティブ化のステップを実行する必要があります。

**OAuth 2.0 リクエスト:**

コネクタが OAuth 2.0 に対して受信する`AWS.DeactivateUser`リクエストの例を次に示します。

```
{
     "header": {
         "auth": {                 
             "token": "ashriu32yr97feqy7afsaf",   
             "type": "OAuth2.0" 
         }
     },
     "payload":{
         "operationName": "AWS.DeactivateUser",
         "operationVersion": "1.0",
         "connectorId": "{{Your-connector-Id}}"
     }
}
```

**一般的な認可の例:**

```
{
     "header": {
         "auth": {
             "secretsManager": {
                 "arn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:my-secret-abc123",
                 "versionId": "EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE"
             },
             "type": "GeneralAuthorization"
         }
     },
     "payload":{
         "operationName": "AWS.DeactivateUser",
         "operationVersion": "1.0",
         "connectorId": "{{Your-connector-Id}}"
     }
}
```