Authorization - AWS IoT コア

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

Authorization

承認とは、認証された ID にアクセス許可を付与するプロセスです。アクセス許可は、AWS IoT Core および IAM ポリシーを使用して AWS IoT Core に付与します。このトピックでは、AWS IoT Core ポリシーについて説明します。IAM ポリシーの詳細については、「AWS IoT の Identity and Access Management」および「IAM ポリシー」を参照してください。

AWS IoT Core ポリシーは、認証済みの ID の権限を決定します。認証済みの ID は、デバイス、モバイルアプリケーション、ウェブアプリケーション、デスクトップアプリケーションで使用されます。認証済みの ID を使用して、AWS IoT Core の CLI コマンドを入力することもできます。ID が AWS IoT Core オペレーションを実行できるのは、それらのオペレーションにアクセス許可が付与されているポリシーを持つ場合のみです。

AWS IoT Core ポリシーと IAM ポリシーのいずれも、AWS IoT Core で、ID (プリンシパルとも呼ばれる) が実行できるオペレーションを管理するために使用されます。使用するポリシータイプは、AWS IoT Core で認証するために使用している ID のタイプによって異なります。

AWS IoT Core オペレーションは、2 つのグループに分けられます。

  • コントロールプレーン API では、証明書、モノ、ルールなどの作成または更新などの管理タスクを行うことができます。

  • データプレーン API では、AWS IoT Core 間でデータを送受信できます。

使用するポリシーのタイプは、コントロールプレーン API とデータプレーン API のどちらを使用しているかによって異なります。

次の表に、ID タイプ、使用しているプロトコル、認証時に使用することのできるポリシータイプを示します。

AWS IoT Core のデータプレーン API とポリシータイプ
プロトコルと認証メカニズム SDK ID のタイプ ポリシータイプ
TLS/TCP を介した MQTT、TLS 相互認証 (ポート 8883 または 443) ) AWS IoT Core Device SDK X.509 証明書 AWS IoT Coreポリシー
HTTPS/WebSocket を介した MQTT、AWS SigV4 認証 (ポート 443) AWS Mobile SDK 認証された Amazon Cognito アイデンティティ IAM および AWS IoT Core ポリシー
認証されていない Amazon Cognito ID IAMポリシー
IAM またはフェデレーテッドアイデンティティ IAMポリシー
HTTPS、AWS 署名バージョン 4 認証 (ポート 443) AWS CLI Amazon Cognito、IAM、またはフェデレーテッド ID IAMポリシー
HTTPS、TLS相互認証 (ポート 8443) SDK はサポートしていません X.509 証明書 AWS IoT Coreポリシー
カスタム認証を介した HTTPS (ポート 443) AWS IoT Core Device SDK カスタムオーソライザー カスタムオーソライザーポリシー
AWS IoT Core コントロールプレーン API とポリシータイプ
プロトコルと認証メカニズム SDK ID のタイプ ポリシータイプ
HTTPS AWS 署名バージョン 4 認証 (ポート 443) AWS CLI Amazon Cognito アイデンティティ IAMポリシー
IAM またはフェデレーテッドアイデンティティ IAMポリシー

AWS IoT Core ポリシーは、X.509 証明書または Amazon Cognito ID にアタッチされます。IAM ポリシーは、IAM ユーザー、グループ、ロールにアタッチされます。AWS IoT コンソールまたは AWS IoT Core CLI を使用してポリシーを (証明書または Amazon Cognito ID に) アタッチする場合は、AWS IoT Core ポリシーを使用します。それ以外の場合は、IAM ポリシーを使用します。

ポリシーベースの権限付与は強力なツールになります。これにより、デバイス、ユーザー、アプリケーションが AWS IoT Core でできることを完全に制御できます。たとえば、証明書を使用して AWS IoT Core に接続するデバイスがあるとします。この場合、デバイスを使用して、すべての MQTT トピックへのアクセスを許可するか、1 つのトピックにアクセスを制限できます。または、コマンドラインで CLI コマンドを入力することもできます。ポリシーを使用すれば、すべてのコマンド、またはユーザーの AWS IoT Core リソースへのアクセスを許可または拒否できます。また、AWS IoT Core リソースへのアプリケーションのアクセスを制御することもできます。

ポリシーに加えた変更が有効になるには、 がポリシードキュメントをAWS IoTキャッシュする方法によって数分かかる場合があります。つまり、最近アクセスが許可されたリソースにアクセスするのに数分かかる場合があり、アクセスが取り消されたあと、数分間リソースにアクセスできる可能性があります。

AWS のトレーニングと認定

AWS IoT Core での認証の詳細については、AWS トレーニングと認定ウェブサイトにある「Deep Dive into AWS IoT Core Authentication and Authorization」コースを受講してください。