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

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

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

デフォルトでは、エンティティ (ユーザーとロール) にはリソースを作成または変更 AWS IoT SiteWise するアクセス許可はありません。また、、 AWS Command Line Interface (AWS CLI) AWS Management Console、または AWS API を使用してタスクを実行することはできません。アクセス許可を調整するには、 AWS Identity and Access Management (IAM) 管理者が以下を実行する必要があります。

  1. 必要なリソースに対して特定の API オペレーションを実行するアクセス許可をユーザーとロールに付与する IAM ポリシーを作成します。

  2. これらのアクセス許可を必要とするユーザーまたはグループに、これらのポリシーをアタッチします。

これらの JSON ポリシードキュメント例を使用して IAM のアイデンティティベースのポリシーを作成する方法については、『IAM ユーザーガイド』の「JSON タブでのポリシーの作成」を参照してください。

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

ID ベースのポリシーは、ユーザーのアカウントで誰かが AWS IoT SiteWise リソースを作成、アクセス、または削除できるどうかを決定します。これらのアクションを実行すると、 AWS アカウントに料金が発生する可能性があります。アイデンティティベースポリシーを作成したり編集したりする際には、以下のガイドラインと推奨事項に従ってください:

  • AWS 管理ポリシーを開始し、最小特権のアクセス許可に移行する – ユーザーとワークロードにアクセス許可を付与するには、多くの一般的なユースケースにアクセス許可を付与する AWS 管理ポリシーを使用します。これらは で使用できます AWS アカウント。ユースケースに固有の AWS カスタマー管理ポリシーを定義して、アクセス許可をさらに減らすことをお勧めします。詳細については、「IAM ユーザーガイド」の「AWS マネージドポリシー」または「ジョブ機能のAWS マネージドポリシー」を参照してください。

  • 最小特権を適用する – IAM ポリシーで許可を設定する場合は、タスクの実行に必要な許可のみを付与します。これを行うには、特定の条件下で特定のリソースに対して実行できるアクションを定義します。これは、最小特権アクセス許可とも呼ばれています。IAM を使用して許可を適用する方法の詳細については、IAM ユーザーガイドIAM でのポリシーとアクセス許可を参照してください。

  • IAM ポリシーで条件を使用してアクセスをさらに制限する - ポリシーに条件を追加して、アクションやリソースへのアクセスを制限できます。例えば、ポリシー条件を記述して、すべてのリクエストを SSL を使用して送信するように指定できます。条件を使用して、 などの特定の を介してサービスアクションが使用される場合に AWS のサービス、サービスアクションへのアクセスを許可することもできます AWS CloudFormation。詳細については、「IAM ユーザーガイド」の [IAM JSON policy elements: Condition] (IAM JSON ポリシー要素:条件) を参照してください。

  • IAM Access Analyzer を使用して IAM ポリシーを検証し、安全で機能的な権限を確保する - IAM Access Analyzer は、新規および既存のポリシーを検証して、ポリシーが IAM ポリシー言語 (JSON) および IAM のベストプラクティスに準拠するようにします。IAM アクセスアナライザーは 100 を超えるポリシーチェックと実用的な推奨事項を提供し、安全で機能的なポリシーの作成をサポートします。詳細については、IAM ユーザーガイドIAM Access Analyzer ポリシーの検証を参照してください。

  • 多要素認証 (MFA) を要求する – で IAM ユーザーまたはルートユーザーを必要とするシナリオがある場合は AWS アカウント、セキュリティを強化するために MFA を有効にします。API オペレーションが呼び出されるときに MFA を必須にするには、ポリシーに MFA 条件を追加します。詳細については、IAM ユーザーガイドMFA 保護 API アクセスの設定を参照してください。

IAM でのベストプラクティスの詳細については、IAM ユーザーガイドIAM でのセキュリティのベストプラクティスを参照してください。

AWS IoT SiteWise コンソールを使用する

AWS IoT SiteWise コンソールにアクセスするには、基本的なアクセス許可のセットが必要です。これらのアクセス許可により、 の AWS IoT SiteWise リソースに関する詳細を表示および管理できます AWS アカウント。

制限が厳しいポリシーを作成すると、そのポリシーを持つユーザーまたはロール (エンティティ) に対してコンソールが期待どおりに動作しない可能性があります。これらのエンティティが AWS IoT SiteWise 引き続きコンソールを使用できるようにするには、 AWSIoTSiteWiseConsoleFullAccess管理ポリシーをアタッチするか、それらのエンティティに同等のアクセス許可を定義します。詳細については、IAM ユーザーガイドユーザーへの許可の追加を参照してください。

エンティティがコンソールではなく AWS Command Line Interface (CLI) または AWS IoT SiteWise API のみを使用している場合、これらの最小限のアクセス許可は必要ありません。その場合は、API タスクに必要な特定のアクションへのアクセスを許可するだけです。

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

この例では、ユーザーアイデンティティにアタッチされたインラインおよびマネージドポリシーの表示を 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": "*" } ] }

ユーザーが 1 つの階層でアセットにデータを取り込むことを許可する

この例では、ルートアセット から始まる特定のアセット階層内のすべてのアセットプロパティにデータを書き込む AWS アカウント アクセス許可を のユーザーに付与しますa1b2c3d4-5678-90ab-cdef-22222EXAMPLE。このポリシーでは、ユーザーに iotsitewise:BatchPutAssetPropertyValue アクセス許可を付与します。このポリシーは、iotsitewise:assetHierarchyPath 条件キーを使用して、階層パスがアセットまたはその子孫と一致するアセットへのアクセスを制限します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "PutAssetPropertyValuesForHierarchy", "Effect": "Allow", "Action": "iotsitewise:BatchPutAssetPropertyValue", "Resource": "arn:aws:iotsitewise:*:*:asset/*", "Condition": { "StringLike": { "iotsitewise:assetHierarchyPath": [ "/a1b2c3d4-5678-90ab-cdef-22222EXAMPLE", "/a1b2c3d4-5678-90ab-cdef-22222EXAMPLE/*" ] } } } ] }

タグに基づく AWS IoT SiteWise アセットの表示

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

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ListAllAssets", "Effect": "Allow", "Action": [ "iotsitewise:ListAssets", "iotsitewise:ListAssociatedAssets" ], "Resource": "*" }, { "Sid": "DescribeAssetIfOwner", "Effect": "Allow", "Action": "iotsitewise:DescribeAsset", "Resource": "arn:aws:iotsitewise:*:*:asset/*", "Condition": { "StringEquals": { "aws:ResourceTag/Owner": "${aws:username}" } } } ] }

このポリシーをアカウントのユーザーにアタッチします。という名前のユーザーが AWS IoT SiteWise アセットを表示richard-roeしようとする場合は、アセットに Owner=richard-roeまたは のタグを付ける必要がありますowner=richard-roe。それ以外の場合、Richard はアクセスを拒否されます。条件タグのキー名では、大文字と小文字は区別されません。したがって、 は Ownerと の両方Ownerに一致しますowner。詳細については、「IAM ユーザーガイド」の「IAM JSON ポリシー要素: 条件」を参照してください。