Amazon Web Services ブログ

AWS Japan Staff

Author: AWS Japan Staff

AWS IoT Coreでブートストラップ証明書を使ったプロビジョニング

IoTデバイスを管理する上で、プロビジョニングは一つの重要な事項です。プロビジョニングとは、IoTデバイスをプラットフォームあるいはシステムに登録するプロセスです。デバイスのブートストラップ処理において、中間者攻撃などを防止するために、デバイスとIoTエンドポイントの間で相互認証を確立することが大事です。デバイス認証で現状最もセキュアな方法はデバイス証明書を使用することであり、一般的にデバイスアイデンティティ管理の第一選択肢でもあります。 このブログでは、AWS IoT CoreとAWS IoT Device Managementでブートストラップ証明書を使ったプロビジョニング方法について深掘りしていきます。AWS IoT Coreは、接続されたデバイスがクラウドのアプリケーションや他のデバイスとセキュアかつ簡単に通信することを実現するマネージド型のクラウドサービスです。AWS IoT Device Managementは大規模なIoTデバイスのセキュアなオンボード、管理、モニタリング、遠隔操作を実現するサービスです。 ブートストラップ証明書とは?なぜ必要なのか? 今回は、WiFi接続が可能な歯ブラシを取り扱う”SmartTeeth”という架空な会社のユースケースについて考えていきましょう。SmartTeethは歯ブラシの生産をサードパーティに委託しています。サードパーティの生産会社は、歯ブラシがクラウドと繋がる際のデバイス証明書を歯ブラシに組み込む必要があります。ただし、SmartTeethは歯ブラシが顧客の手元に届いてから、クラウドとどのような通信を許可するか制限したいと考えています。 初期の証明書は、歯ブラシがクラウドに繋がって自分自身を登録し、必要な権限一式が付与された証明書をリクエストすることのみを許可している状況が理想的です。さらに、このプロセスが自動化されており、SmartTeethの顧客からは透過的であること、そして歯ブラシが初めて接続する時、クラウドで必要なリソースが全て作成され、初期の証明書と実用フェーズの証明書を入れ替える部分をファシリテートする形が理想的です。 以下の図は歯ブラシの購入後に初期クレデンシャルを実用フェーズのクレデンシャルに置き換えるフローを示しています。     とあるSmartTeethの顧客がブートストラップ証明書をインストールするとします。ブートストラップ証明書は、デバイスの生産段階で各デバイスに実装される一意で低レベルの権限を持つ証明書です。この証明書には、デバイスがIoT Coreに接続し、最終的な証明書を取得するための特定のMQTTトピックとやりとりをする権限のみが定義されたAWS IoTポリシーが紐づいています。 デバイスプロビジョニングワークフロー ブートストラップ証明書を利用したデバイスプロビジョニングには3つのステップが含まれます: デバイス組立 デバイス登録 デバイスアクティベーション デバイス組立 デバイス組立とはデバイス生産プロセスにおいてサプライヤーが証明書をデバイスに埋め込むタイミングを指しています。このタイミングで一意なブートストラップ証明書がデバイスに格納されます。 このアプローチでは以下の条件を満たす必要があります: CA証明書がAWS IoT Coreに登録されており、デバイス証明書の自動登録が有効化されている デバイスには登録されたCA証明書によって署名されたデバイス証明書が生産時に格納されている デバイス登録 デバイス登録とはAWS IoT Coreのモノ(thing)としてデバイスを登録することを指しています。このプロセスでは以下の項目を実施する必要があります: AWS IoT Coreでモノとブートストラップ証明書を登録する IoTポリシーを作成し、ブートストラップ証明書にアタッチする ブートストラップ証明書とモノを関連づける 実用フェーズの証明書を(inactive状態で)AWS IoT Coreでプロビジョンする モノをAWS IoT モノのグループに、またはタイプを追加する ただし、これらを実施する前に、一つ重要なステップがあります。デバイスのサプライヤーは許可されたデバイスのリストを提供する必要があります(これをホワイトリストとも呼びます)。このファイルはデバイスIDのリストのみ、または他の属性情報を含んでいても構いません: cat ./allowed-device-list.txt demo001 demo002 demo003 デバイス登録プロセスでは、許可されたデバイスのリストに照会し、そのデバイスがサプライヤーにより保証されていることを確認します。また、ブートストラップ証明書が顧客指定のCAによって署名されていることも確認します。 […]

