AWS IoT Core のセットアップ

step3-1-1


3.1.1 AWS IoT のエンドポイント確認

  1. AWS IoT Coreのコンソール画面を開く
  2. 左のサイドメニューの下の方にある 設定 を選択
  3. 表示された デバイスデータエンドポイントエンドポイント の値をメモしておく
  4. ステータスの確認 が表示されている場合はクリックする

step3-1-3


3.1.2 IoT ポリシーの作成

左のサイドメニューから 安全性 -> ポリシー をクリックし、画面中央の ポリシーの作成 を押す

step3-1-4


3.1.3 IoT ポリシーの設定

  1. 名前{お名前}-yyyymmdd-policy を入力する
    1. {お名前} の部分をご自身の名前に置き換えて日付を入力する
    2. 例:tanaka-20200723-policy など
  2. アクション欄に iot:* を入力する
  3. リソースARNに * を入力する
  4. 効果で 許可 を設定する
  5. 画面下部の 作成 を押下

step3-1-5

本ハンズオンでは手順を簡略化するため、権限の広いポリシーを作成しておりますが、セキュリティのベストプラクティスでは最小限の権限を設定することが推奨されております。 最小権限のポリシーを設定する場合は、以下の例のようになります。 なお、このポリシーでは AWS IoT Core への接続、data/<モノの名前> トピックへの Publish、およびClassic Shadow に関連するトピックへの Publish, Subscribe, Receive を許可しています。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "iot:Connect",
      "Resource": "arn:aws:iot:ap-northeast-1:123456789:client/${iot:ClientId}"
    },
    {
      "Effect": "Allow",
      "Action": "iot:Publish",
      "Resource": [
        "arn:aws:iot:ap-northeast-1:123456789:topic/data/${iot:Connection.Thing.ThingName}",
        "arn:aws:iot:ap-northeast-1:123456789:topic/$aws/things/${iot:Connection.Thing.ThingName}/shadow/update",
        "arn:aws:iot:ap-northeast-1:123456789:topic/$aws/things/${iot:Connection.Thing.ThingName}/shadow/get"
      ]
    },
    {
      "Effect": "Allow",
      "Action": "iot:Receive",
      "Resource": [
        "arn:aws:iot:ap-northeast-1:123456789:topic/$aws/things/${iot:Connection.Thing.ThingName}/shadow/update/delta",
        "arn:aws:iot:ap-northeast-1:123456789:topic/$aws/things/${iot:Connection.Thing.ThingName}/shadow/update/accepted",
        "arn:aws:iot:ap-northeast-1:123456789:topic/$aws/things/${iot:Connection.Thing.ThingName}/shadow/update/rejected",
        "arn:aws:iot:ap-northeast-1:123456789:topic/$aws/things/${iot:Connection.Thing.ThingName}/shadow/get/accepted",
        "arn:aws:iot:ap-northeast-1:123456789:topic/$aws/things/${iot:Connection.Thing.ThingName}/shadow/get/rejected"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "iot:Subscribe"
      ],
      "Resource": [
        "arn:aws:iot:ap-northeast-1:123456789:topicfilter/$aws/things/${iot:Connection.Thing.ThingName}/shadow/update/delta",
        "arn:aws:iot:ap-northeast-1:123456789:topicfilter/$aws/things/${iot:Connection.Thing.ThingName}/shadow/update/accepted",
        "arn:aws:iot:ap-northeast-1:123456789:topicfilter/$aws/things/${iot:Connection.Thing.ThingName}/shadow/update/rejected",
        "arn:aws:iot:ap-northeast-1:123456789:topicfilter/$aws/things/${iot:Connection.Thing.ThingName}/shadow/get/accepted",
        "arn:aws:iot:ap-northeast-1:123456789:topicfilter/$aws/things/${iot:Connection.Thing.ThingName}/shadow/get/rejected"
      ]
    }
  ]
}

3.1.4 モノの作成

左のサイドメニューより 管理 -> モノ をクリックし、モノの作成 を押す

step3-1-6


3.1.5 作成するモノの数

  1. 既に選択されている 1つのモノを作成 を選択
  2. 画面下の 次へ を押す

step3-1-7


3.1.6 モノのプロパティを指定

  1. 名前に {お名前}-yyyymmdd などを入力
    1. 例: tanaka-20200723
    2. 入力した名前は後ほど使用するためメモをしておく
  2. その他の設定は変更せず
  3. 画面下の 次へ を押す

step3-1-8


3.1.7 デバイス証明書を設定

  1. 既に選択されている 新しい証明書を自動生成 (推奨) を選択
  2. 画面下の 次へ を押す

step3-1-9


3.1.8 証明書にポリシーをアタッチ

  1. 先程作成したポリシー({お名前}-yyyymmdd-policy)にチェックを入れる
  2. 画面下の モノの作成 を押す

step3-1-11


3.1.9 証明書とキーをタウンロード

  1. ポップアップで表示された画面で、
    1. デバイス証明書
    2. プライベートキーファイル
  2. のそれぞれの右の ダウンロード をクリックし、ご自身のPCへこの2つをダウンロード
  3. 画面下の 完了 を押す

step3-1-10

ここの作業が完了すると、モノの一覧の画面が表示され、画面上部に「モノが正常に作成されました」と表示されます。

step2-2-7

パブリックキーは本ハンズオンでは使用しないため、ダウンロードの必要はありません。 また画面下の ルートCA証明書 も、この後の手順でダウンロードするためここではダウンロードする必要はありません。