Contoh kebijakan berbasis identitas untuk Amazon Location Service - Amazon Location Service

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

Contoh kebijakan berbasis identitas untuk Amazon Location Service

Secara default, pengguna dan peran tidak memiliki izin untuk membuat atau memodifikasi sumber daya Lokasi Amazon. Mereka juga tidak dapat melakukan tugas dengan menggunakan AWS Management Console, AWS Command Line Interface (AWS CLI), atau AWS API. Untuk memberikan izin kepada pengguna untuk melakukan tindakan pada sumber daya yang mereka butuhkan, IAM administrator dapat membuat IAM kebijakan. Administrator kemudian dapat menambahkan IAM kebijakan ke peran, dan pengguna dapat mengambil peran.

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

Untuk detail tentang tindakan dan jenis sumber daya yang ditentukan oleh Lokasi Amazon, termasuk format ARNs untuk setiap jenis sumber daya, lihat Tindakan, Sumber Daya, dan Kunci Kondisi untuk Amazon Location Service di Referensi Otorisasi Layanan.

Praktik terbaik kebijakan

Kebijakan berbasis identitas menentukan apakah seseorang dapat membuat, mengakses, atau menghapus sumber daya Lokasi Amazon 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 terkelola AWS pelanggan yang spesifik untuk kasus penggunaan Anda. Untuk informasi selengkapnya, lihat kebijakan AWSAWS terkelola atau kebijakan terkelola untuk fungsi pekerjaan di Panduan IAM Pengguna.

  • Menerapkan izin hak istimewa paling sedikit — Saat Anda menetapkan izin dengan IAM kebijakan, berikan hanya 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 penggunaan IAM untuk menerapkan izin, lihat Kebijakan dan izin IAM di IAM Panduan Pengguna.

  • Gunakan ketentuan dalam IAM kebijakan untuk membatasi akses lebih lanjut — Anda dapat menambahkan kondisi ke kebijakan Anda untuk membatasi akses ke tindakan dan sumber daya. Misalnya, Anda dapat menulis kondisi kebijakan untuk menentukan bahwa semua permintaan harus dikirim menggunakanSSL. 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 IAM JSON kebijakan: Kondisi dalam Panduan IAM Pengguna.

  • Gunakan IAM Access Analyzer untuk memvalidasi IAM kebijakan Anda guna memastikan izin yang aman dan fungsional — IAM Access Analyzer memvalidasi kebijakan baru dan yang sudah ada sehingga kebijakan tersebut mematuhi bahasa IAM kebijakan () JSON dan praktik terbaik. IAM IAMAccess 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 di IAMPanduan Pengguna.

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

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

Menggunakan konsol Lokasi Amazon

Untuk mengakses konsol Amazon Location Service, Anda harus memiliki set izin minimum. Izin ini harus memungkinkan Anda untuk membuat daftar dan melihat detail tentang sumber daya Lokasi Amazon di Anda Akun AWS. Jika Anda membuat kebijakan berbasis identitas yang lebih ketat daripada izin minimum yang diperlukan, konsol tidak akan berfungsi sebagaimana mestinya untuk entitas (pengguna atau peran) dengan kebijakan tersebut.

Anda tidak perlu mengizinkan izin konsol minimum untuk pengguna yang melakukan panggilan hanya ke AWS CLI atau. AWS API Sebagai gantinya, izinkan akses hanya ke tindakan yang cocok dengan API operasi yang mereka coba lakukan.

Untuk memastikan bahwa pengguna dan peran dapat menggunakan konsol Lokasi Amazon, lampirkan kebijakan berikut ke entitas. Untuk informasi selengkapnya, lihat Menambahkan izin ke pengguna di Panduan IAM Pengguna.

Kebijakan berikut memberikan akses ke konsol Amazon Location Service, agar dapat membuat, menghapus, mencantumkan, dan melihat detail tentang sumber daya Lokasi Amazon di AWS akun Anda.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GeoPowerUser", "Effect": "Allow", "Action": [ "geo:*" ], "Resource": "*" } ] }

