AWS IoT リソースの作成
このチュートリアルでは、デバイスが AWS IoT に接続してメッセージを交換するために必要な AWS IoT Core リソースを作成します。
-
AWS IoT ポリシードキュメントを作成します。このポリシードキュメントは、デバイスが AWS IoT サービスとインタラクションすることを許可します。
-
AWS IoT と X.509 デバイス証明書でモノのオブジェクトを作成し、ポリシードキュメントをアタッチします。モノのオブジェクトは、AWS IoT レジストリ内のデバイスの仮想表現です。証明書はデバイスを AWS IoT Core に対して認証し、ポリシードキュメントはデバイスが AWS IoT とインタラクションすることを許可します。
注記
Amazon EC2 を使用して仮想デバイスを作成する を予定している場合は、このページをスキップして デバイスを設定する に進むことができます。これらのリソースは、仮想のモノを作成するときに作成します。
このチュートリアルでは、AWS IoT コンソールを使用して AWS IoT リソースを作成します。デバイスがウェブブラウザをサポートしている場合は、証明書ファイルをデバイスに直接ダウンロードできるため、デバイスのウェブブラウザでこの手順を実行する方が簡単な場合があります。この手順を別のコンピュータで実行する場合は、サンプルアプリケーションで証明書ファイルを使用する前に、デバイスに証明書ファイルをコピーする必要があります。
AWS IoT ポリシーを作成する
デバイスは、AWS IoT Core での認証に X.509 証明書を使用します。証明書には AWS IoT ポリシーがアタッチされています。これらのポリシーは、デバイスで実行できる AWS IoT オペレーション (MQTT トピックへのサブスクライブや公開など) を決定します。デバイスは AWS IoT Core に接続してメッセージを送信するときに、証明書を提示します。
サンプルプログラムを実行するために必要な AWS IoT オペレーションの実行をデバイスに許可するポリシーを作成します。後で作成するデバイス証明書にアタッチできるように、最初に AWS IoT ポリシーを作成する必要があります。
AWS IoT ポリシーを作成するには
-
左のメニューの AWS IoT コンソール
で、[セキュリティ]、[ポリシー] の順に選択します。 -
[You don't have a policy yet] (ポリシーを作成していません) ページで、[ポリシーの作成] を選択します。
アカウントに既存のポリシーがある場合は、[ポリシーを作成] を選択します。
-
[ポリシーの作成] ページで、以下のステップを実行します。
-
[ポリシーのプロパティ] セクションの [プロパティ名] フィールドにポリシーの名前 (
My_Iot_Policyなど) を入力します。ポリシー名には個人を特定できる情報を使用しないでください。 -
[ポリシードキュメント] セクションで、リソースアクセスを AWS IoT Core オペレーションに対して付与または拒否するポリシーステートメントを作成します。
iot:Connectを実行するアクセス許可をすべてのクライアントに付与するポリシーステートメントを作成するには、次のステップに従います。-
[ポリシーの効果] フィールドで [許可] を選択します。このポリシーが証明書にアタッチされているすべてのクライアントは、[ポリシーアクション] フィールドにリストされているアクションを実行できます。
-
[ポリシーアクション] フィールドで、
iot:Connectなどのポリシーアクションを選択します。ポリシーアクションは、デバイスが Device SDK からサンプルプログラムを実行するときに実行するためのアクセス許可が必要なアクションです。
-
[ポリシーリソース フィールドにリソース、Amazon リソースネーム (ARN)、または
*を入力します。任意のクライアント (デバイス) を選択する場合は、*を入力します。
iot:Receive、iot:Publish、およびiot:Subscribeのポリシーステートメントを作成するには、[新しいステートメントを追加] を選択して、上記のステップを繰り返します。
注記
このクイックスタートでは、単純化のためにワイルドカード (*) 文字が使用されます。セキュリティを強化するには、リソースとしてワイルドカード文字の代わりにクライアント ARN を指定して、メッセージを接続して発行できるクライアント (デバイス) を制限する必要があります。クライアント ARN は、
arn:aws:iot:の形式に従います。your-region:your-aws-account:client/my-client-idただし、その ARN をポリシーに割り当てるには、まずリソース (クライアントデバイス、モノのシャドウなど) を作成する必要があります。詳細については、「AWS IoT Core アクションリソース」を参照してください。
-
-
-
ポリシーの情報を入力した後、[作成] を選択します。
詳細については、「AWS IoT で IAM を使用する方法」を参照してください。
モノのオブジェクトを作成する
AWS IoT Core に接続されたデバイスは、AWS IoT レジストリでモノのオブジェクトによって表されます。モノのオブジェクトは、特定のデバイスまたは論理エンティティを表します。物理的なデバイスやセンサー (電球、または電気をつけるための壁にあるスイッチなど) は、モノとして扱うことができます。また、アプリケーションのインスタンスなどの論理エンティティや、直接的には接続されておらず AWS IoT に接続されている他のデバイスと関連している物理エンティティ (エンジンセンサーやコントロールパネルがある自動車など) も、モノとして処理できます。
AWS IoT コンソールでモノを作成するには
-
左のメニューの AWS IoT コンソール
で、[すべてのデバイス]、[モノ] の順に選択します。 -
[モノ] ページで [モノを作成する] を選択します。
-
[Creating things] (モノを作成する) ページで、[Create a single thing] (単一のモノを作成する) を選択し、[Next] (次へ) を選択します。
-
[モノのプロパティを指定する] ページで、[モノの名前]に、モノの名前 (
MyIotThingなど) を入力します。モノ名は後で変更できないため、モノ名は慎重に選択してください。
モノの名前を変更するには、新しいモノを作成して、新しい名前を付け、古いモノを削除する必要があります。
注記
モノの名前で個人を特定できる情報を使用しないでください。モノの名前は、暗号化されていない通信やレポートに表示されることがあります。
-
このページの残りのフィールドは空のままにしておきます。[Next] を選択します。
-
[デバイス証明書を構成する-optional] ページで [新しい証明書を自動生成する (推奨)] を選択します。[Next] を選択します。
-
[証明書へのポリシーのアタッチ - optional] ページで、前のセクションで作成したポリシーを選択します。そのセクションでは、ポリシーの名前は
My_Iot_Policyです。[モノを作成する] を選択します。 -
[証明書とキーのダウンロード] ページで:
-
各証明書およびキーファイルをダウンロードし、後で使用できるように保存します。これらのファイルをデバイスにインストールする必要があります。
証明書ファイルを保存するときは、次の表に名前を付けます。これらは、後の例で使用されるファイル名です。
証明書ファイル名 ファイル
ファイルパス
プライベートキー
private.pem.keyパブリックキー (これらの例では使用されません) デバイス証明書
device.pem.crtルート CA 証明書
Amazon-root-CA-1.pem -
これらのファイルのルート CA ファイルをダウンロードするには、ルート CA 証明書ファイルの [Download] (ダウンロード) リンクをクリックします。このリンクは、使用しているデータエンドポイントと暗号スイートのタイプに対応します。このチュートリアルで、RSA 2048 ビットキー: Amazon ルート CA 1 の右側にある [ダウンロード] を選択し、RSA 2048 ビットキー: Amazon ルート CA 1 証明書ファイルをダウンロードします。
重要
このページから移動する前に、証明書ファイルを保存する必要があります。コンソールでこのページから移動すると、証明書ファイルにはアクセスできなくなります。
このステップで作成した証明書ファイルをダウンロードし忘れた場合は、このコンソール画面を終了し、コンソールのモノのリストに移動して、作成したモノのオブジェクトを削除してから、この手順を最初からやり直す必要があります。
-
[Done] を選択します。
-
この手順を完了すると、新しいモノのオブジェクトがモノのリストに表示されます。