Read More

AWS Fargate で AWS Secrets Managerを使用して認証情報を保護する

本投稿は AWS コンテナサービスのプリンシパルディベロッパーアドボケートである Massimo Re Ferreによる寄稿です クラウドのセキュリティはAWSの最優先事項であり、コンテナチームの取り組みがその証でもあります。およそ1か月前、私たちは AWS Secrets Manager や AWS Systems Manager パラメータストアと、AWS Fargate タスクの統合機能を発表しました。 これにより Fargate のお客様は、ご自身のタスク定義から秘密情報を安全に、パラメータを透過的に利用することができます。 この記事では、秘密情報を確実に保護しつつ Secrets Manager と Fargate の統合を利用する方法の例を紹介します。 概要 AWS は複数の重要なセキュリティ上の基準を以って Fargate を高度にセキュアに設計しました。その 1つは、各Fargate タスクはそれぞれに分離境界があり、下層のカーネル、CPUリソース、メモリリソース、またはElastic Network Interface(ENI)を他のタスクと共有していないところです。 セキュリティに重点を置くもう 1 つの領域は、Amazon VPC ネットワーキング統合です。これにより、ネットワーキングの観点から Amazon EC2 インスタンスを保護する手法で Fargate タスクを保護できます。 この発表は、責任共有モデルの観点でも重要です。例えば、AWSのプラットフォーム上でソリューションを構築して実行するようなDevOpsチームは、アプリケーションコードの実行時に秘密情報、パスワード、機密パラメータをセキュアに管理する適切な仕組みや機能を必要とします。そして、プラットフォームの機能によって彼ら/彼女らがまさにそのようなことを可能な限り簡単に実行できるようにすることが私たちの役割なのです。 私たちは、時に一部のユーザーがセキュリティ面をトレードオフとして俊敏性を得るために、ソースコードに AWS 認証情報を埋め込んだままパブリックリポジトリにプッシュしたり、プライベートに格納された設定ファイルに平文でパスワードを埋め込んでいるのを見てきました。私たちは、さまざまなAWSサービスを利用している開発者が IAM ロールを Fargate タスクに割り当てることができるようし、AWS 認証情報を透過的に取り扱えるようにすることで、この課題を解決しました。 これはネイティブな […]

Read More

AWS Backup が東京リージョンに対応しました