Atau, Anda dapat memberikan izin hanya-baca untuk memfasilitasi akses hanya-baca. Dengan izin hanya-baca, pesan kesalahan akan muncul jika pengguna mencoba menulis tindakan seperti membuat atau menghapus sumber daya. Sebagai contoh, lihat Kebijakan hanya-baca untuk sumber daya pelacak

Mengizinkan pengguna melihat izin mereka sendiri

Contoh ini menunjukkan cara Anda membuat kebijakan yang memungkinkan IAM pengguna melihat kebijakan sebaris dan terkelola yang dilampirkan pada identitas pengguna mereka. Kebijakan ini mencakup izin untuk menyelesaikan tindakan ini di konsol atau secara terprogram menggunakan atau. 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": "*" } ] }

Menggunakan sumber daya Amazon Location Service dalam kebijakan

Amazon Location Service menggunakan awalan berikut untuk sumber daya:

Awalan sumber daya Lokasi Amazon
Sumber Daya Awalan sumber daya
Sumber daya peta map
Tempatkan sumber daya place-index
Sumber daya rute route-calculator
Melacak sumber daya tracker
Sumber daya Koleksi Geofence geofence-collection

Gunakan ARN sintaks berikut:

arn:Partition:geo:Region:Account:ResourcePrefix/ResourceName

Untuk informasi selengkapnya tentang formatARNs, lihat Amazon Resource Names (ARNs) dan Ruang Nama AWS Layanan.

Contoh

  • Gunakan yang berikut ini ARN untuk mengizinkan akses ke sumber daya peta tertentu.

    "Resource": "arn:aws:geo:us-west-2:account-id:map/map-resource-name"
  • Untuk menentukan akses ke semua map sumber daya milik akun tertentu, gunakan wildcard (*):

    "Resource": "arn:aws:geo:us-west-2:account-id:map/*"
  • Beberapa tindakan Lokasi Amazon, seperti tindakan untuk membuat sumber daya, tidak dapat dilakukan pada sumber daya tertentu. Dalam kasus tersebut, Anda harus menggunakan wildcard (*).

    "Resource": "*"

Untuk melihat daftar jenis sumber daya Lokasi Amazon dan jenisnyaARNs, lihat Sumber Daya yang Ditentukan oleh Amazon Location Service di Referensi Otorisasi Layanan. Untuk mempelajari tindakan yang dapat Anda tentukan ARN dari setiap sumber daya, lihat Tindakan yang Ditentukan oleh Amazon Location Service.

Izin untuk memperbarui posisi perangkat

Untuk memperbarui posisi perangkat untuk beberapa pelacak, Anda harus memberi pengguna akses ke satu atau beberapa sumber daya pelacak Anda. Anda juga ingin mengizinkan pengguna memperbarui sejumlah posisi perangkat.

Dalam contoh ini, selain memberikan akses ke Tracker1 and Tracker2 sumber daya, kebijakan berikut memberikan izin untuk menggunakan geo:BatchUpdateDevicePosition tindakan terhadap Tracker1 and Tracker2 sumber daya.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "UpdateDevicePositions", "Effect": "Allow", "Action": [ "geo:BatchUpdateDevicePosition" ], "Resource": [ "arn:aws:geo:us-west-2:account-id:tracker/Tracker1", "arn:aws:geo:us-west-2:account-id:tracker/Tracker2" ] } ] }

Jika Anda ingin membatasi pengguna agar hanya dapat memperbarui posisi perangkat untuk perangkat tertentu, Anda dapat menambahkan kunci kondisi untuk id perangkat tersebut.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "UpdateDevicePositions", "Effect": "Allow", "Action": [ "geo:BatchUpdateDevicePosition" ], "Resource": [ "arn:aws:geo:us-west-2:account-id:tracker/Tracker1", "arn:aws:geo:us-west-2:account-id:tracker/Tracker2" ], "Condition":{ "ForAllValues:StringLike":{ "geo:DeviceIds":[ "deviceId" ] } } } ] }

Kebijakan hanya-baca untuk sumber daya pelacak

