AWS IoT アイデンティティベースのポリシーの例 - AWS IoT コア

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

AWS IoT アイデンティティベースのポリシーの例

デフォルトでは、IAM ユーザーおよびロールには、AWS IoT リソースを作成または変更するアクセス許可はありません。また、AWS マネジメントコンソール や AWS CLI、AWS API を使用してタスクを実行することもできません。IAM 管理者は、ユーザーとロールに必要な、指定されたリソースで特定の API オペレーションを実行するアクセス許可をユーザーとロールに付与する IAM ポリシーを作成する必要があります。続いて、管理者はそれらのアクセス許可が必要な IAM ユーザーまたはグループにそのポリシーをアタッチします。

作成方法を学ぶには IAM JSONポリシードキュメントの例を使用するIDベースのポリシーについては、を参照してください。 [JSON]タブでのポリシーの作成IAM ユーザーガイド.

ポリシーのベストプラクティス

アイデンティティベースのポリシーは非常に強力です。アカウント内で、AWS IoT リソースを作成、アクセス、または削除できるかどうかを決定します。これらのアクションを実行すると、AWS アカウントに追加料金が発生する可能性があります。アイデンティティベースのポリシーを作成または編集するときは、以下のガイドラインと推奨事項に従います。

  • AWS 管理ポリシーの使用を開始する – AWS IoT の使用をすばやく開始するには、AWS 管理ポリシーを使用して、従業員に必要なアクセス許可を付与します。これらのポリシーはアカウントですでに有効になっており、AWS によって管理および更新されています。詳細については、『IAM ユーザーガイド』の「AWS 管理ポリシーを使用したアクセス許可の使用開始」を参照してください。

  • 最小権限を付与する – カスタムポリシーを作成するときは、タスクの実行に必要なアクセス許可のみを付与します。最小限のアクセス権限から開始し、必要に応じて追加のアクセス権限を付与します。この方法は、寛容なアクセス権限で始め、後でそれらを強化しようとするよりも安全です。詳細については、「最小権限を付与する」 (IAM ユーザーガイド) を参照してください。

  • 機密性の高いオペレーションのために MFA を有効にする – 追加のセキュリティとして、機密性の高いリソースや API オペレーションにアクセスする際に Multi-Factor Authentication (MFA) を使用することを IAM ユーザーに要求します。詳細については、『IAM ユーザーガイド』の「AWS のデバイスに多要素認証 (MFA) を使用」を参照してください。

  • 追加のセキュリティとしてポリシー条件を使用する – 実行可能な範囲内で、アイデンティティベースのポリシーでリソースへのアクセスを許可する条件を定義します。たとえば、要求が発生しなければならない許容 IP アドレスの範囲を指定するための条件を記述できます。指定された日付または時間範囲内でのみリクエストを許可する条件を書くことも、SSL や MFA の使用を要求することもできます。ポリシー要素の詳細については、『IAM ユーザーガイド』の「IAM JSON ポリシー要素: 条件」を参照してください。

AWS IoT コンソールを使用して

AWS IoT コンソールにアクセスするには、一連の最小限のアクセス許可が必要です。これらのアクセス許可により、AWS アカウントの AWS IoT リソースの詳細をリストおよび表示できます。最小限必要なアクセス許可よりも制限されたアイデンティティベースのポリシーを作成すると、そのポリシーをアタッチしたエンティティ (IAM ユーザーまたはロール) に対してはコンソールが意図したとおりに機能しません。

これらのエンティティが AWS IoT コンソールを使用できるように、エンティティに次の AWS 管理対象ポリシーもアタッチします。AWSIoTFullAccess。 詳細については、以下を参照してください。 ユーザーへの権限の追加IAM ユーザーガイド.

AWS CLI または AWS API のみを呼び出すユーザーには、最小限のコンソールアクセス許可を付与する必要はありません。代わりに、実行しようとしている API オペレーションに一致するアクションのみへのアクセスが許可されます。

自分のアクセス許可の表示をユーザーに許可する

この例では、ユーザー ID にアタッチされたインラインおよび管理ポリシーの表示を IAM ユーザーに許可するポリシーを作成する方法を示します。このポリシーには、コンソールで、または AWS CLI か AWS API を使用してプログラム的に、このアクションを完了するアクセス許可が含まれています。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

タグに基づく AWS IoT リソースの表示

アイデンティティベースのポリシーの条件を使用して、タグに基づいて AWS IoT リソースへのアクセスをコントロールできます。この例では、モノを表示できるポリシーを作成する方法を示します。ただし、アクセス許可は、モノタグ Owner にそのユーザーのユーザー名の値がある場合のみ、付与されます。このポリシーでは、このアクションをコンソールで実行するために必要なアクセス許可も付与します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ListBillingGroupsInConsole", "Effect": "Allow", "Action": "iot:ListBillingGroups", "Resource": "*" }, { "Sid": "ViewBillingGroupsIfOwner", "Effect": "Allow", "Action": "iot:DescribeBillingGroup", "Resource": "arn:aws:iot:*:*:billinggroup/*", "Condition": { "StringEquals": {"aws:ResourceTag/Owner": "${aws:username}"} } } ] }

このポリシーをアカウントの IAM ユーザーにアタッチできます。という名前のユーザーが richard-roe は、 AWS IoT 請求グループ、請求グループにタグを付ける必要があります Owner=richard-roe または owner=richard-roe。 さもなければ、アクセスが拒否されます。条件キー名では大文字と小文字は区別されないため、条件タグキー OwnerOwnerowner に一致します。詳細については、以下を参照してください。 IAM JSON ポリシー要素: 条件IAM ユーザーガイド.