みなさん、こんにちは。アマゾン ウェブ サービス ジャパン、プロダクトマーケティング エバンジェリストの亀田です。 AWS Backupが東京リージョンに対応しましたのでお知らせいたします。 AWS Backup は、クラウド内で AWS のサービス全体のデータのバックアップの一元化と自動化を簡単に実行できる、完全マネージド型のバックアップサービスです。 バックアップポリシーを一元的に設定し、Amazon EBS ボリューム、Amazon RDS データベース、Amazon DynamoDB テーブル、Amazon EFS ファイルシステム、AWS Storage Gateway ボリュームなどの AWS リソースのバックアップアクティビティを監視することができます。バックアップ対象には Storage Gateway ボリュームのサポートが含まれているため、作成したバックアップに既存のオンプレミスデータを含めることができます。 バックアップスケジュールを作成することができ、バックアップの開始時刻、バックアップの頻度、バックアップウィンドウを指定し、AWS リソースを自動的にバックアップします。バックアップを自動的に保持または失効させる、バックアップ保持ポリシーを設定することも可能で、自動バックアップ保持管理では、バックアップを保持する期間を限定できるため、古い不必要なバックアップがストレージ利用料金を押し上げることを防ぎ、バックアップストレージコストを簡単に最小化できます。 AWS Key Management Service (KMS) と連携しバックアップデータの暗号化も可能です。 Amazon EBSのバックアップ設定を行うサンプル 1.マネージメントコンソールでAWS Backupの画面にいきます。 2.[バックアッププランの作成]を押し、[新しい作成プランの]を選び、バックアッププランに名前を付けます。 3.[ルール名]を入力し、スケジュールを設定します。[バックアップウインドウのカスタマイズ]を選びバックアップを行いたい任意の時間を選択します。 4.[数時間以内にバックアップを開始]でバックアップを行う時間を指定します。 この設定は3.のの[バックアップウインドウ]の時間と連携して動作します。 バックアップウィンドウは、そのバックアップウィンドウの開始時刻と、ウィンドウの期間 (時間単位) で構成されます。バックアップジョブは、このウィンドウ内で開始されます。使用するバックアップウィンドウがわからない場合は、AWS Backup が推奨するデフォルトのバックアップウィンドウの使用を選択できます。デフォルトのバックアップウィンドウは、午前 5 時 (UTC 時間) 開始に設定され、8 […]

Read More
週間AWS

週刊AWS – 2019/6/24週

みなさん、こんにちは。AWSソリューションアーキテクトの小林です。AWS Summit Tokyo 2019に引き続き、AWS Summit Osaka 2019も無事に終了いたしました。大阪会場にもたくさんのお客様にお越し頂き、本当にありがとうございました。7/5(金)に東京・大阪双方のサミットのダイジェストと、2019年前半の重要アップデートをまとめてお伝えするウェビナーを開催させて頂きますので、こちらにもぜひご参加ください。どのセッションやコンテンツも学ぶべき点があり、全部ご紹介したいところなのですがが時間制約の都合上、断腸の思いでご紹介する内容の絞り込みを進めています…… 週刊AWSのブログポストはコンパクトにまとめるのをモットーにしています。ですが今週はRE:INFORCEの兼ね合いもあってか、重要なアップデートが多数発表されました。今回は特大号ということで、通常よりは多めになっていますのでご承知おきくださいませ。

Read More

AWS Service Quotas がリリースされました

みなさん、こんにちは。アマゾン ウェブ サービス ジャパン、プロダクトマーケティング エバンジェリストの亀田です。 AWS Service Quotasがリリースされましたのでお知らせいたします。 AWSのアカウントには、すべてのお客様に可用性と信頼性の高いサービスを提供し、またオペレーションミスなどによる意図しない支出からユーザーを保護するためのクォータ(制限)を実装しています。 従来、その制限値は以下のページにAWSにおける全アカウント共通の汎用の設定値一覧としてまとまっており https://docs.aws.amazon.com/ja_jp/general/latest/gr/aws_service_limits.html 個別のAWSアカウントの設定状態を把握することは難しいのが実情でした。 今回実装された新しいサービス AWS Service Quotasでは、AWSアカウント単位、サービス単位で制限値の確認と上限緩和申請を出すことができるようになりました。AWS Organizations と統合し、新しいアカウントでクォータを簡単に設定することもできます。サービスクォータを使用して、AWS Organizations を通じて作成した新しいアカウントに適用される定義済みクォータリクエストテンプレートを設定するだけです。 サンプル:Amazon EC2のサービス制限の確認と緩和申請を行う 1.以下のURLへアクセスします https://console.aws.amazon.com/servicequotas/ 2.画面左のAWSサービスを押します 3.AWSサービス、のところに【EC2】と入力します 4.EC2を選択します 5.EC2が持っているサービスのクォータ一覧が表示されます。 6.例えばVPCで設定できるElastic IPを増やすために [ Number of EIPs – VPC EIPs]を選択してみましょう。 クォータはAWSデフォルトの5が設定されています。 7.クォーターを引き上げる場合【クォータ引き上げリクエスト】を押します 8.引き上げたい値を入力して【リクエスト】ボタンをおします。以上で申請が完了です。 この際、入力されるべき値は、引き上げたい数ではなく、引き上げ後の絶対値で入力する必要があります。以下のように ダッシュボードで、リクエストの状態が確認できます。   従来は、サポートから個別にチケットを作成する必要がありましたが、この機能によりAWSアカウントの状態を把握しやすくなり、またリクエストも簡易に上げることができるようになりました。従来のサポートチケットでは日本語等ローカル言語でのやり取りとなっていましたが、こちらの機能は全リージョン一括で英語で処理されます。 是非ご利用ください。 – プロダクトマーケティング エバンジェリスト 亀田    

