と IAM AWS IoT SiteWise の連携方法 - AWS IoT SiteWise

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

と IAM AWS IoT SiteWise の連携方法

AWS Identity and Access Management (IAM) を使用して へのアクセスを管理する前に AWS IoT SiteWise、 で使用できる IAM 機能について理解しておく必要があります AWS IoT SiteWise。

AWS IoT SiteWise およびその他の AWS のサービスが IAM と連携する方法の概要を把握するには、「IAM ユーザーガイド」のAWS 「IAM と連携する のサービス」を参照してください。

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

IAM アイデンティティベースのポリシーでは、許可または拒否されたアクションとリソースを指定でき、さらにアクションが許可または拒否された条件を指定できます。 AWS IoT SiteWise は、特定のアクション、リソース、および条件キーをサポートします。JSON ポリシーで使用するすべての要素については、「IAM ユーザーガイド」の「IAM JSON ポリシーエレメントのリファレンス」を参照してください。

ポリシーアクション

管理者は AWS JSON ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどんなリソースにどんな条件アクションを実行できるかということです。

JSON ポリシーのAction要素には、ポリシー内のアクセスを許可または拒否するために使用できるアクションが記述されます。ポリシーアクションの名前は通常、関連する AWS API オペレーションと同じです。一致する API オペレーションのない許可のみのアクションなど、いくつかの例外があります。また、ポリシーに複数アクションが必要なオペレーションもあります。これらの追加アクションは、依存アクションと呼ばれます。

このアクションは、関連付けられたオペレーションを実行するためのアクセス許可を付与するポリシーで使用されます。

のポリシーアクションは、アクションの前にプレフィックス AWS IoT SiteWise を使用しますiotsitewise:。例えば、 BatchPutAssetPropertyValue API オペレーション AWS IoT SiteWise を使用して にアセットプロパティデータをアップロードするアクセス許可を付与するには、ポリシーに iotsitewise:BatchPutAssetPropertyValueアクションを含めます。ポリシーステートメントには、 Actionまたは NotAction 要素を含める必要があります。 は、このサービスで実行できるタスクを記述する独自のアクションのセット AWS IoT SiteWise を定義します。

単一のステートメントに複数の アクションを指定するには、次のようにコンマで区切ります。

"Action": [ "iotsitewise:action1", "iotsitewise:action2" ]

ワイルドカード *を使用して複数のアクションを指定することができます。例えば、Describe という単語で始まるすべてのアクションを指定するには、次のアクションを含めます。

"Action": "iotsitewise:Describe*"

AWS IoT SiteWise アクションのリストを確認するには、「IAM ユーザーガイド」の「 で定義されるアクション AWS IoT SiteWise」を参照してください。

BatchPutAssetPropertyValue 認証

AWS IoT SiteWise は、異常な方法でBatchPutAssetPropertyValueアクションへのアクセスを許可します。ほとんどのアクションでは、アクセス許可が付与されていない場合、アクションへのアクセスを許可または拒否するとエラーを返します。を使用するとBatchPutAssetPropertyValue、1 つの API リクエストで複数のデータエントリを異なるアセットやアセットプロパティに送信でき、 は各データ入力を個別に AWS IoT SiteWise 承認します。リクエストで認証に失敗した個々のエントリについては、 は、エラーの返されたリストAccessDeniedExceptionに AWS IoT SiteWise を含めます。同じリクエスト内の別のエントリが失敗した場合でも、承認して成功したエントリのデータ AWS IoT SiteWise を受け取ります。

重要

データストリームにデータを取り込む前に、次のことを行ってください。

  • データストリームの識別にプロパティエイリアスを使用する場合は、time-series リソースを認可する必要があります。

  • 関連するアセットプロパティを含むアセットを識別するためにアセット ID を使用する場合、asset リソースは認可されていなければなりません。

ポリシーリソース

管理者は AWS JSON ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。

Resource JSON ポリシーの要素は、オブジェクトあるいはアクションが適用されるオブジェクトを指定します。ステートメントには、Resource または NotResource 要素を含める必要があります。ベストプラクティスとしては、Amazon リソースネーム (ARN) を使用してリソースを指定します。これは、リソースレベルの権限と呼ばれる特定のリソースタイプをサポートするアクションに対して実行できます。

操作のリスト化など、リソースレベルの許可をサポートしないアクションの場合は、ワイルドカード (*) を使用して、ステートメントがすべてのリソースに適用されることを示します。

