Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

セキュリティの準備

フォーカスモード
セキュリティの準備 - AWS IoT Core

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

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

このセクションでは、AWS IoT Device Management Software Package Catalog の主なセキュリティ要件について説明します。

リソースベースの認証

Software Package Catalog では、リソースベースの認可を使用して、フリートのソフトウェアを更新する際のセキュリティを強化します。つまり、ソフトウェアパッケージとパッケージバージョンに対して、createreadupdatedeletelist のアクションを実行する権限を付与する AWS Identity and Access Management (IAM) ポリシーを作成し、Resources セクションでデプロイする特定のソフトウェアパッケージとパッケージバージョンを参照する必要があります。予約済みの名前付きシャドウを更新するには、これらの権限も必要です。各エンティティに Amazon リソースネーム (ARN) を含めることで、ソフトウェアパッケージとパッケージバージョンを参照できます。

注記

パッケージバージョンの API コール (CreatePackageVersion, UpdatePackageVersion, DeletePackageVersion など) の権限をポリシーに付与する場合は、ソフトウェアパッケージとパッケージバージョン ARN の両方をポリシーに含める必要があります。ポリシーでソフトウェアパッケージ API コール (CreatePackageUpdatePackageDeletePackage など) の権限を付与する場合は、ソフトウェアパッケージ ARN のみをポリシーに含める必要があります。

ソフトウェアパッケージとパッケージバージョン ARN を次のように構成します。

  • ソフトウェアパッケージ: arn:aws:iot:<region>:<accountID>:package/<packageName>/package

  • パッケージバージョン: arn:aws:iot:<region>:<accountID>:package/<packageName>/version/<versionName>

注記

このポリシーに含めることができる、その他の関連する権利もあります。例えば、jobthinggroupjobtemplate に ARN を含めることができます。ポリシーオプションの詳細と一覧については、「AWS IoT ジョブでユーザーおよびデバイスを保護する」を参照してください。

例えば、次のような名前のソフトウェアパッケージとパッケージバージョンがあるとします。

  • AWS IoT のモノ: myThing

  • パッケージ名: samplePackage

  • バージョン 1.0.0

ポリシーは以下の例のようになります。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:createPackage", "iot:createPackageVersion", "iot:updatePackage", "iot:updatePackageVersion" ], "Resource": [ "arn:aws:iot:us-east-1:111122223333:package/samplePackage", "arn:aws:iot:us-east-1:111122223333:package/samplePackage/version/1.0.0" ] }, { "Effect": "Allow", "Action": [ "iot:GetThingShadow", "iot:UpdateThingShadow" ], "Resource": "arn:aws:iot:us-east-1:111122223333:thing/myThing/$package" } ] }

パッケージバージョンをデプロイするための AWS IoT ジョブ権限

セキュリティ上の理由から、パッケージとパッケージバージョンをデプロイする権限を付与し、デプロイが許可されている特定のパッケージとパッケージバージョンに名前を付けることが重要です。そのためには、パッケージバージョンでジョブをデプロイするアクセス許可を付与する IAM ロールとポリシーを作成します。ポリシーでは、リソースとしてターゲットパッケージのバージョンを指定する必要があります。

IAM ポリシー

IAM ポリシーは、Resource セクションで指定されているパッケージとバージョンを含むジョブを作成する権限を付与します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:CreateJob", "iot:CreateJobTemplate" ], "Resource":[ "arn:aws:iot:*:111122223333:job/<jobId>", "arn:aws:iot:*:111122223333:thing/<thingName>/$package", "arn:aws:iot:*:111122223333:thinggroup/<thingGroupName>", "arn:aws:iot:*:111122223333:jobtemplate/<jobTemplateName>", "arn:aws:iot:*:111122223333:package/<packageName>/version/<versionName>" ] } ] }
注記

ソフトウェアパッケージとパッケージのバージョンをアンインストールするジョブをデプロイする場合は、以下のようにパッケージバージョンが $null の ARN を認可する必要があります。

arn:aws:iot:<regionCode>:111122223333:package/<packageName>/version/$null

予約済みの名前付きシャドウを更新する AWS IoT ジョブ権限

ジョブが正常に完了したときにジョブがモノの予約名シャドウを更新できるようにするには、IAM ロールとポリシーを作成する必要があります。AWS IoT コンソールでこれを行うには 2 つの方法があります。1 つ目は、コンソールでソフトウェアパッケージを作成するときです。[パッケージ管理の依存関係を有効にする] ダイアログボックスが表示されたら、既存のロールを使用するか、新しいロールを作成するかを選択できます。または、AWS IoTコンソールで [設定] を選択し、[インデックス作成の管理] を選択し、次に [デバイスパッケージとバージョンのインデックス作成の管理] を選択します。

