認証 - AWS IoT Core

認証

承認とは、認証された ID にアクセス許可を付与するプロセスです。アクセス許可は、AWS IoT Core および IAM ポリシーを使用して AWS IoT Core に付与します。このトピックでは、AWS IoT Core ポリシーについて説明します。IAM ポリシーの詳細については、AWS IoT のためのアイデンティティおよびアクセス管理 および AWS IoT で 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 IoTDevice SDK X.509 証明書 AWS IoT Core ポリシー
HTTPS/WebSocket を介した MQTT、AWS SigV4 認証 (ポート 443) AWS Mobile SDK 認証された Amazon Cognito ID IAM と AWS IoT Core ポリシー
認証されていない Amazon Cognito ID IAM ポリシー
IAM、またはフェデレーテッド ID IAM ポリシー
HTTPS、AWS 署名バージョン 4 認証 (ポート 443) AWS CLI Amazon Cognito、IAM、またはフェデレーテッド ID IAM ポリシー
HTTPS、TLS 相互認証 (ポート 8443) SDK はサポートしていません X.509 証明書 AWS IoT Core ポリシー
カスタム認証を介した HTTPS (ポート 443) AWS IoTDevice SDK カスタムオーソライザー カスタムオーソライザーポリシー
AWS IoT Core コントロールプレーン API とポリシータイプ
プロトコルと認証メカニズム SDK ID のタイプ ポリシータイプ
HTTPS、AWS 署名バージョン 4 認証 (ポート 443) AWS CLI Amazon Cognito ID IAM ポリシー
IAM、またはフェデレーテッド ID 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」コースを受講してください。