Membuat dan mengelola peran layanan untuk AWS IoT TwinMaker - AWS IoT TwinMaker

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Membuat dan mengelola peran layanan untuk AWS IoT TwinMaker

AWS IoT TwinMaker mengharuskan Anda menggunakan peran layanan untuk memungkinkannya mengakses sumber daya di layanan lain atas nama Anda. Peran ini harus memiliki hubungan kepercayaan dengan AWS IoT TwinMaker. Saat membuat ruang kerja, Anda harus menetapkan peran ini ke ruang kerja. Topik ini berisi contoh kebijakan yang menunjukkan cara mengonfigurasi izin untuk skenario umum.

Tetapkan kepercayaan

Kebijakan berikut menetapkan hubungan kepercayaan antara peran Anda dan AWS IoT TwinMaker. Tetapkan hubungan kepercayaan ini ke peran yang Anda gunakan untuk ruang kerja Anda.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "iottwinmaker.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Izin Amazon S3

Kebijakan berikut memungkinkan peran Anda membaca dan menghapus dari dan menulis ke bucket Amazon S3. Ruang kerja menyimpan sumber daya di Amazon S3, sehingga izin Amazon S3 diperlukan untuk semua ruang kerja.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetBucket*", "s3:GetObject", "s3:ListBucket", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::*" ] }, { "Effect": "Allow", "Action": [ "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::*/DO_NOT_DELETE_WORKSPACE_*" ] } ] }
catatan

Saat Anda membuat ruang kerja, AWS IoT TwinMaker buat file di bucket Amazon S3 yang menunjukkan bahwa file tersebut digunakan oleh ruang kerja. Kebijakan ini memberikan AWS IoT TwinMaker izin untuk menghapus file tersebut saat Anda menghapus ruang kerja.

AWS IoT TwinMaker menempatkan objek lain yang terkait dengan ruang kerja Anda. Anda bertanggung jawab untuk menghapus objek ini saat Anda menghapus ruang kerja.

Tetapkan izin ke bucket Amazon S3 tertentu

Saat membuat ruang kerja di AWS IoT TwinMaker konsol, Anda dapat memilih untuk AWS IoT TwinMaker membuat bucket Amazon S3 untuk Anda. Anda dapat menemukan informasi tentang bucket ini dengan menggunakan AWS CLI perintah berikut.

aws iottwinmaker get-workspace --workspace-id workspace name

Contoh berikut menunjukkan format output dari perintah ini.

{ "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" }

Untuk memperbarui kebijakan Anda sehingga menetapkan izin untuk bucket Amazon S3 tertentu, gunakan nilai nama bucket.

Kebijakan berikut memungkinkan peran Anda membaca dan menghapus dari dan menulis ke bucket Amazon S3 tertentu.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetBucket*", "s3:GetObject", "s3:ListBucket", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::bucket name", "arn:aws:s3:::bucket name/*" ] }, { "Effect": "Allow", "Action": [ "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::iottwinmakerbucket/DO_NOT_DELETE_WORKSPACE_*" ] } ] }

Izin untuk konektor bawaan

Jika ruang kerja Anda berinteraksi dengan AWS layanan lain menggunakan konektor bawaan, Anda harus menyertakan izin untuk layanan tersebut dalam kebijakan ini. Jika Anda menggunakan jenis komponen com.amazon.iotsitewise.connector, Anda harus menyertakan izin untuk. AWS IoT SiteWise Untuk informasi selengkapnya tentang jenis komponen, lihatMenggunakan dan membuat tipe komponen.

catatan

Jika Anda berinteraksi dengan AWS layanan lain menggunakan jenis komponen kustom, Anda harus memberikan izin peran untuk menjalankan fungsi Lambda yang mengimplementasikan fungsi dalam tipe komponen Anda. Untuk informasi selengkapnya, lihat Izin untuk konektor ke sumber data eksternal.

Contoh berikut menunjukkan cara memasukkan AWS IoT SiteWise dalam kebijakan Anda.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetBucket*", "s3:GetObject", "s3:ListBucket", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::bucket name", "arn:aws:s3:::bucket name/*" ] }, { "Effect": "Allow", "Action": [ "iotsitewise:DescribeAsset" ], "Resource": "asset ARN" }, { "Effect": "Allow", "Action": [ "iotsitewise:DescribeAssetModel" ], "Resource": "asset model ARN" }, { "Effect": "Allow", "Action": [ "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::*/DO_NOT_DELETE_WORKSPACE_*" ] } ] }

Jika Anda menggunakan tipe komponen com.amazon.iotsitewise.connector dan perlu membaca data properti dari, Anda harus menyertakan izin berikut dalam kebijakan Anda. AWS IoT SiteWise

... { "Action": [ "iotsitewise:GetPropertyValueHistory", ], "Resource": [ "AWS IoT SiteWise asset resource ARN" ], "Effect": "Allow" }, ...

Jika Anda menggunakan tipe komponen com.amazon.iotsitewise.connector dan perlu menulis data properti, Anda harus menyertakan izin berikut dalam kebijakan Anda. AWS IoT SiteWise

... { "Action": [ "iotsitewise:BatchPutPropertyValues", ], "Resource": [ "AWS IoT SiteWise asset resource ARN" ], "Effect": "Allow" }, ...

Jika Anda menggunakan jenis komponen com.amazon.iotsitewise.connector.edgevideo, Anda harus menyertakan izin untuk dan Kinesis Video Streams. AWS IoT SiteWise Kebijakan contoh berikut menunjukkan cara menyertakan AWS IoT SiteWise dan izin Kinesis Video Streams dalam kebijakan Anda.

... { "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" }, ...

Izin untuk konektor ke sumber data eksternal

Jika Anda membuat tipe komponen yang menggunakan fungsi yang terhubung ke sumber data eksternal, Anda harus memberikan izin peran layanan untuk menggunakan fungsi Lambda yang mengimplementasikan fungsi tersebut. Untuk informasi selengkapnya tentang membuat tipe dan fungsi komponen, lihatMenggunakan dan membuat tipe komponen.

Contoh berikut memberikan izin ke peran layanan Anda untuk menggunakan fungsi Lambda.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetBucket*", "s3:GetObject", "s3:ListBucket", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::bucket name", "arn:aws:s3:::bucket name/*" ] }, { "Action": [ "lambda:invokeFunction" ], "Resource": [ "Lambda function ARN" ], "Effect": "Allow" }, { "Effect": "Allow", "Action": [ "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::*/DO_NOT_DELETE_WORKSPACE_*" ] } ] }

Untuk informasi selengkapnya tentang membuat peran dan menetapkan kebijakan serta hubungan kepercayaan kepada mereka dengan menggunakan konsol IAM, API IAM AWS CLI, dan IAM, lihat Membuat peran untuk mendelegasikan izin ke sebuah. Layanan AWS

Ubah peran IAM ruang kerja Anda untuk menggunakan konektor data Athena

Untuk menggunakan konektor data tabular AWS IoT TwinMaker Athena, Anda harus memperbarui peran IAM ruang AWS IoT TwinMaker kerja Anda. Tambahkan izin berikut ke peran IAM ruang kerja Anda:

catatan

Perubahan IAM ini hanya berfungsi untuk data tabular Athena yang disimpan dengan dan AWS Glue Amazon S3. Untuk menggunakan Athena dengan sumber data lain, Anda harus mengonfigurasi peran IAM untuk Athena, lihat Identitas dan manajemen akses di Athena.

{ "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

Baca Identitas dan manajemen akses di Athena untuk informasi lebih lanjut tentang konfigurasi IAM Athena.