"Resource": "*"

各 IAM ポリシーステートメントは、ARN を使用して指定されたリソースに適用されます。ARN には以下の一般的な構文があります。

arn:${Partition}:${Service}:${Region}:${Account}:${ResourceType}/${ResourcePath}

ARN の形式の詳細については、「Amazon リソースネーム (ARNsと AWS サービス名前空間」を参照してください。

たとえば、ステートメントで ID a1b2c3d4-5678-90ab-cdef-22222EXAMPLE のアセットを指定するには、次の ARN を使用します。

"Resource": "arn:aws:iotsitewise:region:123456789012:asset/a1b2c3d4-5678-90ab-cdef-22222EXAMPLE"

特定のアカウントに属するすべてのデータストリームを指定する場合は、ワイルドカード (*) を使用します。

"Resource": "arn:aws:iotsitewise:region:123456789012:time-series/*"

特定のアカウントに属するすべてのアセットを指定するには、ワイルドカード (*) を使用します。

"Resource": "arn:aws:iotsitewise:region:123456789012:asset/*"

リソースを作成するための AWS IoT SiteWise アクションなど、一部のアクションは、特定のリソースで実行できません。このような場合は、ワイルドカード (*) を使用する必要があります。

"Resource": "*"

複数リソースを単一ステートメントで指定するには、ARN をカンマで区切ります。

"Resource": [ "resource1", "resource2" ]

AWS IoT SiteWise リソースタイプとその ARNs「 で定義されるリソース AWS IoT SiteWise」を参照してください。 どのアクションで各リソースの ARN を指定できるかについては、「AWS IoT SiteWiseで定義されるアクション」を参照してください。

ポリシー条件キー

管理者は AWS JSON ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどんなリソースにどんな条件アクションを実行できるかということです。

Condition 要素 (または Condition ブロック) を使用すると、ステートメントが有効な条件を指定できます。Condition 要素はオプションです。equal や less than などの条件演算子を使用して条件式を作成することによって、ポリシーの条件とリクエスト内の値を一致させることができます。

1 つのステートメントに複数の Condition 要素を指定する場合、または 1 つの Condition 要素に複数のキーを指定する場合、 AWS は AND 論理演算子を使用してそれらを評価します。1 つの条件キーに複数の値を指定すると、 は論理OR演算を使用して条件 AWS を評価します。ステートメントの権限が付与される前にすべての条件が満たされる必要があります。

条件を指定する際にプレースホルダー変数も使用できます。例えば IAM ユーザーに、IAM ユーザー名がタグ付けされている場合のみリソースにアクセスできる権限を付与することができます。詳細については、「IAM ユーザーガイド」の「‬IAM ポリシーの要素: 変数およびタグ‭‬」を参照してください。

AWS は、 グローバル条件キーとサービス固有の条件キーをサポートします。すべての AWS グローバル条件キーを確認するには、IAM ユーザーガイドAWS 「 グローバル条件コンテキストキー」を参照してください。

重要

多くの条件キーはリソースに固有のものであり、一部の API アクションでは複数のリソースを使用します。条件キーを使用してポリシーステートメントを作成する場合は、ポリシーステートメントの Resource 要素で、条件キーが適用されるリソースを指定します。指定しない場合、そのポリシーはユーザーに対してすべてのアクションの実行を禁止する可能性があります。これは、条件キーが適用されないリソースに対して条件チェックが失敗するためです。リソースを指定しない場合や、ポリシーの Action 要素に複数の API アクションを含めている場合は、...IfExists 条件タイプを使用して、条件キーが適用されないリソースに対して無視されるようにする必要があります。詳細については、「IAM ユーザーガイド」の「...IfExists conditions」を参照してください。

AWS IoT SiteWise は独自の条件キーを定義し、一部のグローバル条件キーの使用もサポートしています。すべての AWS グローバル条件キーを確認するには、IAM ユーザーガイドのAWS 「 グローバル条件コンテキストキー」を参照してください。

AWS IoT SiteWise 条件キー
条件キー 説明
iotsitewise:isAssociatedWithAssetProperty

データストリームがアセットプロパティと関連付けられているかどうか。この条件キーを使用して、データストリームの関連するアセットプロパティの存在に基づくアクセス許可を定義することができます。

値の例: true

文字列
iotsitewise:assetHierarchyPath

アセットの階層パス。各アセット ID をスラッシュで区切った文字列です。この条件キーを使用して、アカウント内のすべてのアセットの階層のサブセットに基づいたアクセス許可を定義します。

値の例: /a1b2c3d4-5678-90ab-cdef-22222EXAMPLE/a1b2c3d4-5678-90ab-cdef-66666EXAMPLE

文字列
iotsitewise:propertyId

アセットプロパティの ID。この条件キーを使用して、アセットモデルの指定されたプロパティに基づいたアクセス許可を定義します。この条件キーは、そのモデルのすべてのアセットに適用されます。

値の例: a1b2c3d4-5678-90ab-cdef-33333EXAMPLE

文字列
iotsitewise:childAssetId

別のアセットに子として関連付けられているアセットの ID。この条件キーを使用して、子アセットに基づいたアクセス許可を定義します。親アセットに基づいてアクセス許可を定義するには、ポリシーステートメントのリソースセクションを使用します。

値の例: a1b2c3d4-5678-90ab-cdef-66666EXAMPLE

文字列
iotsitewise:iam

アクセスポリシーを一覧表示する際の IAM アイデンティティ のARN です。この条件キーを使用して、IAM アイデンティティのアクセスポリシー許可を定義します。

値の例: arn:aws:iam::123456789012:user/JohnDoe

文字列、Null
iotsitewise:propertyAlias

アセットプロパティまたはデータストリームを識別するエイリアス。この条件キーを使用して、エイリアスに基づくアクセス許可を定義します。

文字列
iotsitewise:user

アクセスポリシーをリスト化するときの IAM Identity Center ユーザーの ID。この条件キーを使用して、IAM Identity Center ユーザーのアクセスポリシーアクセス許可を定義します。

値の例: a1b2c3d4e5-a1b2c3d4-5678-90ab-cdef-aaaaaEXAMPLE

文字列、Null
iotsitewise:group

アクセスポリシーをリスト化するときの IAM Identity Center グループの ID。この条件キーを使用して、IAM Identity Center グループのアクセスポリシーアクセス許可を定義します。

値の例: a1b2c3d4e5-a1b2c3d4-5678-90ab-cdef-bbbbbEXAMPLE

文字列、Null
iotsitewise:portal

アクセスポリシー内のポータルの ID。この条件キーを使用して、ポータルに基づいたアクセスポリシー許可を定義します。

値の例: a1b2c3d4-5678-90ab-cdef-77777EXAMPLE

文字列、Null
iotsitewise:project

アクセスポリシー内のプロジェクトの ID、またはダッシュボードのプロジェクトの ID。この条件キーを使用して、ポータルに基づいたダッシュボードまたはアクセスポリシー許可を定義します。

値の例: a1b2c3d4-5678-90ab-cdef-88888EXAMPLE

文字列、Null

条件キーを使用できるアクションとリソースについては、「 で定義されるアクション AWS IoT SiteWise」を参照してください。

AWS IoT SiteWise アイデンティティベースのポリシーの例を表示するには、「」を参照してくださいAWS IoT SiteWise アイデンティティベースのポリシーの例

AWS IoT SiteWise リソースベースのポリシー

AWS IoT SiteWise では、リソースベースのポリシー はサポートされていません。

アクセスコントロールリスト (ACL)

AWS IoT SiteWise は ACLsをサポートしていません。

AWS IoT SiteWise タグに基づく認可

タグを AWS IoT SiteWise リソースにアタッチすることも、 へのリクエストでタグを渡すこともできます AWS IoT SiteWise。タグに基づいてアクセスを制御するには、aws:ResourceTag/key-nameaws:RequestTag/key-name、または aws:TagKeys の条件キーを使用して、ポリシーの 条件要素 でタグ情報を提供します。 AWS IoT SiteWise リソースのタグ付けの詳細については、「AWS IoT SiteWise リソースのタグ付け」を参照してください。

リソースのタグに基づいてリソースへのアクセスを制限するためのアイデンティティベースのポリシーの例を表示するには、「タグに基づく AWS IoT SiteWise アセットの表示」を参照してください。

AWS IoT SiteWise IAM ロール

IAM ロール は、特定の権限を持つ、 AWS アカウント 内のエンティティです。

での一時的な認証情報の使用 AWS IoT SiteWise

一時的な認証情報を使用して、フェデレーションでサインインする、IAM ロールを引き受ける、またはクロスアカウントロールを引き受けることができます。一時的なセキュリティ認証情報を取得するには、 AssumeRoleGetFederationToken などの AWS STS API オペレーションを呼び出します。

AWS IoT SiteWise は、一時的な認証情報の使用をサポートしています。

SiteWise Monitor は、フェデレーティッドユーザーによるポータルへのアクセスをサポートしています。ポータルのユーザーは、IAM Identity Center または IAM の認証情報を使って認証を受けます。

重要

ユーザーまたはロールがこのポータルにサインインするには iotsitewise:DescribePortal アクセス許可が必要です。

ユーザーがポータルにサインインすると、 SiteWise Monitor は次のアクセス許可を提供するセッションポリシーを生成します。

  • ポータルのロールがアクセスを提供するアカウントの AWS IoT SiteWise のアセットとアセットデータへの読み取り専用アクセス。

  • ユーザーが管理者 (プロジェクト所有者) または読み取り専用 (プロジェクトビューワー) のアクセス権を持つ、そのポータル内のプロジェクトへのアクセス。

フェデレーティッドユーザーのアクセス許可の詳細については、「のサービスロールの使用 AWS IoT SiteWise Monitor」を参照してください。

の転送アクセスセッション (FAS) AWS IoT SiteWise

フォワードアクセスセッション (FAS) をサポート

はい

IAM ユーザーまたはロールを使用して でアクションを実行する場合 AWS、プリンシパルと見なされます。一部のサービスを使用する際に、アクションを実行することで、別のサービスの別のアクションがトリガーされることがあります。FAS は、 を呼び出すプリンシパルのアクセス許可 AWS のサービス を使用し AWS のサービス、ダウンストリームサービスにリクエストを行うリクエストと組み合わせて使用します。FAS リクエストは、他の AWS のサービス またはリソースとのやり取りを完了する必要があるリクエストをサービスが受信した場合にのみ行われます。この場合、両方のアクションを実行するためのアクセス許可が必要です。FAS リクエストを行う際のポリシーの詳細については、「転送アクセスセッション」を参照してください。

サービスにリンクされたロール

サービスにリンクされたロールを使用すると、 AWS サービスが他のサービスのリソースにアクセスして、ユーザーに代わってアクションを完了できます。サービスリンクロールは、 AWS アカウント に表示され、サービスによって所有されます。IAM 管理者は、サービスにリンクされたロールの許可を表示できますが、編集することはできません。

AWS IoT SiteWise は、サービスにリンクされたロールをサポートします。 AWS IoT SiteWise サービスにリンクされたロールの作成または管理の詳細については、「AWS IoT SiteWiseのサービスにリンクされたロールの使用」を参照してください。

サービスロール

この機能により、ユーザーに代わってサービスがサービスロールを引き受けることが許可されます。このロールにより、サービスがお客様に代わって他のサービスのリソースにアクセスし、アクションを完了することが許可されます。サービスロールは、 AWS アカウント に表示され、そのアカウントによって所有されます。つまり、IAM 管理者は、このロールの権限を変更できます。ただし、それにより、サービスの機能が損なわれる場合があります。

AWS IoT SiteWise はサービスロールを使用して、 SiteWise Monitor ポータルユーザーがユーザーに代わって一部の AWS IoT SiteWise リソースにアクセスできるようにします。詳細については、「のサービスロールの使用 AWS IoT SiteWise Monitor」を参照してください。

で AWS IoT Events アラームモデルを作成する前に、必要なアクセス許可が必要です AWS IoT SiteWise。詳細については、「AWS IoT Events アラームのアクセス許可の設定」を参照してください。

AWS IoT SiteWiseで IAM ロールを選択

portalリソースを作成するときは AWS IoT SiteWise、 SiteWise Monitor ポータルのフェデレーティッドユーザーが AWS IoT SiteWise ユーザーに代わって にアクセスできるようにするロールを選択する必要があります。以前にサービスロールを作成したことがある場合、 は選択できるロールのリスト AWS IoT SiteWise を提供します。それ以外の場合は、ポータルの作成時に必要なアクセス許可を持つロールを作成できます。アセットとアセットデータへのアクセスを許可するロールを選択することが重要です。詳細については、「のサービスロールの使用 AWS IoT SiteWise Monitor」を参照してください。