Read More

[AWS Black Belt Online Seminar] AWS Config 資料及び QA 公開

先日 (2019/6/18) 開催しました AWS Black Belt Online Seminar「AWS Config」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。 20190618 AWS Black Belt Online Seminar AWS Config from Amazon Web Services Japan AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます) Q. 設定タイムラインで、特定時点の設定を反映させることはできますでしょうか?(巻き戻しの意) A. 特定時点の設定を反映させる(巻き戻す)機能はございません。ただし、特定時点の設定内容を確認することができますので、その内容から手動で設定を修正することは可能です。 Q. AWS Configを使うと自動的にCloud TrailがONになるのでしょうか? A. CloudTrailはデフォルトで有効ですので、AWS Configの利用にかからわずONになっております。 https://docs.aws.amazon.com/ja_jp/awscloudtrail/latest/userguide/cloudtrail-getting-started.html Q. カスタムルールの設定は作成した本人でしか変更ができない認識であっておりますでしょうか。あっている場合、カスタムルールを変更した人が退任した場合の対処方法が確立できるのでしょうか。 A. カスタムルールの設定変更は、作成した本人以外でも、権限をもったユーザであれば可能です。 一例ですが、こちらのフルアクセスのポリシーを持ったユーザでお試しください。 Q. クロスアカウントでConfig等の利用料を発生させるアカウントを1つのアカウントに集中させて、管理することは可能でしょうか? A. AWS Organizationsを利用したアグリゲータの場合は、AWS Organizationsの組織の一括請求を利用して、他のアカウントのサービス利用料をまとめることが可能です。 (Configのアグリゲータ機能を利用した場合は、Config等の利用料は各アカウントにかかります) Q. SageMakerについて、AWS Configは使えますか ? A. […]

Read More

[AWS Black Belt Online Seminar] Amazon Simple Notification Service (SNS) 資料及び QA 公開

先日 (2019/6/4) 開催しました AWS Black Belt Online Seminar「Amazon Simple Notification Service (SNS)」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。 20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS) from Amazon Web Services Japan AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます) Q. SNS と Pinpoint との違いを教えて欲しい。 A. アプリケーション統合の目的でpub-subを実現したい場合はAmazon SNSをご利用ください。 mobile pushの用途で、より顧客エンゲージメントに関するマネージドな機能(分析、セグメントプッシュ、キャンペーン)を利用したい場合はAmazon Pinpointをご利用いただくのがお勧めです。またこれから新規にmobile push機能を利用される場合には、より新しいサービスであるAmazon Pinpointを選択して始めてみるのが、顧客エンゲージメント機能の独自実装が不要なため簡単です。Amazon SNSはデバイストークンを独自にデータベースで管理する必要があり、運用面のアーキテクチャも考えなければならない箇所が多くなります。一方、独自にデバイストークンのライフサイクルを管理したいといった要求がある場合には、Amazon SNSを選択することもできます。 Amazon PinpointはSMSの双方向送信が可能ですが、Amazon SNSは購読解除時以外に逆方向のSMSを受け付けることはできません。 Q. アンスクライブリンクの消し方について、ベストプラクティスはありますか? A. AWS CLIを使ってサブスクリプション解除されないようにできます。詳細はAWS公式サイトを参照ください。 […]

