

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

# Autentikasi dengan Amazon Location Service
<a name="access"></a>

Untuk menggunakan Amazon Location Service, pengguna harus diberikan akses ke sumber daya dan APIs yang membentuk Amazon Location. Ada tiga strategi yang dapat Anda gunakan untuk memberikan akses ke sumber daya Anda.
+ **Gunakan kunci API** — Untuk memberikan akses ke pengguna yang tidak diautentikasi, Anda dapat membuat kunci API yang memberikan akses hanya-baca ke sumber daya dan tindakan Amazon Location Service Anda. Ini berguna dalam kasus di mana Anda tidak ingin mengautentikasi setiap pengguna. Misalnya, aplikasi web. 

  Untuk informasi selengkapnya tentang kunci API, lihat[Gunakan kunci API untuk mengautentikasi](using-apikeys.md).
+ **Gunakan Amazon Cognito** — Alternatif untuk kunci API adalah dengan menggunakan Amazon Cognito untuk memberikan akses anonim. Amazon Cognito memungkinkan Anda membuat otorisasi yang lebih kaya dengan kebijakan untuk menentukan apa yang dapat dilakukan oleh pengguna yang tidak diautentikasi. 

  Untuk informasi selengkapnya tentang menggunakan Amazon Cognito, lihat. [Gunakan Amazon Cognito untuk mengautentikasi](authenticating-using-cognito.md)
+ **Gunakan AWS Identity and Access Management (IAM)** — Untuk memberikan akses ke pengguna yang diautentikasi dengan AWS IAM Identity Center atau AWS Identity and Access Management (IAM), buat kebijakan IAM yang memungkinkan akses ke sumber daya yang Anda inginkan. 

  Untuk informasi selengkapnya tentang IAM dan Lokasi Amazon, lihat[Gunakan AWS Identity and Access Management untuk mengautentikasi](security-iam.md).

# Pilih metode otentikasi
<a name="choose-method"></a>

Kunci API dan Amazon Cognito digunakan dengan cara yang sama untuk skenario serupa, jadi mengapa Anda memilih satu daripada yang lain? Daftar berikut menyoroti beberapa perbedaan antara keduanya.
+ **Kinerja:**
  + **Kunci API:** Relatif lebih cepat
  + **Amazon Cognito:** Relatif lebih lambat
+ **Ketersediaan:**
  + **Kunci API:** Lokasi Amazon APIs untuk Peta, Tempat, dan Rute
  + **Amazon Cognito**: Semua APIs
+ **Menggabungkan dengan metode otentikasi lain?**
  + **Kunci API:** Tidak
  + **Amazon Cognito**: Ya

