翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
アカウントリンクの OAuth 2.0 要件
すべての C2C コネクタは、エンドユーザーを認証するために OAuth 2.0 認可サーバーに依存しています。このサーバーを通じて、エンドユーザーはサードパーティーアカウントを顧客のデバイスプラットフォームにリンクします。アカウントリンクは、エンドユーザーが C2C コネクタでサポートされているデバイスを使用するために必要な最初のステップです。アカウントリンクと OAuth 2.0 のさまざまなロールの詳細については、「」を参照してくださいアカウントリンクロール。
C2C コネクタは認可フローをサポートするために特定のビジネスロジックを実装する必要はありませんが、C2C コネクタに関連付けられた OAuth2.0 認可サーバーは を満たす必要がありますOAuth 設定要件。
注記
のマネージド統合は、認可コードフローを持つ OAuth 2.0 AWS IoT Device Management のみをサポートします。詳細については、「RFC 6749
アカウントリンクは、マネージド統合とコネクタがアクセストークンを使用してエンドユーザーのデバイスにアクセスできるようにするプロセスです。このトークンは、コネクタが API コールを通じてエンドユーザーのデータとやり取りできるように、エンドユーザーのアクセス許可を持つ AWS IoT Device Management のマネージド統合を提供します。詳細については、「アカウントリンクワークフロー」を参照してください。
これらの機密トークンはログに記録しないことをお勧めします。ただし、ログに保存されている場合は、CloudWatch Logs データ保護ポリシーを使用してログ内のトークンをマスクすることをお勧めします。詳細については、「Help protect sensitive log data with masking」を参照してください。
のマネージド統合 AWS IoT Device Management では、アクセストークンは直接取得されません。これは、認可コード付与タイプを通じて取得されます。まず、AWS IoT Device Management のマネージド統合は認可コードを取得する必要があります。次に、コードをアクセストークンと更新トークンと交換します。更新トークンは、古いアクセストークンの有効期限が切れたときに新しいアクセストークンをリクエストするために使用されます。アクセストークンと更新トークンの両方の有効期限が切れている場合は、アカウントリンクフローを再度実行する必要があります。これを行うには、 StartAccountAssociationRefresh
API オペレーションを使用します。
重要
発行されるアクセストークンはユーザーごとにスコープする必要がありますが、OAuth クライアントごとにスコープすることはできません。トークンは、クライアント内のすべてのユーザーのすべてのデバイスへのアクセスを提供するべきではありません。
認可サーバーは、次のいずれかを実行する必要があります。
-
JWT トークンなど、抽出可能なエンドユーザー (リソース所有者) ID を含むアクセストークンを発行します。
-
発行された各アクセストークンのエンドユーザー ID を返します。
OAuth 設定要件
次の表は、AWS IoT Device Management のマネージド統合でアカウントリンクを実行するために必要な OAuth 認可サーバーからのパラメータを示しています。
フィールド | 必須 | [Comment] (コメント) |
|
あり |
アプリケーションのパブリック識別子。これは認証フローを開始するために使用され、パブリックに共有できます。 |
|
あり |
特にアクセストークンの認可コードを交換するときに、認可サーバーでアプリケーションを認証するために使用されるシークレットキー。機密に保持し、公開しないでください。 |
|
あり |
この認可設定でサポートされている認可のタイプ。現在、サポートされている値はOAuth 2.0」のみです。 |
|
あり |
サードパーティーのクラウドプロバイダーの承認 URL。 |
|
あり |
サードパーティーのクラウドプロバイダーのトークン URL。 |
|
あり |
「HTTP_BASIC」または「REQUEST_BODY_CREDENTIALS」の認証スキーム。HTTP_BASIC は、クライアント認証情報が認可ヘッダーに含まれていることをシグナルし、ラダーはリクエスト本文に含まれていることをシグナルします。 |
使用する OAuth サーバーは、アクセストークン文字列値が UTF-8 文字セットでエンコードされた Base64 になるように設定する必要があります。