注記

ジョブが正常に完了したときに、予約済みの名前付きシャドウを更新するように AWS IoT ジョブサービスで選択した場合、その API コールは Device Shadow とレジストリオペレーションにカウントされ、コストが発生する可能性があります。詳細については、「AWS IoT Core 料金表」を参照してください。

[ロールを作成] オプションを使用すると、生成されるロールの名前は aws-iot-role-update-shadows で始まり、次のポリシーが含まれています。

ロールのセットアップ

アクセス許可

アクセス許可ポリシーにより、モノのシャドウへのクエリと更新を行う権限が付与されます。リソース ARN の $package パラメータは、予約済みの名前付きシャドウを対象としています。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:DescribeEndpoint", "Resource": "" }, { "Effect": "Allow", "Action": [ "iot:GetThingShadow", "iot:UpdateThingShadow" ], "Resource": [ "arn:aws:iot:<regionCode>:111122223333:thing/<thingName>/$package" ] } ] }
信頼関係

アクセス許可ポリシーに加えて、エンティティがロールを引き継いで予約済みの名前付きシャドウを更新できるように、ロールと AWS IoT Core の信頼関係も必要です。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "iot.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

ユーザーポリシーの設定

iam:PassRole アクセス許可

最後に、 UpdatePackageConfiguration API オペレーションを呼び出すときに AWS IoT Core にロールを渡すアクセス許可が必要です。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:PassRole", "iot:UpdatePackageConfiguration" ], "Resource": "arn:aws:iam::111122223333:role/<roleName>" } ] }

Amazon S3 からダウンロードする AWS IoT のジョブのアクセス許可

ジョブドキュメントは Amazon S3 に保存されます。AWS IoT ジョブ経由でディスパッチするときは、このファイルを参照します。ファイル (s3:GetObject) をダウンロードする権限を AWS IoT ジョブに提供する必要があります。また、Amazon S3 と AWS IoT ジョブの間に信頼関係を設定する必要があります。これらのポリシーを作成する手順については、「ジョブを管理する」の「署名付き URL」を参照してください。

パッケージバージョンのソフトウェア部品表を更新するアクセス許可

DraftPublished または Deprecated ライフサイクル状態のパッケージバージョンのソフトウェア部品表を更新するには、Amazon S3 で新しいソフトウェア部品表を検索し、 でパッケージバージョンを更新するための AWS Identity and Access Management ロールとポリシーが必要ですAWS IoT Core。

まず、更新されたソフトウェア部品表をバージョニングされた Amazon S3 バケットに配置し、sboms パラメータを含む UpdatePackageVersion API オペレーションを呼び出します。次に、承認されたプリンシパルが作成した IAM ロールを引き受け、Amazon S3 で更新されたソフトウェア部品表を検索し、Software Package Catalog の AWS IoT Core でパッケージ検証を更新します。

この更新を実行するには、次のポリシーが必要です。

ポリシー

  • 信頼ポリシー IAM ロールを引き受ける承認されたプリンシパルとの信頼関係を確立し、Amazon S3 のバージョニングされたバケットから更新されたソフトウェア部品表を見つけ、AWS IoT Core のパッケージバージョンを更新できるようにします。

    • { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    • { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "iot.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  • アクセス許可ポリシー: ソフトウェア部品表がパッケージバージョン用に保存されている Amazon S3 バージョニングバケットにアクセスし、AWS IoT Core でパッケージバージョンを更新するポリシー。

    • { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::awsexamplebucket1" ] } ] }
    • { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:UpdatePackageVersion" ], "Resource": [ "arn:aws:iot:*:111122223333:package/<packageName>/version/<versionName>" ] } ] }
  • ロールのアクセス許可を渡す: UpdatePackageVersion API オペレーションを呼び出すときに IAM ロールを Amazon S3 と AWS IoT Core に渡すアクセス許可を付与するポリシー。

    • { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:PassRole", "s3:GetObject" ], "arn:aws:s3:::awsexamplebucket1" } ] }
    • { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:PassRole", "iot:UpdatePackageVersion" ], "Resource": "arn:aws:iam::111122223333:role/<roleName>" } ] }
注記

Deleted ライフサイクル状態に移行したパッケージバージョンでは、ソフトウェア部品表を更新することはできません。

AWS サービスの IAM ロールを作成する方法の詳細については、「AWS のサービスにアクセス許可を委任するロールの作成」を参照してください。

Amazon S3 バケットの作成とそれへのオブジェクトのアップロードの詳細については、「バケットの作成」と「オブジェクトのアップロード」を参照してください。

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.