**Perbandingan**
+ Kunci API hanya tersedia untuk tindakan peta, tempat, dan rute. Amazon Cognito dapat digunakan untuk mengautentikasi akses ke sebagian besar Amazon Location Service. APIs
+ Performa permintaan peta dengan kunci API biasanya lebih cepat daripada skenario serupa dengan Amazon Cognito. Otentikasi yang lebih sederhana berarti lebih sedikit perjalanan pulang pergi ke layanan dan permintaan cache saat mendapatkan ubin peta yang sama lagi dalam periode waktu singkat.
+ Dengan Amazon Cognito, Anda dapat menggunakan proses otentikasi Anda sendiri atau menggabungkan beberapa metode otentikasi, menggunakan Identitas Federasi Amazon Cognito. 

  Untuk informasi selengkapnya, lihat [Memulai Identitas Federasi di Panduan](https://docs.aws.amazon.com/cognito/latest/developerguide/getting-started-with-identity-pools.html) Pengembang Amazon Cognito.

# Gunakan kunci API untuk mengautentikasi
<a name="using-apikeys"></a>

**catatan**  
Kunci API hanya tersedia untuk digunakan dengan **peta**, **tempat**, dan sumber daya **rute**, dan Anda tidak dapat memodifikasi atau membuat sumber daya tersebut. Jika aplikasi Anda memerlukan akses ke sumber daya atau tindakan lain untuk pengguna yang tidak diautentikasi, Anda dapat menggunakan Amazon Cognito untuk menyediakan akses bersama dengan, atau bukan, kunci API. Untuk informasi selengkapnya, lihat [Gunakan Amazon Cognito untuk mengautentikasi](authenticating-using-cognito.md).

*Kunci API* adalah nilai kunci yang dikaitkan dengan sumber daya atau API Amazon Location Service tertentu di Anda Akun AWS, dan tindakan spesifik yang dapat Anda lakukan pada sumber daya tersebut. Anda dapat menggunakan kunci API dalam aplikasi Anda untuk membuat panggilan yang tidak diautentikasi ke Lokasi Amazon APIs untuk sumber daya tersebut. 

Misalnya, jika Anda mengaitkan kunci API dengan sumber daya and/or `GetPlace*` API, maka aplikasi yang menggunakan kunci API tersebut akan dapat memanggil spesifik APIs. Kunci API yang sama tidak akan memberikan izin untuk mengubah atau memperbarui sumber daya atau panggilan apa pun APIs yang tidak terkait dengannya.

Ketika Anda memanggil Amazon Location Service APIs di aplikasi Anda, Anda biasanya membuat panggilan ini sebagai *pengguna yang diautentikasi* yang diberi wewenang untuk melakukan panggilan API. Namun, ada beberapa kasus di mana Anda tidak ingin mengautentikasi setiap pengguna aplikasi Anda. 

Misalnya, Anda mungkin ingin aplikasi web yang menunjukkan lokasi bisnis Anda tersedia bagi siapa saja yang menggunakan situs web, apakah mereka masuk atau tidak. Dalam hal ini, salah satu alternatifnya adalah menggunakan kunci API untuk melakukan panggilan API.

Lihat [Praktik terbaik kunci API](#api-keys-best-practices) untuk informasi tambahan tentang kapan menggunakan kunci API.

Untuk informasi selengkapnya tentang bekerja dengan kunci menggunakan Amazon Location Service API, lihat topik berikut di *Referensi API Amazon Location Service*:
+ [CreateKey](https://docs.aws.amazon.com/location/latest/APIReference/API_geotags_CreateKey.html)
+ [DeleteKey](https://docs.aws.amazon.com/location/latest/APIReference/API_geotags_DeleteKey.html)
+ [DescribeKey](https://docs.aws.amazon.com/location/latest/APIReference/API_geotags_DescribeKey.html)
+ [ListKeys](https://docs.aws.amazon.com/location/latest/APIReference/API_geotags_ListKeys.html)

## Membuat kunci API untuk Amazon Location Service
<a name="create-api-key"></a>

Anda dapat membuat kunci API melalui Amazon Location Service console AWS CLI, atau Amazon Location API. Lanjutkan dengan prosedur yang sesuai di bawah ini.

------
#### [ Amazon Location console ]

**Untuk membuat kunci API menggunakan konsol Amazon Location Service**

1. Di [https://console.aws.amazon.com/location](https://console.aws.amazon.com/location), pilih **kunci API** dari menu sebelah kiri.

1. Pada halaman **kunci API**, pilih **Create API key**.

1. Pada halaman **Create API key**, isi informasi berikut:
   + **Nama** - Nama untuk kunci API Anda, seperti`ExampleKey`.
   + **Deskripsi — Deskripsi** opsional untuk kunci API Anda.
   + **Sumber Daya** — Di menu tarik-turun, pilih sumber daya Lokasi Amazon untuk diberikan akses dengan kunci API ini. Anda dapat menambahkan lebih dari satu sumber daya dengan memilih **Tambah sumber daya**.
   + **Tindakan** - Tentukan tindakan yang ingin Anda otorisasi dengan kunci API ini. Anda harus memilih setidaknya satu tindakan untuk mencocokkan setiap jenis sumber daya yang telah Anda pilih. Misalnya, jika Anda memilih sumber daya tempat, Anda harus memilih setidaknya salah satu pilihan di bawah **Tindakan Tempat**.
   + **Waktu kedaluwarsa** - Secara opsional, tambahkan tanggal kedaluwarsa dan waktu untuk kunci API Anda. Untuk informasi selengkapnya, lihat [Praktik terbaik kunci API](#api-keys-best-practices).
   + **Pembatasan klien** — Secara opsional, tambahkan satu atau beberapa domain web atau satu atau beberapa aplikasi Android atau Apple tempat Anda dapat menggunakan kunci API. Misalnya, jika kunci API adalah untuk mengizinkan aplikasi berjalan di situs web`example.com`, maka Anda dapat menempatkan `*.example.com/` sebagai perujuk yang diizinkan.
   + **Tag** - Secara opsional, tambahkan tag ke kunci API.

1. Pilih **Buat kunci API** untuk membuat kunci API.

1. Pada halaman detail untuk kunci API, Anda dapat melihat informasi tentang kunci API yang telah Anda buat. Pilih **Tampilkan kunci API** untuk melihat nilai kunci yang Anda gunakan saat memanggil Lokasi Amazon APIs. Nilai kunci akan memiliki format`v1.public.a1b2c3d4...`. 

------
#### [ AWS CLI ]

1. Gunakan perintah [create-key](https://docs.aws.amazon.com/cli/latest/reference/location/create-key.html). Contoh berikut membuat kunci API yang dipanggil tanpa tanggal `ExampleKey` kedaluwarsa dan akses ke sumber daya peta tunggal.

   ```
   aws location \
     create-key \
     --key-name ExampleKey \
     --restrictions '{"AllowActions":["geo-maps:*"],"AllowResources":["arn:aws:geo-maps:region::provider/default"]}' \
     --no-expiry
   ```

1. Responsnya mencakup nilai kunci API yang akan digunakan saat mengakses sumber daya di aplikasi Anda. Nilai kunci akan memiliki format`v1.public.a1b2c3d4...`. Untuk mempelajari selengkapnya tentang menggunakan kunci API untuk merender peta, lihat[Menggunakan kunci API untuk memanggil Amazon Location API](#using-apikeys-in-api). Respons terhadap create-key terlihat seperti berikut:

   ```
   {
       "Key": "v1.public.a1b2c3d4...",
       "KeyArn": "arn:aws:geo:region:accountId:api-key/ExampleKey",
       "KeyName": "ExampleKey",
       "CreateTime": "2023-02-06T22:33:15.693Z"
   }
   ```

1. Anda juga dapat menggunakan `describe-key` untuk menemukan nilai kunci di lain waktu. Contoh berikut menunjukkan cara memanggil `describe-key` kunci API bernama`ExampleKey`.

   ```
   aws location describe-key \
       --key-name ExampleKey
   ```

------
#### [ Amazon Location API ]

Gunakan [CreateKey](https://docs.aws.amazon.com/location/latest/APIReference/API_geotags_CreateKey.html)operasi dari Lokasi Amazon APIs. Contoh berikut adalah permintaan API untuk membuat kunci API yang dipanggil tanpa tanggal `ExampleKey` kedaluwarsa dan akses ke sumber daya peta tunggal.

```
POST /metadata/v0/keys HTTP/1.1
Content-type: application/json
{
  "KeyName": "ExampleKey",
  "NoExpiry": true,
  "Restrictions": {
    "AllowActions": [
      "geo-places:*",
      "geo-routes:*",
      "geo-maps:*"
    ],
    "AllowResources": [
      "arn:aws:geo-places:Region::provider/default",
      "arn:aws:geo-routes:Region::provider/default",
      "arn:aws:geo-maps:Region::provider/default"
    ]
  }
}
```

Responsnya mencakup nilai kunci API yang akan digunakan saat mengakses sumber daya di aplikasi Anda. Nilai kunci akan dimilikiformat. `v1.public.a1b2c3d4...`

Anda juga dapat menggunakan [DescribeKey](https://docs.aws.amazon.com/location/latest/APIReference/API_geotags_DescribeKey.html)API untuk menemukan nilai kunci untuk kunci di lain waktu.

------

## Menggunakan kunci API untuk memanggil Amazon Location API
<a name="using-apikeys-in-api"></a>

Setelah membuat kunci API, Anda dapat menggunakan nilai kunci untuk melakukan panggilan ke Lokasi Amazon APIs di aplikasi Anda.

------
#### [ API ]

Kunci API APIs yang mendukung memiliki parameter tambahan yang mengambil nilai kunci API. Misalnya, jika Anda memanggil `GetPlace` API, Anda dapat mengisi parameter [kunci](https://docs.aws.amazon.com/location/latest/APIReference/API_geoplaces_GetPlace.html), sebagai berikut

```
curl --request GET —url 'https://places.geo.eu-central-1.amazonaws.com/v2/place/{PLACEID}?key={APIKEY}&language=jp'
```

------
#### [ AWS CLI ]

Bila Anda menggunakan `--key` parameter, Anda juga harus menggunakan `--no-sign-request` parameter, untuk menghindari penandatanganan dengan Sig v4.

```
aws geo-places get-place --place-id $PLACEID --language jp --key $APIKEY
```

------
#### [ SDK (web) ]

Gunakan kode berikut:

```
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Display a map</title>
        <meta property="og:description" content="Initialize a map in an HTML element with MapLibre GL JS." />
        <meta charset='utf-8'>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel='stylesheet' href='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.css' />
        <script src='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.js'></script>
        <style>
            body { margin: 0; }
            #map { height: 100vh; }
        </style>
    </head>
    <body>
         
        <div id="map"></div>
        <script>
     
            const apiKey = "<api key>"; // check how to create api key for Amazon Location
            const mapStyle = "Standard";  // eg. Standard, Monochrome, Hybrid, Satellite  
            const awsRegion = "eu-central-1"; // eg. us-east-2, us-east-1, us-west-2, ap-south-1, ap-southeast-1, ap-southeast-2, ap-northeast-1, ca-central-1, eu-central-1, eu-west-1, eu-west-2, eu-south-2, eu-north-1, sa-east-1
            const styleUrl = `https://maps.geo.${awsRegion}.amazonaws.com/v2/styles/${mapStyle}/descriptor?key=${apiKey}`;


            const map = new maplibregl.Map({
                container: 'map', // container id
                style: styleUrl, // style URL
                center: [25.24,36.31], // starting position [lng, lat]
                zoom: 2, // starting zoom
            });
        </script>
    </body>
</html>
```

------
#### [ SDK (iOS, Swift) ]

Gunakan kode berikut:

```
import UIKit
import MapLibre

class ViewController: UIViewController {
    let apiKey = "Enter your API key" // The previously-created API Key to use
    let regionName = "Enter your region name" // The service region - us-east-1, ap-south-1, etc
    var mapView: MLNMapView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        loadMap()
    }
    
    func loadMap() {
        let styleName = "Standard" // The map style - Standard, Monochrome, Hybrid, Satellite
        let colorName = "Light" // The color scheme - Light, Dark
        
        // The Amazon Location Service map style URL that MapLibre will use to render the maps.
        let styleURL = URL(string: "https://maps.geo.\(regionName).amazonaws.com/v2/styles/\(styleName)/descriptor?key=\(apiKey)&color-scheme=\(colorName)")

        // Initialize MapLibre        
        mapView = MLNMapView(frame: view.bounds)
        mapView.styleURL = styleURL
        mapView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
        // Set the starting camera position and zoom level for the map
        mapView.setCenter(CLLocationCoordinate2D(latitude: 49.246559, longitude: -123.063554), zoomLevel: 10, animated: false)
        view.addSubview(mapView!)
    }
}
```

------
#### [ SDK (Android, Kotlin) ]

Gunakan kode berikut:

```
class MapActivity : Activity(), OnMapReadyCallback {

    private lateinit var mBinding: ActivityMapBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        initializeMap(savedInstanceState)
    }

    private fun initializeMap(savedInstanceState: Bundle?) {
        // Init MapLibre
        // See the MapLibre Getting Started Guide for more details
        // https://maplibre.org/maplibre-native/docs/book/android/getting-started-guide.html
        MapLibre.getInstance(this@MapActivity)
        mBinding = ActivityMapBinding.inflate(layoutInflater)
        setContentView(mBinding.root)
        mBinding.mapView.onCreate(savedInstanceState)
        mBinding.mapView.getMapAsync(this)
    }

    override fun onMapReady(mapLibreMap: MapLibreMap) {
        mapLibreMap.setStyle(Style.Builder().fromUri(getMapUrl())) {
            // Set the starting camera position
            mapLibreMap.cameraPosition = CameraPosition.Builder().target(LatLng(49.246559, -123.063554)).zoom(10.0).build()
            mapLibreMap.uiSettings.isLogoEnabled = false
            mapLibreMap.uiSettings.attributionGravity = Gravity.BOTTOM or Gravity.END
            mapLibreMap.uiSettings.setAttributionDialogManager(AttributionDialogManager(this, mapLibreMap))
        }
    }

    // Return the Amazon Location Service map style URL
    // MapLibre will use this to render the maps.
    // awsRegion: The service region - us-east-1, ap-south-1, etc
    // mapStyle: The map style - Standard, Monochrome, Hybrid, Satellite  
    // API_KEY: The previously-created API Key to use
    // colorName: The color scheme to use - Light, Dark
    private fun getMapUrl() =
           "https://maps.geo.${getString(R.string.awsRegion)}.amazonaws.com/v2/styles/${getString(R.string.mapStyle)}/descriptor?key=${BuildConfig.API_KEY}&color-scheme=${getString(R.string.colorName)}"

    override fun onStart() {
        super.onStart()
        mBinding.mapView.onStart()
    }

    override fun onResume() {
        super.onResume()
        mBinding.mapView.onResume()
    }

    override fun onPause() {
        super.onPause()
        mBinding.mapView.onPause()
    }

    override fun onStop() {
        super.onStop()
        mBinding.mapView.onStop()
    }

    override fun onSaveInstanceState(outState: Bundle) {
        super.onSaveInstanceState(outState)
        mBinding.mapView.onSaveInstanceState(outState)
    }

    override fun onLowMemory() {
        super.onLowMemory()
        mBinding.mapView.onLowMemory()
    }

    override fun onDestroy() {
        super.onDestroy()
        mBinding.mapView.onDestroy()
    }
}
```

------

## Batasi penggunaan kunci API berdasarkan asal permintaan
<a name="restrict-usage-by-origin"></a>

Anda dapat mengonfigurasi kunci API dengan batasan klien yang membatasi akses ke domain atau aplikasi seluler tertentu. Saat membatasi berdasarkan domain, permintaan akan diotorisasi hanya jika header HTTP Referer cocok dengan nilai yang Anda berikan. Saat membatasi oleh aplikasi Android atau Apple, permintaan akan diotorisasi hanya jika bidang header HTTP pengenal aplikasi cocok dengan nilai yang Anda berikan.

Untuk informasi selengkapnya, lihat [ApiKeyRestrictions](https://docs.aws.amazon.com/location/latest/APIReference/API_geotags_ApiKeyRestrictions.html)di *Referensi API Amazon Location Service*.

**Pengidentifikasi aplikasi Android:**
+ `X-Android-Package`:

  Pengenal unik untuk aplikasi Android, yang ditentukan dalam `build.gradle` file aplikasi, biasanya mengikuti format domain terbalik.

  Contoh:

  `com.mydomain.appname`
+ `X-Android-Cert`:

  Hash SHA-1 dari sertifikat penandatanganan yang digunakan untuk menandatangani APK Android.

  Contoh:

  `BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75`

**Pengidentifikasi aplikasi Apple:**
+ `X-Apple-Bundle-Id `:

  Pengenal unik untuk aplikasi Apple (iOS, macOS, dll.), yang ditentukan dalam aplikasi`Info.plist`, biasanya mengikuti format domain terbalik.

  Contoh:

  `com.mydomain.appname`

## Praktik terbaik kunci API
<a name="api-keys-best-practices"></a>

Kunci API menyertakan *nilai* teks biasa yang memberikan akses ke satu atau beberapa sumber daya atau APIs di sumber daya Anda Akun AWS. Jika seseorang menyalin kunci API Anda, mereka dapat mengakses sumber daya yang sama dan APIs. Untuk meminimalkan dampak potensial, tinjau praktik terbaik berikut:
+ **Batasi kunci API**

  Untuk menghindari situasi di atas, yang terbaik adalah membatasi kunci API Anda. Saat membuat kunci, Anda dapat menentukan domain, aplikasi Android, atau aplikasi Apple tempat kunci tersebut dapat digunakan.
+ **Kelola masa pakai kunci API**

  Anda dapat membuat kunci API yang berfungsi tanpa batas waktu. Namun, jika Anda ingin membuat kunci API sementara, memutar kunci API secara teratur, atau mencabut kunci API yang ada, Anda dapat menggunakan kedaluwarsa *kunci API*.
  + Anda dapat mengatur waktu kedaluwarsa untuk kunci API saat membuat atau memperbaruinya.
  + Ketika kunci API mencapai waktu kedaluwarsa, kunci secara otomatis dinonaktifkan. Kunci tidak aktif tidak lagi dapat digunakan untuk membuat permintaan.
  + Anda dapat mengubah kunci sementara menjadi kunci permanen dengan menghapus waktu kedaluwarsa.
  + Anda dapat menghapus kunci API 90 hari setelah menonaktifkannya.
  + Jika Anda mencoba menonaktifkan kunci API yang telah digunakan dalam tujuh hari terakhir, Anda akan diminta untuk mengonfirmasi bahwa Anda ingin melakukan perubahan. 

    Jika Anda menggunakan Amazon Location Service API atau AWS CLI, atur `ForceUpdate` parameternya ke`true`, jika tidak, Anda akan menerima kesalahan.

# Gunakan Amazon Cognito untuk mengautentikasi
<a name="authenticating-using-cognito"></a>

Anda dapat menggunakan otentikasi Amazon Cognito sebagai alternatif untuk langsung menggunakan pengguna AWS Identity and Access Management (IAM) dengan permintaan SDK frontend. 

Amazon Cognito menyediakan otentikasi, otorisasi, dan manajemen pengguna untuk aplikasi web dan seluler. Anda dapat menggunakan kumpulan identitas Amazon Cognito yang tidak diautentikasi dengan Lokasi Amazon sebagai cara bagi aplikasi untuk mengambil kredenal sementara yang tercakup ke bawah. AWS 

Untuk informasi selengkapnya, lihat [Memulai Kumpulan Pengguna](https://docs.aws.amazon.com/cognito/latest/developerguide/getting-started-user-pools.html) di Panduan *Pengembang Amazon Cognito*.

Anda mungkin ingin menggunakan bentuk otentikasi ini karena alasan berikut:
+ **Pengguna yang tidak diautentikasi** — Jika Anda memiliki situs web dengan pengguna anonim, Anda dapat menggunakan kumpulan identitas Amazon Cognito. 

  Untuk informasi lebih lanjut, lihat bagian di[Gunakan Amazon Cognito untuk mengautentikasi](#authenticating-using-cognito). 
+ **Otentikasi Anda sendiri** — Jika Anda ingin menggunakan proses otentikasi Anda sendiri, atau menggabungkan beberapa metode otentikasi, Anda dapat menggunakan Identitas Federasi Amazon Cognito. 

  Untuk informasi selengkapnya, lihat [Memulai Identitas Federasi di Panduan](https://docs.aws.amazon.com/cognito/latest/developerguide/getting-started-with-identity-pools.html) Pengembang *Amazon Cognito*.

## Gunakan Amazon Cognito dan Amazon Location Service
<a name="cognito-and-location"></a>

Anda dapat menggunakan kebijakan AWS Identity and Access Management (IAM) yang terkait dengan peran identitas yang tidak diautentikasi dengan tindakan berikut:

------
#### [ Maps ]

Daftar tindakan peta
+ `geo-maps:GetStaticMap`
+ `geo-maps:GetTile`

**catatan**  
Nama sumber daya untuk tindakan di atas adalah:  

```
arn:aws:geo-maps:region::provider/default
```

------
#### [ Places ]

Daftar tindakan tempat:
+ `geo-places:Geocode`
+ `geo-places:ReverseGeocode`
+ `geo-places:SearchNearby`
+ `geo-places:SearchText`
+ `geo-places:Autocomplete`
+ `geo-places:Suggest`
+ `geo-places:GetPlace`

**catatan**  
Nama sumber daya untuk tindakan di atas adalah:  

```
arn:aws:geo-places:region::provider/default
```

------
#### [ Routes ]

Daftar tindakan rute:
+ `geo-routes:CalculateRoutes`
+ `geo-routes:CalculateRouteMatrix`
+ `geo-routes:CalculateIsolines`
+ `geo-routes:OptimizeWaypoints`
+ `geo-routes:SnapToRoads`

**catatan**  
Nama sumber daya untuk tindakan di atas adalah:  

```
arn:aws:geo-routes:region::provider/default
```

------
#### [ Geofences and Trackers ]

Daftar tindakan Geofences dan Trackers
+ `geo:GetGeofence`
+ `geo:ListGeofences`
+ `geo:PutGeofence`
+ `geo:BatchDeleteGeofence`
+ `geo:BatchPutGeofence`
+ `geo:BatchEvaluateGeofences`
+ `geo:GetDevicePosition*`
+ `geo:ListDevicePositions`
+ `geo:BatchDeleteDevicePositionHistory`
+ `geo:BatchGetDevicePosition`
+ `geo:BatchUpdateDevicePosition`

**catatan**  
Nama sumber daya untuk tindakan di atas adalah:  

```
arn:aws:geo:region:accountID:tracker/ExampleTracker
```

------
#### [ Previous version ]

Daftar tindakan versi sebelumnya:
+ `geo:GetMap*`
+ `geo:SearchPlaceIndexForText`
+ `geo:SearchPlaceIndexForPosition`
+ `geo:GetPlace`
+ `geo:CalculateRoute`
+ `geo:CalculateRouteMatrix`

**catatan**  
Nama sumber daya untuk tindakan di atas adalah:  
**Peta**  

```
arn:aws:geo:region:accountID:map/ExampleMap
```
**Tempat**  

```
arn:aws:geo:region:accountID:place-index/ExamplePlaceIndex
```
**Rute**  

```
arn:aws:geo:region:accountID:route-calculator/ExampleCalculator
```

------

## Buat kumpulan identitas Amazon Cognito
<a name="cognito-create-user-pool"></a>

Anda dapat membuat kumpulan identitas Amazon Cognito untuk mengizinkan akses tamu yang tidak diautentikasi ke aplikasi Anda melalui konsol Amazon Cognito, the, atau AWS CLI Amazon Cognito. APIs

**penting**  
Kumpulan yang Anda buat harus sama Akun AWS dan AWS Wilayah sebagai sumber daya Amazon Location Service yang Anda gunakan.

------
#### [ Console ]

**Untuk membuat kumpulan identitas menggunakan konsol Amazon Cognito**

1. Masuk ke [Konsol Amazon Cognito](https://console.aws.amazon.com/cognito/home).

1. Pilih **Kelola Kolam Identitas**.

1. Pilih **Buat kumpulan identitas baru**, lalu masukkan nama untuk kumpulan identitas Anda.

1. Dari bagian Identitas **tidak diautentikasi yang dapat dilipat, pilih **Aktifkan akses ke** identitas** yang tidak diautentikasi.

1. Pilih **Buat kolam**.

1. Pilih peran IAM mana yang ingin Anda gunakan dengan kumpulan identitas Anda.

1. Perluas **Lihat Detail**. 

1. Di bawah **Identitas tidak diautentikasi**, masukkan nama peran.

1. Perluas bagian **Lihat Dokumen Kebijakan**, lalu pilih **Edit** untuk menambahkan kebijakan Anda.

1. Tambahkan kebijakan Anda untuk memberikan akses ke sumber daya Anda.
**catatan**  
Lihat [Gunakan Amazon Cognito dan Amazon Location Service](#cognito-and-location) bagian di atas untuk daftar tindakan.

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
     Sid": "RoutesReadOnly",
     Effect": "Allow",
     Action": [
           // add comma separated value from the previous section
         ],
     Resource": "value from previous section"
       }
     ]
   }
   ```

1. Pilih **Izinkan** untuk membuat kumpulan identitas Anda.

------

## Gunakan kumpulan identitas Amazon Cognito di web
<a name="identity-pool-js"></a>

Contoh berikut menukar kumpulan identitas yang tidak diautentikasi yang Anda buat untuk kredensi yang kemudian digunakan untuk memanggil. `CalculateIsolines` Untuk menyederhanakan pekerjaan ini, contoh menggunakan [Cara menggunakan pembantu otentikasi](how-to-auth-helper.md) prosedur Lokasi Amazon. Ini menggantikan mendapatkan dan menyegarkan kredensialnya.

Contoh ini menggunakan AWS SDK untuk JavaScript v3.

```
import { GeoRoutesClient, CalculateIsolinesCommand , } from "@aws-sdk/client-geo-routes"; // ES Modules import
import { withIdentityPoolId } from "@aws/amazon-location-utilities-auth-helper";

const identityPoolId = "<identity pool ID>"; // for example, us-east-1:1sample4-5678-90ef-aaaa-1234abcd56ef

const authHelper = await withIdentityPoolId(identityPoolId);

const client = new GeoRoutesClient({
    ...authHelper.getClientConfig(),
    region: "<region>", // The region containing the identity pool
});

const input = {
    DepartNow: true,
    TravelMode: "Car",
    Origin: [-123.12327, 49.27531],
    Thresholds: {
        Time: [5, 10, 30],
    },
};

const command = new CalculateIsolinesCommand(input);
const response = await client.send(command);

console.log(JSON.stringify(response, null, 2))
```

# Gunakan AWS Identity and Access Management untuk mengautentikasi
<a name="security-iam"></a>





AWS Identity and Access Management (IAM) adalah Layanan AWS yang membantu administrator mengontrol akses ke AWS sumber daya dengan aman. Administrator IAM mengontrol siapa yang dapat *diautentikasi* (masuk) dan *diotorisasi* (memiliki izin) untuk menggunakan sumber daya Lokasi Amazon. IAM adalah Layanan AWS yang dapat Anda gunakan tanpa biaya tambahan.

**Topics**
+ [Audiens](#security_iam_audience)
+ [Mengautentikasi dengan identitas](#security_iam_authentication)
+ [Mengelola akses menggunakan kebijakan](#security_iam_access-manage)
+ [Bagaimana Amazon Location Service bekerja dengan IAM](#security_iam_service-with-iam)
+ [Cara Amazon Location Service bekerja dengan pengguna yang tidak diautentikasi](#security_iam_unauthenticated-users)
+ [Contoh kebijakan berbasis identitas untuk Amazon Location Service](#security_iam_id-based-policy-examples)
+ [Memecahkan masalah identitas dan akses Amazon Location Service](#security_iam_troubleshoot)

## Audiens
<a name="security_iam_audience"></a>

Cara Anda menggunakan AWS Identity and Access Management (IAM) berbeda berdasarkan peran Anda:
+ **Pengguna layanan** - minta izin dari administrator Anda jika Anda tidak dapat mengakses fitur (lihat [Memecahkan masalah identitas dan akses Amazon Location Service](#security_iam_troubleshoot))
+ **Administrator layanan** - tentukan akses pengguna dan mengirimkan permintaan izin (lihat [Bagaimana Amazon Location Service bekerja dengan IAM](#security_iam_service-with-iam))
+ **Administrator IAM** - tulis kebijakan untuk mengelola akses (lihat [Contoh kebijakan berbasis identitas untuk Amazon Location Service](#security_iam_id-based-policy-examples))

## Mengautentikasi dengan identitas
<a name="security_iam_authentication"></a>

Otentikasi adalah cara Anda masuk AWS menggunakan kredensi identitas Anda. Anda harus diautentikasi sebagai Pengguna root akun AWS, pengguna IAM, atau dengan mengasumsikan peran IAM.

Anda dapat masuk sebagai identitas federasi menggunakan kredensional dari sumber identitas seperti AWS IAM Identity Center (Pusat Identitas IAM), autentikasi masuk tunggal, atau kredensional. Google/Facebook Untuk informasi selengkapnya tentang cara masuk, lihat [Cara masuk ke Akun AWS Anda](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) dalam *Panduan Pengguna AWS Sign-In *.

Untuk akses terprogram, AWS sediakan SDK dan CLI untuk menandatangani permintaan secara kriptografis. Untuk informasi selengkapnya, lihat [AWS Signature Version 4 untuk permintaan API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) dalam *Panduan Pengguna IAM*.

### Akun AWS pengguna root
<a name="security_iam_authentication-rootuser"></a>

 Saat Anda membuat Akun AWS, Anda mulai dengan satu identitas masuk yang disebut *pengguna Akun AWS root* yang memiliki akses lengkap ke semua Layanan AWS dan sumber daya. Kami sangat menyarankan agar Anda tidak menggunakan pengguna root untuk tugas sehari-hari. Untuk tugas yang memerlukan kredensial pengguna root, lihat [Tugas yang memerlukan kredensial pengguna root](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) dalam *Panduan Pengguna IAM*. 

### Identitas terfederasi
<a name="security_iam_authentication-federated"></a>

Sebagai praktik terbaik, mewajibkan pengguna manusia untuk menggunakan federasi dengan penyedia identitas untuk mengakses Layanan AWS menggunakan kredensi sementara.

*Identitas federasi* adalah pengguna dari direktori perusahaan Anda, penyedia identitas web, atau Directory Service yang mengakses Layanan AWS menggunakan kredensi dari sumber identitas. Identitas terfederasi mengambil peran yang memberikan kredensial sementara.

Untuk manajemen akses terpusat, kami menyarankan AWS IAM Identity Center. Untuk informasi selengkapnya, lihat [Apa itu Pusat Identitas IAM?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) dalam *Panduan Pengguna AWS IAM Identity Center *.

### Pengguna dan grup IAM
<a name="security_iam_authentication-iamuser"></a>

*[Pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)* adalah identitas dengan izin khusus untuk satu orang atau aplikasi. Sebaiknya gunakan kredensial sementara alih-alih pengguna IAM dengan kredensial jangka panjang. Untuk informasi selengkapnya, lihat [Mewajibkan pengguna manusia untuk menggunakan federasi dengan penyedia identitas untuk mengakses AWS menggunakan kredensi sementara](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) di Panduan Pengguna *IAM*.

[https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) menentukan kumpulan pengguna IAM dan mempermudah pengelolaan izin untuk pengguna dalam jumlah besar. Untuk mempelajari selengkapnya, lihat [Kasus penggunaan untuk pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html) dalam *Panduan Pengguna IAM*.

### Peran IAM
<a name="security_iam_authentication-iamrole"></a>

*[Peran IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)* adalah identitas dengan izin khusus yang menyediakan kredensial sementara. Anda dapat mengambil peran dengan [beralih dari pengguna ke peran IAM (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) atau dengan memanggil operasi AWS CLI atau AWS API. Untuk informasi selengkapnya, lihat [Metode untuk mengambil peran](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) dalam *Panduan Pengguna IAM*.

Peran IAM berguna untuk akses pengguna terfederasi, izin pengguna IAM sementara, akses lintas akun, akses lintas layanan, dan aplikasi yang berjalan di Amazon EC2. Untuk informasi selengkapnya, lihat [Akses sumber daya lintas akun di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) dalam *Panduan Pengguna IAM*.

## Mengelola akses menggunakan kebijakan
<a name="security_iam_access-manage"></a>

Anda mengontrol akses AWS dengan membuat kebijakan dan melampirkannya ke AWS identitas atau sumber daya. Kebijakan menentukan izin saat dikaitkan dengan identitas atau sumber daya. AWS mengevaluasi kebijakan ini ketika kepala sekolah membuat permintaan. Sebagian besar kebijakan disimpan AWS sebagai dokumen JSON. Untuk informasi selengkapnya tentang dokumen kebijakan JSON, lihat [Gambaran umum kebijakan JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) dalam *Panduan Pengguna IAM*.

Menggunakan kebijakan, administrator menentukan siapa yang memiliki akses ke apa dengan mendefinisikan **principal** mana yang dapat melakukan **tindakan** pada **sumber daya** apa, dan dalam **kondisi** apa.

Secara default, pengguna dan peran tidak memiliki izin. Administrator IAM membuat kebijakan IAM dan menambahkannya ke peran, yang kemudian dapat diambil oleh pengguna. Kebijakan IAM mendefinisikan izin terlepas dari metode yang Anda gunakan untuk melakukan operasinya.

### Kebijakan berbasis identitas
<a name="security_iam_access-manage-id-based-policies"></a>

Kebijakan berbasis identitas adalah dokumen kebijakan izin JSON yang Anda lampirkan ke identitas (pengguna, grup, atau peran). Kebijakan ini mengontrol tindakan apa yang bisa dilakukan oleh identitas tersebut, terhadap sumber daya yang mana, dan dalam kondisi apa. Untuk mempelajari cara membuat kebijakan berbasis identitas, lihat [Tentukan izin IAM kustom dengan kebijakan yang dikelola pelanggan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) dalam *Panduan Pengguna IAM*.

Kebijakan berbasis identitas dapat berupa *kebijakan inline* (disematkan langsung ke dalam satu identitas) atau *kebijakan terkelola* (kebijakan mandiri yang dilampirkan pada banyak identitas). Untuk mempelajari cara memilih antara kebijakan terkelola dan kebijakan inline, lihat [Pilih antara kebijakan terkelola dan kebijakan inline](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html) dalam *Panduan Pengguna IAM*.

### Kebijakan berbasis sumber daya
<a name="security_iam_access-manage-resource-based-policies"></a>

Kebijakan berbasis sumber daya adalah dokumen kebijakan JSON yang Anda lampirkan ke sumber daya. Contohnya termasuk *kebijakan kepercayaan peran IAM* dan *kebijakan bucket* Amazon S3. Dalam layanan yang mendukung kebijakan berbasis sumber daya, administrator layanan dapat menggunakannya untuk mengontrol akses ke sumber daya tertentu. Anda harus [menentukan principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) dalam kebijakan berbasis sumber daya.

Kebijakan berbasis sumber daya merupakan kebijakan inline yang terletak di layanan tersebut. Anda tidak dapat menggunakan kebijakan AWS terkelola dari IAM dalam kebijakan berbasis sumber daya.

### Jenis-jenis kebijakan lain
<a name="security_iam_access-manage-other-policies"></a>

AWS mendukung jenis kebijakan tambahan yang dapat menetapkan izin maksimum yang diberikan oleh jenis kebijakan yang lebih umum:
+ **Batasan izin** – Menetapkan izin maksimum yang dapat diberikan oleh kebijakan berbasis identitas kepada entitas IAM. Untuk informasi selengkapnya, lihat [Batasan izin untuk entitas IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) dalam *Panduan Pengguna IAM*.
+ **Kebijakan kontrol layanan (SCPs)** — Tentukan izin maksimum untuk organisasi atau unit organisasi di AWS Organizations. Untuk informasi selengkapnya, lihat [Kebijakan kontrol layanan](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) dalam *Panduan Pengguna AWS Organizations *.
+ **Kebijakan kontrol sumber daya (RCPs)** — Tetapkan izin maksimum yang tersedia untuk sumber daya di akun Anda. Untuk informasi selengkapnya, lihat [Kebijakan kontrol sumber daya (RCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) di *Panduan AWS Organizations Pengguna*.
+ **Kebijakan sesi** – Kebijakan lanjutan yang diteruskan sebagai parameter saat membuat sesi sementara untuk peran atau pengguna terfederasi. Untuk informasi selengkapnya, lihat [Kebijakan sesi](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) dalam *Panduan Pengguna IAM*.

### Berbagai jenis kebijakan
<a name="security_iam_access-manage-multiple-policies"></a>

Ketika beberapa jenis kebijakan berlaku pada suatu permintaan, izin yang dihasilkan lebih rumit untuk dipahami. Untuk mempelajari cara AWS menentukan apakah akan mengizinkan permintaan saat beberapa jenis kebijakan terlibat, lihat [Logika evaluasi kebijakan](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) di *Panduan Pengguna IAM*.

## Bagaimana Amazon Location Service bekerja dengan IAM
<a name="security_iam_service-with-iam"></a>

Sebelum Anda menggunakan IAM untuk mengelola akses ke Lokasi Amazon, pelajari fitur IAM apa yang tersedia untuk digunakan dengan Lokasi Amazon.






**Fitur IAM yang dapat Anda gunakan dengan Amazon Location Service**  

| Fitur IAM | Dukungan Lokasi Amazon | 
| --- | --- | 
|  [Kebijakan berbasis identitas untuk Lokasi Amazon](#security_iam_service-with-iam-id-based-policies)  |   Ya  | 
|  [Kebijakan berbasis sumber daya](#security_iam_service-with-iam-resource-based-policies)  |   Tidak   | 
|  [Tindakan kebijakan](#security_iam_service-with-iam-id-based-policies-actions)  |   Ya  | 
|  [Sumber daya kebijakan](#security_iam_service-with-iam-id-based-policies-resources)  |   Ya  | 
|  [kunci-kunci persyaratan kebijakan (spesifik layanan)](#security_iam_service-with-iam-id-based-policies-conditionkeys)  |   Ya  | 
|  [ACLs](#security_iam_service-with-iam-acls)  |   Tidak   | 
|  [ABAC (tanda dalam kebijakan)](#security_iam_service-with-iam-tags)  |   Ya  | 
|  [Kredensial sementara](#security_iam_service-with-iam-roles-tempcreds)  |   Ya  | 
|  [Izin principal](#security_iam_service-with-iam-principal-permissions)  |   Tidak   | 
|  [Peran layanan](#security_iam_service-with-iam-roles-service)  |   Tidak   | 
|  [Peran terkait layanan](#security_iam_service-with-iam-roles-service-linked)  |   Tidak   | 

Untuk mendapatkan tampilan tingkat tinggi tentang cara kerja Lokasi Amazon dan AWS layanan lainnya dengan sebagian besar fitur IAM, lihat [AWS layanan yang bekerja dengan IAM di Panduan Pengguna *IAM*](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html).

### Kebijakan berbasis identitas untuk Lokasi Amazon
<a name="security_iam_service-with-iam-id-based-policies"></a>

**Mendukung kebijakan berbasis identitas**: Ya

Kebijakan berbasis identitas adalah dokumen kebijakan izin JSON yang dapat Anda lampirkan ke sebuah identitas, seperti pengguna IAM, grup pengguna IAM, atau peran IAM. Kebijakan ini mengontrol jenis tindakan yang dapat dilakukan oleh pengguna dan peran, di sumber daya mana, dan berdasarkan kondisi seperti apa. Untuk mempelajari cara membuat kebijakan berbasis identitas, lihat [Tentukan izin IAM kustom dengan kebijakan terkelola pelanggan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) dalam *Panduan Pengguna IAM*.

Dengan kebijakan berbasis identitas IAM, Anda dapat menentukan secara spesifik apakah tindakan dan sumber daya diizinkan atau ditolak, serta kondisi yang menjadi dasar dikabulkan atau ditolaknya tindakan tersebut. Untuk mempelajari semua elemen yang dapat Anda gunakan dalam kebijakan JSON, lihat [Referensi elemen kebijakan JSON IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) dalam *Panduan Pengguna IAM*.

#### Contoh kebijakan berbasis identitas untuk Lokasi Amazon
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Untuk melihat contoh kebijakan berbasis identitas Lokasi Amazon, lihat. [Contoh kebijakan berbasis identitas untuk Amazon Location Service](#security_iam_id-based-policy-examples)

### Kebijakan berbasis sumber daya dalam Lokasi Amazon
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**Mendukung kebijakan berbasis sumber daya:** Tidak 

Kebijakan berbasis sumber daya adalah dokumen kebijakan JSON yang Anda lampirkan ke sumber daya. Contoh kebijakan berbasis sumber daya adalah *kebijakan kepercayaan peran* IAM dan *kebijakan bucket* Amazon S3. Dalam layanan yang mendukung kebijakan berbasis sumber daya, administrator layanan dapat menggunakannya untuk mengontrol akses ke sumber daya tertentu. Untuk sumber daya tempat kebijakan dilampirkan, kebijakan menentukan tindakan apa yang dapat dilakukan oleh principal tertentu pada sumber daya tersebut dan dalam kondisi apa. Anda harus [menentukan principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) dalam kebijakan berbasis sumber daya. Prinsipal dapat mencakup akun, pengguna, peran, pengguna federasi, atau. Layanan AWS

Untuk mengaktifkan akses lintas akun, Anda dapat menentukan secara spesifik seluruh akun atau entitas IAM di akun lain sebagai principal dalam kebijakan berbasis sumber daya. Untuk informasi selengkapnya, lihat [Akses sumber daya lintas akun di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) dalam *Panduan Pengguna IAM*.

### Tindakan kebijakan untuk Lokasi Amazon
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**Mendukung tindakan kebijakan:** Ya

Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, di mana **utama** dapat melakukan **tindakan** pada **sumber daya**, dan dalam **kondisi apa**.

Elemen `Action` dari kebijakan JSON menjelaskan tindakan yang dapat Anda gunakan untuk mengizinkan atau menolak akses dalam sebuah kebijakan. Sertakan tindakan dalam kebijakan untuk memberikan izin untuk melakukan operasi terkait.



Untuk melihat daftar tindakan Lokasi Amazon, lihat [Tindakan yang Ditentukan oleh Amazon Location Service](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonlocation.html#amazonlocation-actions-as-permissions) di *Referensi Otorisasi Layanan*.

Tindakan kebijakan di Lokasi Amazon menggunakan awalan berikut sebelum tindakan:

```
geo
```

Untuk menetapkan secara spesifik beberapa tindakan dalam satu pernyataan, pisahkan tindakan tersebut dengan koma.

```
"Action": [
      "geo:action1",
      "geo:action2"
         ]
```





Anda juga dapat menentukan beberapa tindakan menggunakan wildcard (\$1). Sebagai contoh, untuk menentukan semua tindakan yang dimulai dengan kata `Get`, sertakan tindakan berikut:

```
"Action": "geo:Get*"
```

Untuk melihat contoh kebijakan berbasis identitas Lokasi Amazon, lihat. [Contoh kebijakan berbasis identitas untuk Amazon Location Service](#security_iam_id-based-policy-examples)

### Sumber daya kebijakan untuk Lokasi Amazon
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**Mendukung sumber daya kebijakan:** Ya

Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, di mana **utama** dapat melakukan **tindakan** pada **sumber daya**, dan dalam **kondisi apa**.

Elemen kebijakan JSON `Resource` menentukan objek yang menjadi target penerapan tindakan. Praktik terbaiknya, tentukan sumber daya menggunakan [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). Untuk tindakan yang tidak mendukung izin di tingkat sumber daya, gunakan wildcard (\$1) untuk menunjukkan bahwa pernyataan tersebut berlaku untuk semua sumber daya.

```
"Resource": "*"
```

Untuk melihat daftar jenis sumber daya Lokasi Amazon dan jenisnya ARNs, lihat Sumber Daya yang [Ditentukan oleh Amazon Location Service](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonlocation.html#amazonlocation-resources-for-iam-policies) di *Referensi Otorisasi Layanan*. Untuk mempelajari tindakan mana yang dapat Anda tentukan ARN dari setiap sumber daya, lihat [Tindakan yang Ditentukan oleh Amazon Location Service](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonlocation.html#amazonlocation-actions-as-permissions).





Untuk melihat contoh kebijakan berbasis identitas Lokasi Amazon, lihat. [Contoh kebijakan berbasis identitas untuk Amazon Location Service](#security_iam_id-based-policy-examples)

### Kunci kondisi kebijakan untuk Lokasi Amazon
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

**Mendukung kunci kondisi kebijakan khusus layanan:** Yes

Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, **principal** dapat melakukan **tindakan** pada suatu **sumber daya**, dan dalam suatu **syarat**.

Elemen `Condition` menentukan ketika pernyataan dieksekusi berdasarkan kriteria yang ditetapkan. Anda dapat membuat ekspresi bersyarat yang menggunakan [operator kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), misalnya sama dengan atau kurang dari, untuk mencocokkan kondisi dalam kebijakan dengan nilai-nilai yang diminta. Untuk melihat semua kunci kondisi AWS global, lihat [kunci konteks kondisi AWS global](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) di *Panduan Pengguna IAM*.

Untuk melihat daftar kunci kondisi Lokasi Amazon, lihat [Kunci Kondisi untuk Amazon Location Service](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonlocation.html#amazonlocation-policy-keys) di *Referensi Otorisasi Layanan*. Untuk mempelajari tindakan dan sumber daya yang dapat Anda gunakan kunci kondisi, lihat [Tindakan yang Ditentukan oleh Amazon Location Service](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonlocation.html#amazonlocation-actions-as-permissions).

Lokasi Amazon mendukung kunci kondisi untuk memungkinkan Anda mengizinkan atau menolak akses ke geofences atau perangkat tertentu dalam pernyataan kebijakan Anda. Kunci kondisi berikut tersedia:
+ `geo:GeofenceIds`untuk digunakan dengan tindakan Geofence. Tipenya adalah`ArrayOfString`.
+ `geo:DeviceIds`untuk digunakan dengan tindakan Tracker. Tipenya adalah`ArrayOfString`.

Tindakan berikut dapat digunakan `geo:GeofenceIds` dalam kebijakan IAM Anda:
+ `BatchDeleteGeofences`
+ `BatchPutGeofences`
+ `GetGeofence`
+ `PutGeofence`

Tindakan berikut dapat digunakan `geo:DeviceIds` dalam kebijakan IAM Anda:
+ `BatchDeleteDevicePositionHistory`
+ `BatchGetDevicePosition`
+ `BatchUpdateDevicePosition`
+ `GetDevicePosition`
+ `GetDevicePositionHistory`

**catatan**  
Anda tidak dapat menggunakan tombol kondisi ini dengan`BatchEvaluateGeofences`,`ListGeofences`, atau `ListDevicePosition` tindakan.

Untuk melihat contoh kebijakan berbasis identitas Lokasi Amazon, lihat. [Contoh kebijakan berbasis identitas untuk Amazon Location Service](#security_iam_id-based-policy-examples)

### ACLs di Lokasi Amazon
<a name="security_iam_service-with-iam-acls"></a>

**Mendukung ACLs:** Tidak 

Access control lists (ACLs) mengontrol prinsipal mana (anggota akun, pengguna, atau peran) yang memiliki izin untuk mengakses sumber daya. ACLs mirip dengan kebijakan berbasis sumber daya, meskipun mereka tidak menggunakan format dokumen kebijakan JSON.

### ABAC dengan Lokasi Amazon
<a name="security_iam_service-with-iam-tags"></a>

**Mendukung ABAC (tanda dalam kebijakan):** Ya

Kontrol akses berbasis atribut (ABAC) adalah strategi otorisasi yang menentukan izin berdasarkan atribut tanda. Anda dapat melampirkan tag ke entitas dan AWS sumber daya IAM, lalu merancang kebijakan ABAC untuk mengizinkan operasi saat tag prinsipal cocok dengan tag pada sumber daya.

Untuk mengendalikan akses berdasarkan tanda, berikan informasi tentang tanda di [elemen kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) dari kebijakan menggunakan kunci kondisi `aws:ResourceTag/key-name`, `aws:RequestTag/key-name`, atau `aws:TagKeys`.

Jika sebuah layanan mendukung ketiga kunci kondisi untuk setiap jenis sumber daya, nilainya adalah **Ya** untuk layanan tersebut. Jika suatu layanan mendukung ketiga kunci kondisi untuk hanya beberapa jenis sumber daya, nilainya adalah **Parsial**.

Untuk informasi selengkapnya tentang ABAC, lihat [Tentukan izin dengan otorisasi ABAC](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) dalam *Panduan Pengguna IAM.* Untuk melihat tutorial yang menguraikan langkah-langkah pengaturan ABAC, lihat [Menggunakan kontrol akses berbasis atribut (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html) dalam *Panduan Pengguna IAM*.

Untuk informasi selengkapnya tentang menandai sumber daya Lokasi Amazon, lihat[Cara menggunakan tag](manage-resources.md#manage-resources_how-to).

Untuk melihat contoh kebijakan berbasis identitas untuk membatasi akses ke sumber daya berdasarkan tag pada sumber daya tersebut, lihat [Kontrol akses sumber daya berdasarkan tag](#security_iam_tag-based-policy-example).

### Menggunakan kredensi sementara dengan Lokasi Amazon
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**Mendukung kredensial sementara:** Ya

Kredensi sementara menyediakan akses jangka pendek ke AWS sumber daya dan secara otomatis dibuat saat Anda menggunakan federasi atau beralih peran. AWS merekomendasikan agar Anda secara dinamis menghasilkan kredensi sementara alih-alih menggunakan kunci akses jangka panjang. Untuk informasi selengkapnya, lihat [Kredensial keamanan sementara di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) dan [Layanan AWS yang berfungsi dengan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) dalam *Panduan Pengguna IAM*.

### Izin utama lintas layanan untuk Lokasi Amazon
<a name="security_iam_service-with-iam-principal-permissions"></a>

**Mendukung sesi akses maju (FAS): Tidak** 

 Sesi akses teruskan (FAS) menggunakan izin dari pemanggilan utama Layanan AWS, dikombinasikan dengan permintaan Layanan AWS untuk membuat permintaan ke layanan hilir. Untuk detail kebijakan ketika mengajukan permintaan FAS, lihat [Sesi akses terusan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html). 

### Peran layanan untuk Lokasi Amazon
<a name="security_iam_service-with-iam-roles-service"></a>

**Mendukung peran layanan:** Tidak 

 Peran layanan adalah [peran IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) yang diambil oleh sebuah layanan untuk melakukan tindakan atas nama Anda. Administrator IAM dapat membuat, mengubah, dan menghapus peran layanan dari dalam IAM. Untuk informasi selengkapnya, lihat [Buat sebuah peran untuk mendelegasikan izin ke Layanan AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) dalam *Panduan pengguna IAM*. 

**Awas**  
Mengubah izin untuk peran layanan dapat merusak fungsionalitas Lokasi Amazon. Edit peran layanan hanya jika Lokasi Amazon memberikan panduan untuk melakukannya.

### Peran terkait layanan untuk Lokasi Amazon
<a name="security_iam_service-with-iam-roles-service-linked"></a>

**Mendukung peran terkait layanan:** Tidak 

 Peran terkait layanan adalah jenis peran layanan yang ditautkan ke. Layanan AWS Layanan tersebut dapat menjalankan peran untuk melakukan tindakan atas nama Anda. Peran terkait layanan muncul di Anda Akun AWS dan dimiliki oleh layanan. Administrator IAM dapat melihat, tetapi tidak dapat mengedit izin untuk peran terkait layanan. 

Untuk detail tentang pembuatan atau manajemen peran terkait layanan, lihat [Layanan AWS yang berfungsi dengan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html). Cari layanan dalam tabel yang memiliki `Yes` di kolom **Peran terkait layanan**. Pilih tautan **Ya** untuk melihat dokumentasi peran terkait layanan untuk layanan tersebut.

## Cara Amazon Location Service bekerja dengan pengguna yang tidak diautentikasi
<a name="security_iam_unauthenticated-users"></a>

Banyak skenario untuk menggunakan Amazon Location Service, termasuk menampilkan peta di web atau di aplikasi seluler, mengharuskan akses ke pengguna yang belum masuk dengan IAM. Untuk skenario yang tidak diautentikasi ini, Anda memiliki dua opsi.
+ **Gunakan kunci API** — Untuk memberikan akses ke pengguna yang tidak diautentikasi, Anda dapat membuat Kunci API yang memberikan akses hanya-baca ke sumber daya Amazon Location Service Anda. Ini berguna dalam kasus di mana Anda tidak ingin mengautentikasi setiap pengguna. Misalnya, aplikasi web. Untuk informasi selengkapnya tentang kunci API, lihat[Gunakan kunci API untuk mengautentikasi](using-apikeys.md).
+ **Gunakan Amazon Cognito** — Alternatif untuk kunci API adalah dengan menggunakan Amazon Cognito untuk memberikan akses anonim. Amazon Cognito memungkinkan Anda membuat otorisasi yang lebih kaya dengan kebijakan IAM untuk menentukan apa yang dapat dilakukan oleh pengguna yang tidak diautentikasi. Untuk informasi selengkapnya tentang menggunakan Amazon Cognito, lihat. [Gunakan kumpulan identitas Amazon Cognito di web](authenticating-using-cognito.md#identity-pool-js)

Untuk gambaran umum tentang menyediakan akses ke pengguna yang tidak diautentikasi, lihat. [Autentikasi dengan Amazon Location Service](access.md)

## Contoh kebijakan berbasis identitas untuk Amazon Location Service
<a name="security_iam_id-based-policy-examples"></a>

Secara default, pengguna dan peran tidak memiliki izin untuk membuat atau memodifikasi sumber daya Lokasi Amazon. Untuk memberikan izin kepada pengguna untuk melakukan tindakan di sumber daya yang mereka perlukan, administrator IAM dapat membuat kebijakan IAM.

*Untuk mempelajari cara membuat kebijakan berbasis identitas IAM dengan menggunakan contoh dokumen kebijakan JSON ini, lihat [Membuat kebijakan IAM (konsol) di Panduan Pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html).*

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](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonlocation.html) di *Referensi Otorisasi Layanan*.

**Topics**
+ [Praktik terbaik kebijakan](#security_iam_service-with-iam-policy-best-practices)
+ [Menggunakan konsol Lokasi Amazon](#security_iam_id-based-policy-examples-console)
+ [Mengizinkan pengguna melihat izin mereka sendiri](#security_iam_id-based-policy-examples-view-own-permissions)
+ [Menggunakan sumber daya Amazon Location Service dalam kebijakan](#security_iam_id-based-policy-examples-using-resources)
+ [Izin untuk memperbarui posisi perangkat](#security_iam_id-based-policy-examples-update-device-positions)
+ [Kebijakan hanya-baca untuk sumber daya pelacak](#security_iam_id-based-policy-examples-read-only-trackers)
+ [Kebijakan untuk membuat geofences](#security_iam_id-based-policy-examples-create-geofences)
+ [Kebijakan hanya-baca untuk geofences](#security_iam_id-based-policy-examples-read-only-geofences)
+ [Izin untuk merender sumber daya peta](#security_iam_id-based-policy-examples-get-map-tiles)
+ [Izin untuk memungkinkan operasi pencarian](#security_iam_id-based-policy-examples-search-for-place)
+ [Kebijakan hanya-baca untuk kalkulator rute](#security_iam_id-based-policy-examples-calculate-route)
+ [Kontrol akses sumber daya berdasarkan tombol kondisi](#security_iam_condition-key-example)
+ [Kontrol akses sumber daya berdasarkan tag](#security_iam_tag-based-policy-example)

### Praktik terbaik kebijakan
<a name="security_iam_service-with-iam-policy-best-practices"></a>

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 yang dikelola AWS pelanggan yang khusus untuk kasus penggunaan Anda. Untuk informasi selengkapnya, lihat [Kebijakan yang dikelola AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) atau [Kebijakan yang dikelola AWS untuk fungsi tugas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) 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 CloudFormation. Untuk informasi selengkapnya, lihat [Elemen kebijakan JSON IAM: Kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) 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 dengan IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) 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 [Amankan akses API dengan MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) dalam *Panduan Pengguna IAM*.

Untuk informasi selengkapnya tentang praktik terbaik dalam IAM, lihat [Praktik terbaik keamanan di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) dalam *Panduan Pengguna IAM*.

### Menggunakan konsol Lokasi Amazon
<a name="security_iam_id-based-policy-examples-console"></a>

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 sesuai dengan operasi API yang coba mereka lakukan.

Untuk memastikan bahwa pengguna dan peran dapat menggunakan konsol Lokasi Amazon, lampirkan kebijakan berikut ke entitas. Untuk informasi selengkapnya, lihat [Menambah izin untuk pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) dalam *Panduan Pengguna IAM*.

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:*",
        "geo-maps:*",
        "geo-places:*",
        "geo-routes:*"
      ],
      "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](#security_iam_id-based-policy-examples-read-only-trackers)

### Mengizinkan pengguna melihat izin mereka sendiri
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

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

### Menggunakan sumber daya Amazon Location Service dalam kebijakan
<a name="security_iam_id-based-policy-examples-using-resources"></a>

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 sintaks ARN berikut:

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

Untuk informasi selengkapnya tentang format ARNs, lihat [Amazon Resource Names (ARNs) dan Ruang Nama AWS Layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html).

**Contoh**
+ Gunakan ARN berikut 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 (\$1):

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

  ```
  "Resource": "*"
  ```

Untuk melihat daftar jenis sumber daya Lokasi Amazon dan jenisnya ARNs, lihat Sumber Daya yang [Ditentukan oleh Amazon Location Service](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonlocation.html#amazonlocation-resources-for-iam-policies) di *Referensi Otorisasi Layanan*. Untuk mempelajari tindakan mana yang dapat Anda tentukan ARN dari setiap sumber daya, lihat [Tindakan yang Ditentukan oleh Amazon Location Service](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonlocation.html#amazonlocation-actions-as-permissions).

### Izin untuk memperbarui posisi perangkat
<a name="security_iam_id-based-policy-examples-update-device-positions"></a>

 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* dan *Tracker2* sumber daya, kebijakan berikut memberikan izin untuk menggunakan `geo:BatchUpdateDevicePosition` tindakan terhadap *Tracker1* dan *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
<a name="security_iam_id-based-policy-examples-read-only-trackers"></a>

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:BatchGetDevicePosition`untuk mengambil posisi beberapa perangkat.
+ `geo:GetDevicePosition`untuk mengambil posisi satu perangkat.
+ `geo:GetDevicePositionHistory`untuk 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
<a name="security_iam_id-based-policy-examples-create-geofences"></a>

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 pada*Collection*:
+ `geo:BatchPutGeofence`untuk membuat beberapa geofences.
+ `geo:PutGeofence`untuk 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
<a name="security_iam_id-based-policy-examples-read-only-geofences"></a>

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 pada*Collection*:
+ `geo:ListGeofences`untuk membuat daftar geofences dalam koleksi geofence yang ditentukan.
+ `geo:GetGeofence`untuk 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
<a name="security_iam_id-based-policy-examples-get-map-tiles"></a>

Untuk memberikan izin yang cukup untuk merender peta, Anda harus memberikan akses ke ubin peta, sprite, mesin terbang, dan deskriptor gaya:
+ `geo:GetMapTile`mengambil ubin peta yang digunakan untuk secara selektif merender fitur pada peta.
+ `geo:GetMapSprites`mengambil lembar sprite PNG dan dokumen JSON yang sesuai yang menjelaskan offset di dalamnya.
+ `geo:GetMapGlyphs`mengambil glyph yang digunakan untuk menampilkan teks.
+ `geo:GetMapStyleDescriptor`mengambil 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 memungkinkan operasi pencarian
<a name="security_iam_id-based-policy-examples-search-for-place"></a>

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:SearchPlaceIndexForPosition`memungkinkan Anda untuk mencari tempat, atau tempat menarik di dekat posisi tertentu. 
+ `geo:SearchPlaceIndexForText`memungkinkan 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
<a name="security_iam_id-based-policy-examples-calculate-route"></a>

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:CalculateRoute`menghitung 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
<a name="security_iam_condition-key-example"></a>

Saat Anda membuat kebijakan IAM untuk memberikan akses untuk menggunakan geofences atau posisi perangkat, Anda dapat menggunakan [operator Kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html) 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
<a name="security_iam_tag-based-policy-example"></a>

Saat Anda membuat kebijakan IAM untuk memberikan akses untuk menggunakan sumber daya Lokasi Amazon, Anda dapat menggunakan [kontrol akses berbasis atribut untuk kontrol](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) 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](manage-resources.md#manage-resources_how-to) 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:BatchPutGeofence`untuk membuat beberapa geofences.
+ `geo:PutGeofence`untuk membuat geofence tunggal.

Namun, kebijakan ini menggunakan `Condition` elemen untuk memberikan izin hanya jika *Collection* tag`Owner`,, memiliki nilai nama pengguna pengguna tersebut. 
+ Misalnya, jika pengguna bernama `richard-roe` mencoba melihat Lokasi Amazon*Collection*, lokasi tersebut *Collection* harus diberi tag `Owner=richard-roe` atau`owner=richard-roe`. Jika tidak, pengguna ditolak aksesnya. 
**catatan**  
Kunci tanda syarat `Owner` sama dengan kedua `Owner` dan `owner` karena nama kunci syarat tidak terpengaruh huruf besar/kecil. Untuk informasi lebih lanjut, lihat [Elemen Kebijakan IAM JSON: Persyaratan](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) dalam *Panduan Pengguna IAM*.

```
{
  "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 sumber daya AWS berdasarkan tag](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html), lihat *Panduan AWS Identity and Access Management Pengguna*.

## Memecahkan masalah identitas dan akses Amazon Location Service
<a name="security_iam_troubleshoot"></a>

Gunakan informasi berikut untuk membantu Anda mendiagnosis dan memperbaiki masalah umum yang mungkin Anda temui saat bekerja dengan Lokasi Amazon dan IAM.

**Topics**
+ [Saya tidak berwenang untuk melakukan tindakan di Lokasi Amazon](#security_iam_troubleshoot-no-permissions)
+ [Saya tidak berwenang untuk melakukan iam: PassRole](#security_iam_troubleshoot-passrole)
+ [Saya ingin mengizinkan orang di luar saya Akun AWS mengakses sumber daya Lokasi Amazon saya](#security_iam_troubleshoot-cross-account-access)

### Saya tidak berwenang untuk melakukan tindakan di Lokasi Amazon
<a name="security_iam_troubleshoot-no-permissions"></a>

Jika Anda menerima pesan kesalahan bahwa Anda tidak memiliki otorisasi untuk melakukan tindakan, kebijakan Anda harus diperbarui agar Anda dapat melakukan tindakan tersebut.

Contoh kesalahan berikut terjadi ketika pengguna IAM `mateojackson` mencoba menggunakan konsol untuk melihat detail tentang suatu sumber daya `my-example-widget` rekaan, tetapi tidak memiliki izin `geo:GetWidget` rekaan.

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: geo:GetWidget on resource: my-example-widget
```

Dalam hal ini, kebijakan untuk pengguna `mateojackson` harus diperbarui untuk mengizinkan akses ke sumber daya `my-example-widget` dengan menggunakan tindakan `geo:GetWidget`.

Jika Anda memerlukan bantuan, hubungi AWS administrator Anda. Administrator Anda adalah orang yang memberi Anda kredensial masuk.

### Saya tidak berwenang untuk melakukan iam: PassRole
<a name="security_iam_troubleshoot-passrole"></a>

Jika Anda menerima kesalahan bahwa Anda tidak diizinkan untuk melakukan `iam:PassRole` tindakan, kebijakan Anda harus diperbarui agar Anda dapat meneruskan peran ke Lokasi Amazon.

Beberapa Layanan AWS memungkinkan Anda untuk meneruskan peran yang ada ke layanan tersebut alih-alih membuat peran layanan baru atau peran terkait layanan. Untuk melakukannya, Anda harus memiliki izin untuk meneruskan peran ke layanan.

Contoh kesalahan berikut terjadi ketika pengguna IAM bernama `marymajor` mencoba menggunakan konsol untuk melakukan tindakan di Lokasi Amazon. Namun, tindakan tersebut memerlukan layanan untuk mendapatkan izin yang diberikan oleh peran layanan. Mary tidak memiliki izin untuk meneruskan peran tersebut pada layanan.

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

Dalam kasus ini, kebijakan Mary harus diperbarui agar dia mendapatkan izin untuk melakukan tindakan `iam:PassRole` tersebut.

Jika Anda memerlukan bantuan, hubungi AWS administrator Anda. Administrator Anda adalah orang yang memberi Anda kredensial masuk.

### Saya ingin mengizinkan orang di luar saya Akun AWS mengakses sumber daya Lokasi Amazon saya
<a name="security_iam_troubleshoot-cross-account-access"></a>

Anda dapat membuat peran yang dapat digunakan pengguna di akun lain atau orang-orang di luar organisasi Anda untuk mengakses sumber daya Anda. Anda dapat menentukan siapa saja yang dipercaya untuk mengambil peran tersebut. Untuk layanan yang mendukung kebijakan berbasis sumber daya atau daftar kontrol akses (ACLs), Anda dapat menggunakan kebijakan tersebut untuk memberi orang akses ke sumber daya Anda.

Untuk mempelajari selengkapnya, periksa referensi berikut:
+ Untuk mengetahui apakah Lokasi Amazon mendukung fitur ini, lihat[Bagaimana Amazon Location Service bekerja dengan IAM](#security_iam_service-with-iam).
+ Untuk mempelajari cara menyediakan akses ke sumber daya Anda di seluruh sumber daya Akun AWS yang Anda miliki, lihat [Menyediakan akses ke pengguna IAM di pengguna lain Akun AWS yang Anda miliki](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) di *Panduan Pengguna IAM*.
+ Untuk mempelajari cara menyediakan akses ke sumber daya Anda kepada pihak ketiga Akun AWS, lihat [Menyediakan akses yang Akun AWS dimiliki oleh pihak ketiga](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html) dalam *Panduan Pengguna IAM*.
+ Untuk mempelajari cara memberikan akses melalui federasi identitas, lihat [Menyediakan akses ke pengguna terautentikasi eksternal (federasi identitas)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) dalam *Panduan Pengguna IAM*.
+ *Untuk mempelajari perbedaan antara menggunakan peran dan kebijakan berbasis sumber daya untuk akses lintas akun, lihat [Akses sumber daya lintas akun di IAM di Panduan Pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html).*