翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS IoT TwinMakerのサービスロールを作成、管理する
AWS IoT TwinMaker では、サービスロールを使用して、ユーザーに代わって他のサービスのリソースにアクセスすることを許可する必要があります。このロールには、 との信頼関係が必要です AWS IoT TwinMaker。ワークスペースを作成したら、このロールをワークスペースに割り当てる必要があります。このトピックは、一般的なシナリオでアクセス許可を構成する方法を示すポリシーの例を含んでいます。
信頼を割り当てる
次のポリシーは、ロールと の間に信頼関係を確立します AWS IoT TwinMaker。この信頼関係をワークスペースに使用するロールに割り当てます。
Amazon S3 のアクセス許可
次のポリシーでは、Amazon S3 バケットの読み書きをロールで許可します。ワークスペースは Amazon S3 にリソースを格納するため、Amazon S3 のアクセス許可は、すべてのワークスペースで必要です。
注記
ワークスペースを作成すると、 はワークスペースで使用されていることを示すファイルを Amazon S3 バケットに AWS IoT TwinMaker 作成します。このポリシーは、ワークスペースを削除するときにそのファイルを削除する AWS IoT TwinMaker アクセス許可を付与します。
AWS IoT TwinMaker は、ワークスペースに関連する他のオブジェクトを配置します。ワークスペースを削除するときは、お客様自身でこれらのオブジェクトも削除する必要があります。
特定の Amazon S3 バケットにアクセス許可を割り当てる
AWS IoT TwinMaker コンソールでワークスペースを作成するときに、 で AWS IoT TwinMaker Amazon S3 バケットを作成するように選択できます。このバケットに関する情報は、次の AWS CLI コマンドを使用して確認できます。
aws iottwinmaker get-workspace --workspace-id
workspace name
次の例は、このコマンドの出力形式を示しています。
{ "arn": "arn:aws:iottwinmaker:
region
:account Id
:workspace/workspace name
", "creationDateTime": "2021-11-30T11:30:00.000000-08:00", "description": "", "role": "arn:aws:iam::account Id
:role/service role name
", "s3Location": "arn:aws:s3:::bucket name
", "updateDateTime": "2021-11-30T11:30:00.000000-08:00", "workspaceId": "workspace name
" }
特定の Amazon S3 バケットにアクセス許可を割り当てるようにポリシーを更新するには、バケット名
の値を使用します。
次のポリシーでは、ロールによる特定の Amazon S3 バケットの読み書きを許可します。
ビルトインコネクタのアクセス許可
ワークスペースが組み込みコネクタを使用して他の AWS サービスとやり取りする場合は、これらのサービスのアクセス許可をこのポリシーに含める必要があります。com.amazon.iotsitewise.connector コンポーネントタイプを使用する場合は、 AWS IoT SiteWiseのアクセス許可を含める必要があります。コンポーネントタイプの詳細については、「コンポーネントタイプの使用と作成」を参照してください。
注記
カスタムコンポーネントタイプを使用して他の AWS サービスとやり取りする場合は、コンポーネントタイプに関数を実装する Lambda 関数を実行するアクセス許可をロールに付与する必要があります。詳細については、「外部データソースへのコネクタのアクセス許可」を参照してください。
次の例は、ポリシー AWS IoT SiteWise に を含める方法を示しています。
com.amazon.iotsitewise.connector コンポーネントタイプを使用し、 からプロパティデータを読み取る必要がある場合は AWS IoT SiteWise、ポリシーに次のアクセス許可を含める必要があります。
... { "Action": [ "iotsitewise:GetPropertyValueHistory", ], "Resource": [ "
AWS IoT SiteWise asset resource ARN
" ], "Effect": "Allow" }, ...
com.amazon.iotsitewise.connector コンポーネントタイプを使用してプロパティデータを書き込む必要がある場合は AWS IoT SiteWise、ポリシーに次のアクセス許可を含める必要があります。
... { "Action": [ "iotsitewise:BatchPutPropertyValues", ], "Resource": [ "
AWS IoT SiteWise asset resource ARN
" ], "Effect": "Allow" }, ...
com.amazon.iotsitewise.connector.edgevideo コンポーネントタイプを使用する場合は、 AWS IoT SiteWise および Kinesis Video Streams のアクセス許可を含める必要があります。次のポリシー例は、ポリシーに AWS IoT SiteWise および Kinesis Video Streams アクセス許可を含める方法を示しています。
... { "Action": [ "iotsitewise:DescribeAsset", "iotsitewise:GetAssetPropertyValue" ], "Resource": [ "
AWS IoT SiteWise asset resource ARN for the Edge Connector for Kinesis Video Streams
" ], "Effect": "Allow" }, { "Action": [ "iotsitewise:DescribeAssetModel" ], "Resource": [ "AWS IoT SiteWise model resource ARN for the Edge Connector for Kinesis Video Streams
" ], "Effect": "Allow" }, { "Action": [ "kinesisvideo:DescribeStream" ], "Resource": [ "Kinesis Video Streams stream ARN
" ], "Effect": "Allow" }, ...
外部データソースへのコネクタのアクセス許可
外部データソースに接続する関数を使用するコンポーネントタイプを作成する場合、その関数を実装する Lambda 関数を使用するアクセス許可をサービスロールに付与する必要があります。コンポーネントタイプと関数の作成の詳細については、「コンポーネントタイプの使用と作成」を参照してください。
次の例では、サービスロールに Lambda 関数を使用するアクセス許可を付与します。
IAM コンソール、、 AWS CLI IAM API を使用してロールを作成し、ポリシーと信頼関係を割り当てる方法の詳細については、「 にアクセス許可を委任するロールの作成 AWS のサービス」を参照してください。
Athena データコネクタを使用するようにワークスペース IAM ロールを変更する
AWS IoT TwinMaker Athena 表形式データコネクタを使用するには、 AWS IoT TwinMaker ワークスペースの IAM ロールを更新する必要があります。ワークスペース IAM ロールに次のアクセス許可を追加する:
注記
この IAM 変更は、 AWS Glue および Amazon S3 に保存されている Athena 表形式データでのみ機能します。Athena を他のデータソースで使用するには、Athena の IAM ロールを設定する必要があります。「Athena の ID とアクセス管理」を参照してください。
{ "Effect": "Allow", "Action": [ "athena:GetQueryExecution", "athena:GetQueryResults", "athena:GetTableMetadata", "athena:GetWorkGroup", "athena:StartQueryExecution", "athena:StopQueryExecution" ], "Resource": [ "
athena resouces arn
" ] },// Athena permission { "Effect": "Allow", "Action": [ "glue:GetTable", "glue:GetTables", "glue:GetDatabase", "glue:GetDatabases" ], "Resource": [ "glue resouces arn
" ] },// This is an example for accessing aws glue { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject" ], "Resource": [ "Amazon S3 data source bucket resources arn
" ] }, // S3 bucket for storing the tabular data. { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload", "s3:CreateBucket", "s3:PutObject", "s3:PutBucketPublicAccessBlock" ], "Resource": [ "S3 query result bucket resources arn
" ] } // Storing the query results
Athena IAM 設定の詳細については、「Athena の ID とアクセス管理」を参照してください。