翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS IoT 1-Click の認証とアクセスコントロール
AWS IoT 1-Click API にアクセスするには、認証情報が必要です。これらの認証情報には、AWS IoT 1-Click プロジェクトやデバイスなど、AWS リソースにアクセスするための権限が必要です。以下のセクションでは、AWS アイデンティティとアクセス管理 (IAM) と AWS IoT 1-Click を使用してリソースへのアクセスを保護する方法について詳しく説明します。
すべての AWS リソースは AWS アカウントによって所有され、となり、リソースの作成またはアクセスは、アクセス許可のポリシーによって管理されます。アカウント管理者は、アクセス権限ポリシーを IAM アイデンティティ (ユーザー、グループ、ロール) にアタッチできます。一部のサービス (AWS Lambda など) もリソースにアクセス権限ポリシーをアタッチすることができます。アカウント管理者はアクセス権限を付与する際に、付与先のユーザー、対象のリソース、および対象のリソースに許可されるアクションを決定します。
AWS IoT 1-Click リソースおよびオペレーション
AWS IoT 1-Click では、主なリソースはプロジェクトとデバイスです。ポリシーで Amazon リソースネーム (ARN) を使用して、ポリシーを適用するリソースを識別します。これらのリソースには、次の表に示すとおり、一意の Amazon リソースネーム (ARN) が関連付けられています。
リソースタイプ | ARN 形式 |
---|---|
デバイス | arn:aws:iot1click:region:account-id:devices/device-id |
プロジェクト | arn:aws:iot1click:region:account-id:projects/project-name |
AWS IoT 1-Click は、AWS IoT 1-Click リソースで動作する API を実装します。これらは IAM におけるアクションと呼ばれます。使用可能な操作のリストについては、このトピックの最後の表を参照してください。
AWS IoT 1-Click でアイデンティティベースのポリシー (IAM ポリシー) を使用する
このトピックで取り上げる ID ベースのポリシーの例では、アカウント管理者が IAM ID (ユーザー、グループ、ロール) にアクセス許可ポリシーをアタッチし、AWS IoT 1-Click リソースに対するオペレーションを実行するアクセス許可を付与する方法を示しています。
以下に示しているのは、アクセス権限ポリシーの例です。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot1click:CreateProject" ], "Resource": "*" } ] }
ポリシーには 1 つのステートメントがあり、AWS IoT 1-Click アクションに対するアクセス権限を付与します (iot1click:CreateProject
) をアプリケーションの Amazon リソースネーム (ARN) を使用してリソースに割り当てます。この場合の ARN はワイルドカード文字 (*) を指定して、どのリソースにもアクセス権限を付与することを示します。
AWS IoT 1-Click の 1-Click の API オペレーションとそれらが適用されるリストについては、AWS IoT 1-Click の API アクセス権限: アクション、アクセス許可、およびリソースのリファレンス。
AWS IoT 1-Click の AWS 管理 (定義済み) ポリシー
Amazon Web Services、AWS によって作成され管理されるスタンドアロンの IAM ポリシーを提供することで、多くの一般的ユースケースに対応します。これらの AWS 管理ポリシーは、一般的ユースケースに必要なアクセス権限を付与することで、どの権限が必要なのかをユーザーが調査する必要をなくすことができます。詳細については、IAM ユーザーガイドの「AWS 管理ポリシー」を参照してください。
アカウントのユーザーにアタッチ可能な以下の AWS 管理ポリシーは、AWS IoT 1-Click に固有のもので、ユースケースシナリオ別にグループ化されます。
AWSIoT1ClickFullAccess
: AWS 管理コンソールを使用して AWS IoT 1-Click リソースへのフルアクセスを許可します。付与されるアクセス権限には、デバイスとプロジェクトを管理するためのすべての AWS IoT 1-Click アクションが含まれます。AWSIoT1ClickReadOnlyAccess
: AWS 管理コンソールを使用して AWS IoT 1-Click リソースへの読み取り専用アクセスを許可します。このアクセス許可により、ユーザーは AWS IoT 1-Click デバイスとプロジェクトをリストしてプロジェクト設定を確認することができます。
注記
これらのアクセス権限ポリシーは、IAM コンソール (https://console.aws.amazon.com/iam/
独自のカスタム IAM ポリシーを作成して、AWS IoT 1-Click アクションとリソースのための権限を許可することもできます。これらのカスタムポリシーは、それらのアクセス権限が必要な IAM ユーザーまたはグループにアタッチできます。
AWS IoT 1-Click の API アクセス権限: アクション、アクセス許可、およびリソースのリファレンス
AWS クラウドでアクセスコントロールをセットアップし、IAM ID (アイデンティティベースのポリシー) にアタッチできるアクセス権限ポリシーを作成する際、以下の表をリファレンスとして使用できます。この表は、各 AWS IoT 1-Click API オペレーション、アクションを実行するためのアクセス権限を付与できる対応するアクション、およびアクセス権限を付与できる AWS リソースを示しています。ポリシーの Action
フィールドでアクションを指定し、ポリシーの Resource
フィールドでリソースの値を指定します。
AWS IoT 1-Click ポリシーで AWS IoT 1-Click ポリシーを使用して、条件を表現することができます。AWS 全体を対象とするすべてのキーのリストについては、「」を参照してください。使用できるキー()IAM ユーザーガイド。
注記
アクションを指定するには、API オペレーション名 (iot1click:
など) の前に iot1click:ListProjects
プレフィックスを使用します。
IoT 1-Click オペレーション |
必要なアクセス権限 (API アクション) |
リソース |
---|---|---|
ListDevices | iot1click:ListDevices | * |
DescribeDevice | iot1click:DescribeDevice | arn:aws:iot1click:region:account-id:devices/device-id |
GetDeviceMethods | iot1click:GetDeviceMethods | arn:aws:iot1click:region:account-id:devices/device-id |
UpdateDeviceState | iot1click:UpdateDeviceState | arn:aws:iot1click:region:account-id:devices/device-id |
InvokeDeviceMethod | iot1click:InvokeDeviceMethod | arn:aws:iot1click:region:account-id:devices/device-id |
ListDeviceEvents | iot1click:ListDeviceEvents | arn:aws:iot1click:region:account-id:devices/device-id |
InitializeDeviceClaim | iot1click:InitializeDeviceClaim | arn:aws:iot1click:region:account-id:devices/device-id |
FinalizeDeviceClaim | iot1click:FinalizeDeviceClaim | arn:aws:iot1click:region:account-id:devices/device-id |
UnclaimDevice | iot1click:UnclaimDevice | arn:aws:iot1click:region:account-id:devices/device-id |
ClaimDeviceByClaimCode | iot1click:ClaimDeviceByClaimCode | * |
CreateProject | iot1click:CreateProject | arn:aws:iot1click:region:account-id:projects/project-name |
UpdateProject | iot1click:UpdateProject | arn:aws:iot1click:region:account-id:projects/project-name |
DescribeProject | iot1click:DescribeProject | arn:aws:iot1click:region:account-id:projects/project-name |
ListProjects | iot1click:ListProjects | * |
DeleteProject | iot1click:DeleteProject | arn:aws:iot1click:region:account-id:projects/project-name |
CreatePlacement | iot1click:CreatePlacement | arn:aws:iot1click:region:account-id:projects/project-name |
UpdatePlacement | iot1click:UpdatePlacement | arn:aws:iot1click:region:account-id:projects/project-name |
DescribePlacement | iot1click:DescribePlacement | arn:aws:iot1click:region:account-id:projects/project-name |
ListPlacements | iot1click:ListPlacements | arn:aws:iot1click:region:account-id:projects/project-name |
DeletePlacement | iot1click:DeletePlacement | arn:aws:iot1click:region:account-id:projects/project-name |
AssociateDeviceWithPlacement | iot1click:AssociateDeviceWithPlacement | arn:aws:iot1click:region:account-id:projects/project-name |
DissacociateDeviceFromPlacement | iot1click:DissacociateDeviceFromPlacement | arn:aws:iot1click:region:account-id:projects/project-name |
GetDevicesInPlacement | iot1click:GetDevicesInPlacement | arn:aws:iot1click:region:account-id:projects/project-name |