Read More
週間AWS

週刊AWS – 2019/6/17週

みなさん、こんにちは。AWSソリューションアーキテクトの下佐粉(しもさこ)です。 週刊AWS 第6回をお送りします。このシリーズでは、毎日のようにリリースされるAWSの新機能や新サービスを一週間単位でコンパクトに紹介しています。毎週火曜か水曜ぐらいを目処に更新をしています(と言いながら月曜に出たりするのですが)。 今週は27日(木)にAWS Summit Osaka 2019がグランフロント大阪で開催されますね。すでに申し込み受付は終了してしまっていますが、基調講演を始め一部の技術セッション等はライブストリーミングされますので、ぜひご覧ください。 では先週のアップデートを見ていきましょう。

Read More

Amazon SageMaker の体験ハンズオン動画とQAを公開しました

先日 (2019/5/17) 開催しました 「Amazon SageMaker 機械学習エンジニア向け体験ハンズオン」の動画および資料を公開しました。当日、参加者の皆様から多数頂いた QA についても掲載しています。 Amazon SageMaker は、データサイエンティストやエンジニアが効率よく機械学習を進めるために、 AWS が提供するマネージドサービスです。この動画はSageMakerの基本的な使い方を体験できる1時間のハンズオン動画となっており、動画を見ながら実際に手を動かすことで、SageMakerの利用法を効率よく理解することができます。これからSageMakerを利用して機械学習に取り組む際にはAWS Black Belt オンラインセミナーと合わせて是非ご覧下さい。 【ハンズオンの概要】 1) ビルトインアルゴリズムの利用 ・Random Cut Forest を利用した異常検知 ・XGBoost を利用した画像認識(紹介のみ) 2) Deep Learning フレームワークの利用 ・Chainer を利用した画像認識          ※ 動画の一例 視聴はこちらから >> ※ リンク先でフォームに登録いただきますと、各コンテンツにアクセス可能となります。   当日、参加者の皆様から頂いた QA を以下に掲載します。 Q. SageMakerと他のMachine Learningサービスの区別は?マネージドサービスの中の機械学習サービスの分別とか、適用範囲を教えて頂けませんか A. 機械学習に関連するAWSサービスは、インフラストラクチャ、MLサービス、AIサービスという3つのカテゴリに大きく分けられます。 1. 機械学習を支えるインフラストラクチャには、GPU/FPGA/大量のCPUを搭載したEC2やAWS IoT Greengrass、Amazon Elastic Inferenceなどが該当します。 […]

Read More

[AWS Black Belt Online Seminar] Dive deep into AWS Chalice 資料及び QA 公開

先日 (2019/6/19) 開催しました AWS Black Belt Online Seminar「Dive deep into AWS Chalice」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。 発表内容に関しまして、該当箇所 に以下訂正がございましたので、併せて修正させていただきます。 訂正内容: – 誤: バイト型ではなくて文字列型 – 正: バイト型ではなくて dict 型 20190619 AWS Black Belt Online Seminar Dive Deep into AWS Chalice from Amazon Web Services Japan AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます) Q. ChaliceはFlaskに似ているように感じましたが、関係がありますか? A. Flask や Bottle のような他のフレームワークのようにデコレータベースでのルーティング定義を行うという慣例に倣っていますが、ライブラリとしての依存関係はありません。 GitHub での FAQ にもう少し詳しい回答があります。こちらも併せてご確認ください。 Q. cloud9環境を作成し、virtualenvにてpython3環境を作成し、インストール/deployを試しました。エラーが出ているのですが、対処方法をご教授いただけないでしょうか。 A. deploy サブコマンドを実行するためには、お手元の環境で認証情報が正しく設定されている必要があります。 aws configure […]

Read More