Untuk membuat kebijakan hanya-baca untuk semua sumber daya pelacak di AWS akun Anda, Anda harus memberikan akses ke semua sumber daya pelacak. Anda juga ingin memberi pengguna akses ke tindakan yang memungkinkan mereka mendapatkan posisi perangkat untuk beberapa perangkat, mendapatkan posisi perangkat dari satu perangkat, dan mendapatkan riwayat posisi.

Dalam contoh ini, kebijakan berikut memberikan izin untuk tindakan berikut:

  • geo:BatchGetDevicePositionuntuk mengambil posisi beberapa perangkat.

  • geo:GetDevicePositionuntuk mengambil posisi satu perangkat.

  • geo:GetDevicePositionHistoryuntuk mengambil riwayat posisi perangkat.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GetDevicePositions", "Effect": "Allow", "Action": [ "geo:BatchGetDevicePosition", "geo:GetDevicePosition", "geo:GetDevicePositionHistory" ], "Resource": "arn:aws:geo:us-west-2:account-id:tracker/*" } ] }

Kebijakan untuk membuat geofences

Untuk membuat kebijakan agar pengguna dapat membuat geofences, Anda harus memberikan akses ke tindakan tertentu yang memungkinkan pengguna membuat satu atau beberapa geofences pada koleksi geofence.

Kebijakan di bawah ini memberikan izin untuk tindakan berikut Collection:

  • geo:BatchPutGeofenceuntuk membuat beberapa geofences.

  • geo:PutGeofenceuntuk membuat geofence tunggal.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateGeofences", "Effect": "Allow", "Action": [ "geo:BatchPutGeofence", "geo:PutGeofence" ], "Resource": "arn:aws:geo:us-west-2:account-id:geofence-collection/Collection" } ] }

Kebijakan hanya-baca untuk geofences

Untuk membuat kebijakan hanya-baca untuk geofences yang disimpan dalam koleksi geofence di AWS akun Anda, Anda harus memberikan akses ke tindakan yang dibaca dari koleksi geofence yang menyimpan geofences.

Kebijakan di bawah ini memberikan izin untuk tindakan berikut Collection:

  • geo:ListGeofencesuntuk membuat daftar geofences dalam koleksi geofence yang ditentukan.

  • geo:GetGeofenceuntuk mengambil geofence dari koleksi geofence.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GetGeofences", "Effect": "Allow", "Action": [ "geo:ListGeofences", "geo:GetGeofence" ], "Resource": "arn:aws:geo:us-west-2:account-id:geofence-collection/Collection" } ] }

Izin untuk merender sumber daya peta

Untuk memberikan izin yang cukup untuk merender peta, Anda harus memberikan akses ke ubin peta, sprite, mesin terbang, dan deskriptor gaya:

  • geo:GetMapTilemengambil ubin peta yang digunakan untuk secara selektif merender fitur pada peta.

  • geo:GetMapSpritesmengambil lembar PNG sprite dan JSON dokumen terkait yang menjelaskan offset di dalamnya.

  • geo:GetMapGlyphsmengambil glyph yang digunakan untuk menampilkan teks.

  • geo:GetMapStyleDescriptormengambil deskriptor gaya peta, yang berisi aturan rendering.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GetTiles", "Effect": "Allow", "Action": [ "geo:GetMapTile", "geo:GetMapSprites", "geo:GetMapGlyphs", "geo:GetMapStyleDescriptor" ], "Resource": "arn:aws:geo:us-west-2:account-id:map/Map" } ] }

Izin untuk mengizinkan operasi pencarian

Untuk membuat kebijakan untuk mengizinkan operasi penelusuran, Anda harus terlebih dahulu memberikan akses ke sumber daya indeks tempat di AWS akun Anda. Anda juga ingin memberikan akses ke tindakan yang memungkinkan pengguna mencari menggunakan teks dengan geocoding dan mencari menggunakan posisi dengan membalikkan geocoding.

Dalam contoh ini, selain memberikan akses ke PlaceIndex, kebijakan berikut juga memberikan izin untuk tindakan berikut:

  • geo:SearchPlaceIndexForPositionmemungkinkan Anda untuk mencari tempat, atau tempat menarik di dekat posisi tertentu.

  • geo:SearchPlaceIndexForTextmemungkinkan Anda untuk mencari alamat, nama, kota atau wilayah menggunakan teks bentuk bebas.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Search", "Effect": "Allow", "Action": [ "geo:SearchPlaceIndexForPosition", "geo:SearchPlaceIndexForText" ], "Resource": "arn:aws:geo:us-west-2:account-id:place-index/PlaceIndex" } ] }

Kebijakan hanya-baca untuk kalkulator rute

Anda dapat membuat kebijakan hanya-baca untuk memungkinkan pengguna mengakses sumber daya kalkulator rute untuk menghitung rute.

Dalam contoh ini, selain memberikan akses ke ExampleCalculator, kebijakan berikut memberikan izin untuk operasi berikut:

  • geo:CalculateRoutemenghitung rute yang diberikan posisi keberangkatan, posisi tujuan, dan daftar posisi waypoint.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "RoutesReadOnly", "Effect": "Allow", "Action": [ "geo:CalculateRoute" ], "Resource": "arn:aws:geo:us-west-2:accountID:route-calculator/ExampleCalculator" } ] }

Kontrol akses sumber daya berdasarkan tombol kondisi

Saat membuat IAM kebijakan untuk memberikan akses untuk menggunakan geofences atau posisi perangkat, Anda dapat menggunakan operator Kondisi untuk kontrol yang lebih tepat atas geofences atau perangkat mana yang dapat diakses pengguna. Anda dapat melakukannya dengan menyertakan id geofence atau id perangkat di Condition elemen kebijakan Anda.

Contoh kebijakan berikut menunjukkan cara membuat kebijakan yang memungkinkan pengguna memperbarui posisi perangkat untuk perangkat tertentu.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "UpdateDevicePositions", "Effect": "Allow", "Action": [ "geo:BatchUpdateDevicePosition" ], "Resource": [ "arn:aws:geo:us-west-2:account-id:tracker/Tracker" ], "Condition":{ "ForAllValues:StringLike":{ "geo:DeviceIds":[ "deviceId" ] } } } ] }

Kontrol akses sumber daya berdasarkan tag

Saat membuat IAM kebijakan untuk memberikan akses agar dapat menggunakan sumber daya Lokasi Amazon, Anda dapat menggunakan kontrol akses berbasis atribut untuk kontrol yang lebih baik atas sumber daya yang dapat dimodifikasi, digunakan, atau dihapus oleh pengguna. Anda dapat melakukannya dengan menyertakan informasi tag dalam Condition elemen kebijakan Anda untuk mengontrol akses berdasarkan tag sumber daya Anda.

Contoh kebijakan berikut menunjukkan cara membuat kebijakan yang memungkinkan pengguna membuat geofences. Ini memberikan izin untuk tindakan berikut untuk membuat satu atau lebih geofences pada koleksi geofence yang disebut Collection:

  • geo:BatchPutGeofenceuntuk membuat beberapa geofences.

  • geo:PutGeofenceuntuk membuat geofence tunggal.

Namun, kebijakan ini menggunakan Condition elemen untuk memberikan izin hanya jika Collection tagOwner,, memiliki nilai nama pengguna pengguna tersebut.

  • Misalnya, jika pengguna bernama richard-roe mencoba melihat Lokasi Amazon Collection, yang Collection harus ditandai Owner=richard-roe atauowner=richard-roe. Jika tidak, pengguna ditolak aksesnya.

    catatan

    Kunci tanda syarat Owner cocok dengan kedua Owner dan owner karena nama kunci syarat tidak terpengaruh huruf besar/kecil. Untuk informasi selengkapnya, lihat Elemen IAM JSON Kebijakan: Kondisi dalam Panduan IAM Pengguna.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateGeofencesIfOwner", "Effect": "Allow", "Action": [ "geo:BatchPutGeofence", "geo:PutGeofence" ], "Resource": "arn:aws:geo:us-west-2:account-id:geofence-collection/Collection", "Condition": { "StringEquals": {"geo:ResourceTag/Owner": "${aws:username}"} } } ] }

Untuk tutorial tentang cara menentukan izin untuk mengakses AWS sumber daya berdasarkan tag, lihat Panduan AWS Identity and Access Management Pengguna.