AWS IoT SiteWise contoh kebijakan berbasis identitas - AWS IoT SiteWise

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

AWS IoT SiteWise contoh kebijakan berbasis identitas

Secara default, entitas (pengguna dan peran) tidak memiliki izin untuk membuat atau memodifikasi AWS IoT SiteWise sumber daya. Mereka juga tidak dapat melakukan tugas menggunakan AWS Management Console, AWS Command Line Interface (AWS CLI), atau AWS API. Untuk menyesuaikan izin, administrator AWS Identity and Access Management (IAM) harus melakukan hal berikut:

  1. Buat kebijakan IAM yang memberikan izin kepada pengguna dan peran untuk melakukan operasi API tertentu pada sumber daya yang mereka butuhkan.

  2. Lampirkan kebijakan tersebut ke pengguna atau grup yang memerlukan izin tersebut.

Untuk mempelajari cara membuat kebijakan berbasis identitas IAM menggunakan contoh dokumen kebijakan JSON ini, lihat Membuat kebijakan pada tab JSON dalam Panduan Pengguna IAM.

Praktik terbaik kebijakan

Kebijakan berbasis identitas menentukan apakah seseorang dapat membuat, mengakses, atau menghapus AWS IoT SiteWise sumber daya di akun Anda. Tindakan ini membuat Akun AWS Anda dikenai biaya. Ketika Anda membuat atau mengedit kebijakan berbasis identitas, ikuti panduan dan rekomendasi ini:

  • Mulailah dengan kebijakan AWS terkelola dan beralih ke izin hak istimewa paling sedikit — Untuk mulai memberikan izin kepada pengguna dan beban kerja Anda, gunakan kebijakan AWS terkelola yang memberikan izin untuk banyak kasus penggunaan umum. Mereka tersedia di Anda Akun AWS. Kami menyarankan Anda mengurangi izin lebih lanjut dengan menentukan kebijakan yang dikelola AWS pelanggan yang khusus untuk kasus penggunaan Anda. Untuk informasi selengkapnya, lihat Kebijakan yang dikelola AWS atau Kebijakan yang dikelola AWS untuk fungsi tugas dalam Panduan Pengguna IAM.

  • Menerapkan izin dengan hak akses paling rendah – Ketika Anda menetapkan izin dengan kebijakan IAM, hanya berikan izin yang diperlukan untuk melakukan tugas. Anda melakukannya dengan mendefinisikan tindakan yang dapat diambil pada sumber daya tertentu dalam kondisi tertentu, yang juga dikenal sebagai izin dengan hak akses paling rendah. Untuk informasi selengkapnya tentang cara menggunakan IAM untuk mengajukan izin, lihat Kebijakan dan izin dalam IAM dalam Panduan Pengguna IAM.

  • Gunakan kondisi dalam kebijakan IAM untuk membatasi akses lebih lanjut – Anda dapat menambahkan suatu kondisi ke kebijakan Anda untuk membatasi akses ke tindakan dan sumber daya. Sebagai contoh, Anda dapat menulis kondisi kebijakan untuk menentukan bahwa semua permintaan harus dikirim menggunakan SSL. Anda juga dapat menggunakan ketentuan untuk memberikan akses ke tindakan layanan jika digunakan melalui yang spesifik Layanan AWS, seperti AWS CloudFormation. Untuk informasi selengkapnya, lihat Elemen kebijakan JSON IAM: Kondisi dalam Panduan Pengguna IAM.

  • Gunakan IAM Access Analyzer untuk memvalidasi kebijakan IAM Anda untuk memastikan izin yang aman dan fungsional – IAM Access Analyzer memvalidasi kebijakan baru dan yang sudah ada sehingga kebijakan tersebut mematuhi bahasa kebijakan IAM (JSON) dan praktik terbaik IAM. IAM Access Analyzer menyediakan lebih dari 100 pemeriksaan kebijakan dan rekomendasi yang dapat ditindaklanjuti untuk membantu Anda membuat kebijakan yang aman dan fungsional. Untuk informasi selengkapnya, lihat Validasi kebijakan IAM Access Analyzer dalam Panduan Pengguna IAM.

  • Memerlukan otentikasi multi-faktor (MFA) - Jika Anda memiliki skenario yang mengharuskan pengguna IAM atau pengguna root di Anda, Akun AWS aktifkan MFA untuk keamanan tambahan. Untuk meminta MFA ketika operasi API dipanggil, tambahkan kondisi MFA pada kebijakan Anda. Untuk informasi selengkapnya, lihat Mengonfigurasi akses API yang dilindungi MFA dalam Panduan Pengguna IAM.

