

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

# C2C (Cloud-to-Cloud) コネクタを構築する
<a name="concepts-building-connector"></a>

以下のセクションでは、AWS IoT Device Management のマネージド統合用の C2C (Cloud-to-Cloud) コネクタを構築する手順について説明します。

**Topics**
+ [前提条件](#c2c-connector-prerequisites)
+ [必要なアクセス許可](#c2c-connector-required-permissions)
+ [C2C コネクタの要件](#c2c-connector-requirements)
+ [Authorization](concepts-authorization.md)
+ [C2C コネクタインターフェイスオペレーションの実装](connector-operations-overview.md)
+ [C2C コネクタを呼び出す](allow-iot-smart-home.md)
+ [IAM ロールにアクセス許可を追加する](adding-permissions-to-iam-role.md)
+ [C2C コネクタを手動でテストする](manually-testing-connector.md)

## 前提条件
<a name="c2c-connector-prerequisites"></a>

C2C (Cloud-to-Cloud) コネクタを作成する前に、以下が必要です。
+ C2C コネクタを AWS アカウント ホストし、マネージド統合を通じて登録するための 。詳細については、[「 の作成 AWS アカウント](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-creating.html)」を参照してください。
+ コネクタを構築するときは、特定の IAM アクセス許可が必要です (以下の「必要なアクセス許可」セクションを参照）。
+ コネクタがサポートする認可タイプを決定します。マネージド統合は、OAuth 2.0 認可と一般認可をサポートしています。

  **OAuth 2.0 コネクタの場合:**

  コネクタが OAuth 2.0 をサポートする場合、コネクタの開発者には以下が必要です。
  + C2C コネクタに関連付けるサードパーティークラウドからの**クライアント ID** 
  + C2C コネクタに関連付けるサードパーティークラウドからの**クライアントシークレット** 
  + **OAuth 2.0 認可 URL**
  + **OAuth 2.0 トークン URL**

  **カスタム認可コネクタ (一般/カスタム認可コネクタとも呼ばれます) の場合:**

  コネクタが非 OAuth ベースの認可メカニズムをサポートしている場合は、一般認可コネクタと呼ばれ、コネクタユーザーはこの認可スキームの認証情報を保持する必要があります AWS Secrets Manager。この非 OAuth 認可スキームの認証情報は、トークン、API キー、またはその他の認証情報であり、保持されることが想定されます AWS Secrets Manager。
+ サードパーティー API の要件:
  + API キー/トークン (OAuth 用) である可能性のある認可スキームに固有の認可マテリアル
  + によってホストされる OAuth コールバック URL の許可リスト AWS
**注記**  
OAuth リダイレクト URL を明示的に許可リストに登録するサードパーティーもあれば、ユーザーがログインして OAuth URL を登録できるワークフローを持つサードパーティーもあります。マネージド統合 OAuth リダイレクトエンドポイントを許可リストに登録するために必要なものについては、特定のサードパーティーにお問い合わせください。

## 必要なアクセス許可
<a name="c2c-connector-required-permissions"></a>

コネクタを構築するときは、特定の IAM アクセス許可が必要です。アクションの`iotmanagedintegrations:`アクセス許可に加えて、次のアクセス許可が必要です。
+ [CreateAccountAssociation](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_CreateAccountAssociation.html)、[CreateConnectorDestination](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_CreateConnectorDestination.html)、[GetAccountAssociation](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_GetAccountAssociation.html)、および [StartAccountAssociationRefresh](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_StartAccountAssociationRefresh.html) には以下が必要です。
  + `secretsmanager:GetSecretValue`
+ [CreateCloudConnector](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_CreateCloudConnector.html) には以下が必要です。
  + `lambda:Invoke`

コネクタが一般認可をサポートしている場合、コネクタ Lambda 実行ロールには以下も必要です。
+ `secretsmanager:GetSecretValue`
+ `kms:Decrypt`

これらのアクセス許可は、顧客から認証情報を取得するために必要です AWS Secrets Manager。詳細については、「[GeneralAuthorization の Lambda アクセス許可](concepts-general-authorization-dev.md#general-auth-lambda-permissions-dev)」を参照してください。

アクセス`iotmanagedintegrations:`許可とアクションの詳細については、[AWS 「 Managed Integrations で定義されるアクション](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotmanagedintegrations.html#awsiotmanagedintegrations-actions-as-permissions)」を参照してください。

## C2C コネクタの要件
<a name="c2c-connector-requirements"></a>

開発する [C2C コネクタ](concepts-c2c-connector.md#concepts-what-is-c2c-connector)は、AWS IoT Device Management のマネージド統合とサードパーティーベンダークラウド間の双方向通信を容易にします。コネクタは、エンドユーザーに代わってアクションを実行するために、AWS IoT Device Management のマネージド統合用のインターフェイスを実装する必要があります。

これらのインターフェイスは、以下の機能を提供します。
+ エンドユーザーデバイスを検出する
+ AWS IoT Device Management のマネージド統合から送信されるデバイスコマンドを開始する
+ ユーザーを特定する

デバイスオペレーションをサポートするために、コネクタは AWS IoT Device Management のマネージド統合と関連するサードパーティープラットフォームとの間のリクエストおよびレスポンスメッセージの変換を管理する必要があります。

C2C コネクタの要件は次のとおりです。

1. **OAuth 2.0 コンプライアンス (該当する場合)**

   コネクタが OAuth 2.0 をサポートしている場合、サードパーティーの認可サーバーは OAuth 2.0 標準および に記載されている設定に準拠している必要があります[OAuth 設定要件](concepts-account-linking.md#oauth-config-requirements)。

1. **Matter データモデルのコンプライアンス**

   Matter Data Model の AWS 実装から識別子を解釈するには C2C コネクタが必要であり、 Matter Data Model の AWS 実装に準拠するレスポンスとイベントを出力する必要があります。詳細については、「[AWS Matter データモデルの実装](matter-data-model.md)」を参照してください。

1. **SigV4 認証**

   C2C コネクタは、`SigV4`認証を使用して AWS IoT Device Management APIsマネージド統合を呼び出すことができる必要があります。SendConnectorEvent API で送信される非同期イベントの場合、関連する SendConnectorEvent リクエストに署名するには、コネクタの登録に使用したのと同じ AWS アカウント 認証情報を使用する必要があります。

1. **必要なオペレーション**

   コネクタは、次の 4 つのオペレーションを実装する必要があります。
   + `AWS.ActivateUser` - ユーザー識別子を取得し、ユーザーをアクティブ化する
   + `AWS.DiscoverDevices` - エンドユーザーデバイスを検出する
   + `AWS.SendCommand` - デバイスにコマンドを送信する
   + `AWS.DeactivateUser` - ユーザーを非アクティブ化し、アクセスを取り消す

1. **イベント転送**

   C2C コネクタは、デバイスコマンドレスポンスまたはデバイス検出に関連するサードパーティーイベントを受信すると、`SendConnectorEvent`それらを API との Managed Integrations に転送する必要があります。これらのイベントと `SendConnectorEvent` API の詳細については、[SendConnectorEvent](https://amazonaws.com/iot-mi/latest/APIReference/API_SendConnectorEvent.html)」を参照してください。

**注記**  
`SendConnectorEvent` API はマネージド統合 SDK の一部であり、リクエストを手動で構築して署名する代わりに使用されます。