Untuk informasi selengkapnya tentang praktik terbaik dalam IAM, lihat Praktik terbaik keamanan dalam IAM dalam Panduan Pengguna IAM.

Menggunakan konsol AWS IoT SiteWise

Untuk mengakses AWS IoT SiteWise konsol, Anda memerlukan satu set izin dasar. Izin ini memungkinkan Anda melihat dan mengelola detail tentang AWS IoT SiteWise sumber daya di Anda Akun AWS.

Jika Anda membuat kebijakan yang terlalu ketat, konsol mungkin tidak berfungsi seperti yang diharapkan untuk pengguna atau peran (entitas) dengan kebijakan tersebut. Untuk memastikan bahwa entitas tersebut masih dapat menggunakan AWS IoT SiteWise konsol, lampirkan kebijakan AWSIoTSiteWiseConsoleFullAccessterkelola ke mereka atau tentukan izin yang setara untuk entitas tersebut. Untuk informasi selengkapnya, lihat Menambah izin untuk pengguna dalam Panduan Pengguna IAM.

Jika entitas hanya menggunakan AWS Command Line Interface (CLI) atau AWS IoT SiteWise API, dan bukan konsol, mereka tidak memerlukan izin minimum ini. Dalam hal ini, cukup beri mereka akses ke tindakan spesifik yang mereka butuhkan untuk tugas API mereka.

Memungkinkan pengguna untuk melihat izin mereka sendiri

Contoh ini menunjukkan cara membuat kebijakan yang mengizinkan pengguna IAM melihat kebijakan inline dan terkelola yang dilampirkan ke identitas pengguna mereka. Kebijakan ini mencakup izin untuk menyelesaikan tindakan ini di konsol atau menggunakan API atau secara terprogram. AWS CLI AWS

{ "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": "*" } ] }

Memungkinkan pengguna untuk menyerap data ke aset dalam satu hierarki

Dalam contoh ini, Anda ingin memberikan pengguna dalam Akun AWS akses Anda untuk menulis data ke semua properti aset dalam hierarki aset tertentu, mulai dari aset a1b2c3d4-5678-90ab-cdef-22222EXAMPLE root. Kebijakan memberikan iotsitewise:BatchPutAssetPropertyValue izin kepada pengguna. Kebijakan ini menggunakan kunci iotsitewise:assetHierarchyPath kondisi untuk membatasi akses ke aset yang jalur hierarkinya cocok dengan aset atau turunannya.

{ "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/*" ] } } } ] }

Melihat AWS IoT SiteWise aset berdasarkan tag

Gunakan kondisi dalam kebijakan berbasis identitas Anda untuk mengontrol akses ke AWS IoT SiteWise sumber daya berdasarkan tag. Contoh ini menunjukkan cara membuat kebijakan yang memungkinkan penayangan aset. Namun, izin diberikan hanya jika tag aset Owner memiliki nilai nama pengguna pengguna tersebut. Kebijakan ini juga memberikan izin untuk menyelesaikan tindakan ini di konsol.

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

Lampirkan kebijakan ini ke pengguna di akun Anda. Jika pengguna bernama richard-roe mencoba untuk melihat AWS IoT SiteWise aset, aset harus ditandai Owner=richard-roe atauowner=richard-roe. Jika tidak, Richard ditolak aksesnya. Nama kunci tag kondisi tidak peka huruf besar/kecil. Jadi, Owner cocok dengan keduanya Owner danowner. Untuk informasi selengkapnya, lihat Elemen kebijakan IAM JSON: Syarat dalam Panduan Pengguna IAM.