

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Authentifiez-vous auprès d'Amazon Location Service
<a name="access"></a>

Pour utiliser Amazon Location Service, un utilisateur doit avoir accès aux ressources APIs qui constituent Amazon Location. Il existe trois stratégies que vous pouvez utiliser pour accorder l'accès à vos ressources.
+ **Utiliser des clés d'API** : pour accorder l'accès à des utilisateurs non authentifiés, vous pouvez créer des clés d'API qui donnent un accès en lecture seule à vos ressources et actions Amazon Location Service. Cela est utile dans le cas où vous ne souhaitez pas authentifier tous les utilisateurs. Par exemple, une application Web. 

  Pour plus d'informations sur les clés d'API, consultez[Utiliser des clés d'API pour s'authentifier](using-apikeys.md).
+ **Utiliser Amazon Cognito** — Une alternative aux clés d'API consiste à utiliser Amazon Cognito pour accorder un accès anonyme. Amazon Cognito vous permet de créer une autorisation plus riche avec une politique afin de définir ce que peuvent faire les utilisateurs non authentifiés. 

  Pour plus d'informations sur l'utilisation d'Amazon Cognito, consultez. [Utiliser Amazon Cognito pour vous authentifier](authenticating-using-cognito.md)
+ **Utilisation Gestion des identités et des accès AWS (IAM)** : pour accorder l'accès aux utilisateurs authentifiés par AWS IAM Identity Center ou Gestion des identités et des accès AWS (IAM), créez une politique IAM qui autorise l'accès aux ressources souhaitées. 

  Pour plus d'informations sur IAM et Amazon Location, consultez[Gestion des identités et des accès AWS À utiliser pour s'authentifier](security-iam.md).

# Choisissez une méthode d'authentification
<a name="choose-method"></a>

Les clés d'API et Amazon Cognito sont utilisés de la même manière pour des scénarios similaires, alors pourquoi choisiriez-vous l'un plutôt que l'autre ? La liste suivante met en évidence certaines des différences entre les deux.
+ **Rendement :**
  + **Clé API :** relativement plus rapide
  + **Amazon Cognito : relativement** plus lent
+ **Disponibilité :**
  + **Clé d'API :** Amazon Location APIs pour les cartes, les lieux et les itinéraires
  + **Amazon Cognito** : Tout APIs
+ **Combine avec une autre méthode d'authentification ?**
  + **Clé API :** Non
  + **Amazon Cognito** : Oui

**Comparison (Comparaison)**
+ Les clés d'API ne sont disponibles que pour les actions relatives aux cartes, aux lieux et aux itinéraires. Amazon Cognito peut être utilisé pour authentifier l'accès à la plupart des Amazon Location Service. APIs
+ Les performances des requêtes cartographiques avec des clés d'API sont généralement plus rapides que dans des scénarios similaires avec Amazon Cognito. Une authentification simplifiée permet de réduire le nombre d'allers-retours vers le service et de demandes mises en cache lorsque vous obtenez à nouveau la même vignette cartographique en peu de temps.
+ Avec Amazon Cognito, vous pouvez utiliser votre propre processus d'authentification ou combiner plusieurs méthodes d'authentification à l'aide des identités fédérées Amazon Cognito. 

  Pour plus d'informations, consultez [Getting Started with Federated Identities](https://docs.aws.amazon.com/cognito/latest/developerguide/getting-started-with-identity-pools.html) dans le manuel Amazon Cognito Developer Guide.

# Utiliser des clés d'API pour s'authentifier
<a name="using-apikeys"></a>

**Note**  
Les clés d'API ne peuvent être utilisées qu'avec les ressources ****cartographiques****, géographiques et **routières**, et vous ne pouvez ni modifier ni créer ces ressources. Si votre application a besoin d'accéder à d'autres ressources ou actions pour les utilisateurs non authentifiés, vous pouvez utiliser Amazon Cognito pour fournir un accès avec ou à la place des clés d'API. Pour de plus amples informations, veuillez consulter [Utiliser Amazon Cognito pour vous authentifier](authenticating-using-cognito.md).

Les *clés d'API* sont une valeur clé associée à des ressources ou à une API Amazon Location Service spécifiques dans vos ressources Compte AWS, ainsi qu'à des actions spécifiques que vous pouvez effectuer sur ces ressources. Vous pouvez utiliser une clé d'API dans votre application pour effectuer des appels non authentifiés vers Amazon Location APIs pour ces ressources. 

Par exemple, si vous associez une clé d'API à une ressource, and/or l'`GetPlace*`API, une application qui utilise cette clé d'API pourra appeler des ressources spécifiques APIs. Cette même clé d'API n'autoriserait pas la modification ou la mise à jour d'une ressource ou d'un appel APIs auquel elle n'est pas associée.

Lorsque vous appelez Amazon Location Service APIs dans vos applications, vous effectuez généralement cet appel en tant qu'*utilisateur authentifié* autorisé à effectuer les appels d'API. Cependant, dans certains cas, vous ne souhaitez pas authentifier tous les utilisateurs de votre application. 

Par exemple, vous souhaiterez peut-être qu'une application Web indiquant l'emplacement de votre entreprise soit accessible à tous ceux qui utilisent le site Web, qu'ils soient connectés ou non. Dans ce cas, une alternative consiste à utiliser des clés d'API pour effectuer les appels d'API.

Consultez [Bonnes pratiques clés en matière d'API](#api-keys-best-practices) pour plus d'informations sur les circonstances dans lesquelles utiliser les clés d'API.

Pour plus d'informations sur l'utilisation des clés à l'aide de l'API Amazon Location Service, consultez les rubriques suivantes dans le manuel *Amazon Location Service API Reference* :
+ [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)

## Création d'une clé d'API pour Amazon Location Service
<a name="create-api-key"></a>

Vous pouvez créer une clé d'API via la console Amazon Location Service ou l'API Amazon Location. AWS CLI Continuez avec les procédures appropriées ci-dessous.

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

**Pour créer une clé d'API à l'aide de la console Amazon Location Service**

1. Dans la [https://console.aws.amazon.com/location](https://console.aws.amazon.com/location), choisissez **les clés d'API** dans le menu de gauche.

1. Sur la page des **clés d'API**, choisissez **Créer une clé d'API**.

1. Sur la page **Créer une clé d'API**, renseignez les informations suivantes :
   + **Nom** : nom de votre clé d'API, tel que`ExampleKey`.
   + **Description — Description** facultative de votre clé d'API.
   + **Ressources** — Dans le menu déroulant, choisissez les ressources Amazon Location auxquelles vous souhaitez donner accès avec cette clé d'API. Vous pouvez ajouter plusieurs ressources en choisissant **Ajouter une ressource**.
   + **Actions** — Spécifiez les actions que vous souhaitez autoriser avec cette clé d'API. Vous devez sélectionner au moins une action correspondant à chaque type de ressource sélectionné. Par exemple, si vous avez sélectionné une ressource géographique, vous devez sélectionner au moins l'un des choix sous **Actions de localisation**.
   + **Heure d'expiration** : ajoutez éventuellement une date et une heure d'expiration pour votre clé d'API. Pour de plus amples informations, veuillez consulter [Bonnes pratiques clés en matière d'API](#api-keys-best-practices).
   + **Restrictions relatives aux clients** : ajoutez éventuellement un ou plusieurs domaines Web ou une ou plusieurs applications Android ou Apple dans lesquels vous pouvez utiliser la clé API. Par exemple, si la clé d'API doit autoriser l'exécution d'une application sur le site Web`example.com`, vous pouvez la `*.example.com/` définir comme référent autorisé.
   + **Balises** : ajoutez éventuellement des balises à la clé d'API.

1. Choisissez **Create API key** pour créer la clé API.

1. Sur la page détaillée de la clé d'API, vous pouvez consulter les informations relatives à la clé d'API que vous avez créée. Choisissez **Afficher la clé d'API** pour voir la valeur de clé que vous utilisez lorsque vous appelez Amazon Location APIs. La valeur clé aura le format`v1.public.a1b2c3d4...`. 

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

1. Utilisez la commande [Create-Key](https://docs.aws.amazon.com/cli/latest/reference/location/create-key.html). L'exemple suivant crée une clé d'API appelée `ExampleKey` sans date d'expiration et sans accès à une seule ressource cartographique.

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

1. La réponse inclut la valeur de la clé d'API à utiliser lors de l'accès aux ressources de vos applications. La valeur clé aura le format`v1.public.a1b2c3d4...`. Pour en savoir plus sur l'utilisation de la clé API pour le rendu de cartes, consultez[Utiliser une clé d'API pour appeler une API Amazon Location](#using-apikeys-in-api). La réponse à create-key se présente comme suit :

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

1. Vous pouvez également l'`describe-key`utiliser pour rechercher la valeur clé ultérieurement. L'exemple suivant montre comment appeler `describe-key` une clé d'API nommée`ExampleKey`.

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

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

Utilisez l'[CreateKey](https://docs.aws.amazon.com/location/latest/APIReference/API_geotags_CreateKey.html)opération depuis l'emplacement Amazon APIs. L'exemple suivant est une demande d'API pour créer une clé d'API appelée `ExampleKey` sans date d'expiration et sans accès à une seule ressource cartographique.

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

La réponse inclut la valeur de la clé d'API à utiliser lors de l'accès aux ressources de vos applications. La valeur clé aura le format. `v1.public.a1b2c3d4...`

Vous pouvez également utiliser l'[DescribeKey](https://docs.aws.amazon.com/location/latest/APIReference/API_geotags_DescribeKey.html)API pour trouver la valeur d'une clé ultérieurement.

------

## Utiliser une clé d'API pour appeler une API Amazon Location
<a name="using-apikeys-in-api"></a>

Après avoir créé une clé d'API, vous pouvez utiliser la valeur de la clé pour appeler Amazon Location APIs dans votre application.

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

Les clés APIs d'API compatibles ont un paramètre supplémentaire qui prend la valeur de la clé d'API. Par exemple, si vous appelez l'`GetPlace`API, vous pouvez renseigner le paramètre [clé](https://docs.aws.amazon.com/location/latest/APIReference/API_geoplaces_GetPlace.html) comme suit

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

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

Lorsque vous utilisez le `--key` paramètre, vous devez également l'`--no-sign-request`utiliser pour éviter de signer avec Sig v4.

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

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

Utilisez le code suivant :

```
<!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) ]

Utilisez le code suivant :

```
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) ]

Utilisez le code suivant :

```
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()
    }
}
```

------

## Limiter l'utilisation des clés d'API par origine de demande
<a name="restrict-usage-by-origin"></a>

Vous pouvez configurer des clés d'API avec des restrictions client qui limitent l'accès à des domaines ou à des applications mobiles spécifiques. Lors de la restriction par domaine, les demandes ne seront autorisées que si l'en-tête HTTP Referer correspond à la valeur que vous avez fournie. En cas de restriction par une application Android ou Apple, les demandes ne seront autorisées que si les champs d'en-tête HTTP de l'identifiant de l'application correspondent aux valeurs que vous fournissez.

Pour plus d'informations, consultez [ApiKeyRestrictions](https://docs.aws.amazon.com/location/latest/APIReference/API_geotags_ApiKeyRestrictions.html)le manuel *Amazon Location Service API Reference*.

**Identifiants des applications Android :**
+ `X-Android-Package`:

  Identifiant unique pour les applications Android, défini dans le `build.gradle` fichier de l'application, généralement selon un format de domaine inversé.

  Exemple :

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

  Le hachage SHA-1 du certificat de signature utilisé pour signer l'APK Android.

  Exemple :

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

**Identifiants des applications Apple :**
+ `X-Apple-Bundle-Id `:

  Identifiant unique pour les applications Apple (iOS, macOS, etc.), défini dans les applications`Info.plist`, généralement selon un format de domaine inversé.

  Exemple :

  `com.mydomain.appname`

## Bonnes pratiques clés en matière d'API
<a name="api-keys-best-practices"></a>

Les clés d'API incluent une *valeur* en texte brut qui donne accès à une ou plusieurs ressources ou APIs à votre Compte AWS. Si quelqu'un copie votre clé d'API, il peut accéder à ces mêmes ressources et APIs. Pour minimiser l'impact potentiel, passez en revue les meilleures pratiques suivantes :
+ **Limiter la clé d'API**

  Pour éviter la situation ci-dessus, il est préférable de limiter votre clé d'API. Lorsque vous créez la clé, vous pouvez spécifier le domaine, l'application Android ou l'application Apple où la clé peut être utilisée.
+ **Gérez la durée de vie des clés d'API**

  Vous pouvez créer des clés d'API qui fonctionnent indéfiniment. Toutefois, si vous souhaitez créer une clé d'API temporaire, faire régulièrement pivoter les clés d'API ou révoquer une clé d'API existante, vous pouvez utiliser l'*expiration de la clé d'API*.
  + Vous pouvez définir le délai d'expiration d'une clé d'API lorsque vous la créez ou la mettez à jour.
  + Lorsqu'une clé d'API atteint son délai d'expiration, elle est automatiquement désactivée. Les clés inactives ne peuvent plus être utilisées pour effectuer des demandes.
  + Vous pouvez remplacer une clé temporaire par une clé permanente en supprimant le délai d'expiration.
  + Vous pouvez supprimer une clé d'API 90 jours après l'avoir désactivée.
  + Si vous tentez de désactiver une clé d'API qui a été utilisée au cours des sept derniers jours, il vous sera demandé de confirmer que vous souhaitez apporter la modification. 

    Si vous utilisez l'API Amazon Location Service ou le AWS CLI, définissez le `ForceUpdate` paramètre sur`true`, sinon vous recevrez un message d'erreur.

# Utiliser Amazon Cognito pour vous authentifier
<a name="authenticating-using-cognito"></a>

Vous pouvez utiliser l'authentification Amazon Cognito au lieu d'utiliser directement les utilisateurs Gestion des identités et des accès AWS (IAM) avec des demandes du SDK frontal. 

Amazon Cognito fournit des fonctionnalités d'authentification, d'autorisation et de gestion des utilisateurs pour les applications Web et mobiles. Vous pouvez utiliser les pools d'identités non authentifiés Amazon Cognito avec Amazon Location pour permettre aux applications de récupérer des informations d'identification temporaires et limitées. AWS 

Pour plus d'informations, consultez [Getting Started with User Pools](https://docs.aws.amazon.com/cognito/latest/developerguide/getting-started-user-pools.html) dans le manuel *Amazon Cognito Developer Guide*.

Vous souhaiterez peut-être utiliser cette forme d'authentification pour les raisons suivantes :
+ **Utilisateurs non authentifiés** : si vous avez un site Web avec des utilisateurs anonymes, vous pouvez utiliser les groupes d'identités Amazon Cognito. 

  Pour plus d'informations, consultez la section sur[Utiliser Amazon Cognito pour vous authentifier](#authenticating-using-cognito). 
+ **Votre propre authentification** — Si vous souhaitez utiliser votre propre processus d'authentification ou combiner plusieurs méthodes d'authentification, vous pouvez utiliser les identités fédérées Amazon Cognito. 

  Pour plus d'informations, consultez [Getting Started with Federated Identities](https://docs.aws.amazon.com/cognito/latest/developerguide/getting-started-with-identity-pools.html) dans le manuel *Amazon Cognito* Developer Guide.

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

Vous pouvez utiliser des politiques Gestion des identités et des accès AWS (IAM) associées à des rôles d'identité non authentifiés avec les actions suivantes :

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

Liste des actions cartographiques
+ `geo-maps:GetStaticMap`
+ `geo-maps:GetTile`

**Note**  
Les noms de ressources pour les actions ci-dessus sont les suivants :  

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

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

Liste des actions de localisation :
+ `geo-places:Geocode`
+ `geo-places:ReverseGeocode`
+ `geo-places:SearchNearby`
+ `geo-places:SearchText`
+ `geo-places:Autocomplete`
+ `geo-places:Suggest`
+ `geo-places:GetPlace`

**Note**  
Les noms de ressources pour les actions ci-dessus sont les suivants :  

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

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

Liste des actions liées aux itinéraires :
+ `geo-routes:CalculateRoutes`
+ `geo-routes:CalculateRouteMatrix`
+ `geo-routes:CalculateIsolines`
+ `geo-routes:OptimizeWaypoints`
+ `geo-routes:SnapToRoads`

**Note**  
Les noms de ressources pour les actions ci-dessus sont les suivants :  

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

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

Liste des actions relatives aux géofences et aux traceurs
+ `geo:GetGeofence`
+ `geo:ListGeofences`
+ `geo:PutGeofence`
+ `geo:BatchDeleteGeofence`
+ `geo:BatchPutGeofence`
+ `geo:BatchEvaluateGeofences`
+ `geo:GetDevicePosition*`
+ `geo:ListDevicePositions`
+ `geo:BatchDeleteDevicePositionHistory`
+ `geo:BatchGetDevicePosition`
+ `geo:BatchUpdateDevicePosition`

**Note**  
Les noms de ressources pour les actions ci-dessus sont les suivants :  

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

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

Liste des actions des versions précédentes :
+ `geo:GetMap*`
+ `geo:SearchPlaceIndexForText`
+ `geo:SearchPlaceIndexForPosition`
+ `geo:GetPlace`
+ `geo:CalculateRoute`
+ `geo:CalculateRouteMatrix`

**Note**  
Les noms de ressources pour les actions ci-dessus sont les suivants :  
**Cartes**  

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

```
arn:aws:geo:region:accountID:place-index/ExamplePlaceIndex
```
**Itinéraires**  

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

------

## Créer un groupe d’identités Amazon Cognito
<a name="cognito-create-user-pool"></a>

Vous pouvez créer des groupes d'identités Amazon Cognito pour autoriser un accès invité non authentifié à votre application via la console Amazon Cognito, le ou AWS CLI Amazon Cognito. APIs

**Important**  
Le pool que vous créez doit se trouver dans Compte AWS la même AWS région que les ressources Amazon Location Service que vous utilisez.

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

**Pour créer un pool d'identités à l'aide de la console Amazon Cognito**

1. Accédez à la [console Amazon Cognito](https://console.aws.amazon.com/cognito/home).

1. Choisissez **Manage Identity groupes (Gérer les groupes d'identité)**.

1. Choisissez **Créer un nouveau groupe d'identités**, puis entrez le nom de votre groupe d'identités.

1. Dans la section pliable **Identités non authentifiées, choisissez **Activer l'accès aux** identités** non authentifiées.

1. Sélectionnez **Créer une réserve**.

1. Choisissez les rôles IAM que vous souhaitez utiliser avec votre pool d'identités.

1. Agrandir **Afficher les détails**. 

1. Sous **Identités non authentifiées**, entrez un nom de rôle.

1. Développez la section **Afficher le document de politique**, puis choisissez **Modifier** pour ajouter votre politique.

1. Ajoutez votre politique pour autoriser l'accès à vos ressources.
**Note**  
Consultez la [Utiliser Amazon Cognito et Amazon Location Service](#cognito-and-location) section ci-dessus pour une liste des actions.

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

1. Choisissez **Autoriser** pour créer vos groupes d'identités.

------

## Utiliser le pool d'identités Amazon Cognito sur le Web
<a name="identity-pool-js"></a>

L'exemple suivant échange le pool d'identités non authentifié que vous avez créé contre des informations d'identification qui sont ensuite utilisées pour appeler. `CalculateIsolines` Pour simplifier ce travail, l'exemple utilise les [Comment utiliser les aides à l'authentification](how-to-auth-helper.md) procédures Amazon Location. Cela remplace à la fois l'obtention et l'actualisation des informations d'identification.

Cet exemple utilise le AWS SDK pour la JavaScript version 3.

```
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))
```

# Gestion des identités et des accès AWS À utiliser pour s'authentifier
<a name="security-iam"></a>





Gestion des identités et des accès AWS (IAM) est un outil Service AWS qui permet à un administrateur de contrôler en toute sécurité l'accès aux AWS ressources. Les administrateurs IAM contrôlent qui peut être *authentifié* (connecté) et *autorisé (autorisé*) à utiliser les ressources Amazon Location. IAM est un Service AWS outil que vous pouvez utiliser sans frais supplémentaires.

**Topics**
+ [Public ciblé](#security_iam_audience)
+ [Authentification par des identités](#security_iam_authentication)
+ [Gestion de l’accès à l’aide de politiques](#security_iam_access-manage)
+ [Comment Amazon Location Service fonctionne avec IAM](#security_iam_service-with-iam)
+ [Comment Amazon Location Service fonctionne avec les utilisateurs non authentifiés](#security_iam_unauthenticated-users)
+ [Exemples de politiques basées sur l'identité pour Amazon Location Service](#security_iam_id-based-policy-examples)
+ [Résolution des problèmes d'identité et d'accès à Amazon Location Service](#security_iam_troubleshoot)

## Public ciblé
<a name="security_iam_audience"></a>

La façon dont vous utilisez Gestion des identités et des accès AWS (IAM) varie en fonction de votre rôle :
+ **Utilisateur du service** : demandez des autorisations à votre administrateur si vous ne pouvez pas accéder aux fonctionnalités (voir [Résolution des problèmes d'identité et d'accès à Amazon Location Service](#security_iam_troubleshoot))
+ **Administrateur du service** : déterminez l’accès des utilisateurs et soumettez les demandes d’autorisation (voir [Comment Amazon Location Service fonctionne avec IAM](#security_iam_service-with-iam))
+ **Administrateur IAM** : rédigez des politiques pour gérer l’accès (voir [Exemples de politiques basées sur l'identité pour Amazon Location Service](#security_iam_id-based-policy-examples))

## Authentification par des identités
<a name="security_iam_authentication"></a>

L'authentification est la façon dont vous vous connectez à AWS l'aide de vos informations d'identification. Vous devez être authentifié en tant qu'utilisateur IAM ou en assumant un rôle IAM. Utilisateur racine d'un compte AWS

Vous pouvez vous connecter en tant qu'identité fédérée à l'aide d'informations d'identification provenant d'une source d'identité telle que AWS IAM Identity Center (IAM Identity Center), d'une authentification unique ou d'informations d'identification. Google/Facebook Pour plus d’informations sur la connexion, consultez [Connexion à votre Compte AWS](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) dans le *Guide de l’utilisateur Connexion à AWS *.

Pour l'accès par programmation, AWS fournit un SDK et une CLI pour signer les demandes de manière cryptographique. Pour plus d’informations, consultez [Signature AWS Version 4 pour les demandes d’API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) dans le *Guide de l’utilisateur IAM*.

### Compte AWS utilisateur root
<a name="security_iam_authentication-rootuser"></a>

 Lorsque vous créez un Compte AWS, vous commencez par une seule identité de connexion appelée *utilisateur Compte AWS root* qui dispose d'un accès complet à toutes Services AWS les ressources. Il est vivement déconseillé d’utiliser l’utilisateur racine pour vos tâches quotidiennes. Pour les tâches qui requièrent des informations d’identification de l’utilisateur racine, consultez [Tâches qui requièrent les informations d’identification de l’utilisateur racine](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) dans le *Guide de l’utilisateur IAM*. 

### Identité fédérée
<a name="security_iam_authentication-federated"></a>

Il est recommandé d'obliger les utilisateurs humains à utiliser la fédération avec un fournisseur d'identité pour accéder à Services AWS l'aide d'informations d'identification temporaires.

Une *identité fédérée* est un utilisateur provenant de l'annuaire de votre entreprise, de votre fournisseur d'identité Web ou Directory Service qui y accède à Services AWS l'aide d'informations d'identification provenant d'une source d'identité. Les identités fédérées assument des rôles qui fournissent des informations d’identification temporaires.

Pour une gestion des accès centralisée, nous vous recommandons d’utiliser AWS IAM Identity Center. Pour plus d’informations, consultez [Qu’est-ce que IAM Identity Center ?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) dans le *Guide de l’utilisateur AWS IAM Identity Center *.

### Utilisateurs et groupes IAM
<a name="security_iam_authentication-iamuser"></a>

Un *[utilisateur IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)* est une identité qui dispose d’autorisations spécifiques pour une seule personne ou application. Nous vous recommandons d’utiliser ces informations d’identification temporaires au lieu des utilisateurs IAM avec des informations d’identification à long terme. Pour plus d'informations, voir [Exiger des utilisateurs humains qu'ils utilisent la fédération avec un fournisseur d'identité pour accéder à AWS l'aide d'informations d'identification temporaires](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) dans le *guide de l'utilisateur IAM*.

[https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) spécifient une collection d’utilisateurs IAM et permettent de gérer plus facilement les autorisations pour de grands ensembles d’utilisateurs. Pour plus d’informations, consultez [Cas d’utilisation pour les utilisateurs IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html) dans le *Guide de l’utilisateur IAM*.

### Rôles IAM
<a name="security_iam_authentication-iamrole"></a>

Un *[rôle IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)* est une identité dotée d’autorisations spécifiques qui fournit des informations d’identification temporaires. Vous pouvez assumer un rôle en [passant d'un rôle d'utilisateur à un rôle IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) ou en appelant une opération d' AWS API AWS CLI ou d'API. Pour plus d’informations, consultez [Méthodes pour endosser un rôle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) dans le *Guide de l’utilisateur IAM*.

Les rôles IAM sont utiles pour l’accès des utilisateurs fédérés, les autorisations temporaires des utilisateurs IAM, les accès intercompte, les accès entre services et les applications exécutées sur Amazon EC2. Pour plus d’informations, consultez [Accès intercompte aux ressources dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) dans le *Guide de l’utilisateur IAM*.

## Gestion de l’accès à l’aide de politiques
<a name="security_iam_access-manage"></a>

Vous contrôlez l'accès en AWS créant des politiques et en les associant à AWS des identités ou à des ressources. Une politique définit les autorisations lorsqu'elles sont associées à une identité ou à une ressource. AWS évalue ces politiques lorsqu'un directeur fait une demande. La plupart des politiques sont stockées AWS sous forme de documents JSON. Pour plus d’informations les documents de politique JSON, consultez [Vue d’ensemble des politiques JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) dans le *Guide de l’utilisateur IAM*.

À l’aide de politiques, les administrateurs précisent qui a accès à quoi en définissant quel **principal** peut effectuer des **actions** sur quelles **ressources** et dans quelles **conditions**.

Par défaut, les utilisateurs et les rôles ne disposent d’aucune autorisation. Un administrateur IAM crée des politiques IAM et les ajoute aux rôles, que les utilisateurs peuvent ensuite assumer. Les politiques IAM définissent les autorisations quelle que soit la méthode que vous utilisez pour exécuter l’opération.

### Politiques basées sur l’identité
<a name="security_iam_access-manage-id-based-policies"></a>

Les stratégies basées sur l’identité sont des documents de stratégie d’autorisations JSON que vous attachez à une identité (utilisateur, groupe ou rôle). Ces politiques contrôlent les actions que peuvent exécuter ces identités, sur quelles ressources et dans quelles conditions. Pour découvrir comment créer une politique basée sur l’identité, consultez [Définition d’autorisations IAM personnalisées avec des politiques gérées par le client](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) dans le *Guide de l’utilisateur IAM*.

Les politiques basées sur l’identité peuvent être des *politiques intégrées* (intégrées directement dans une seule identité) ou des *politiques gérées (politiques* autonomes associées à plusieurs identités). Pour découvrir comment choisir entre des politiques gérées et en ligne, consultez [Choix entre les politiques gérées et les politiques en ligne](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html) dans le *Guide de l’utilisateur IAM*.

### Politiques basées sur les ressources
<a name="security_iam_access-manage-resource-based-policies"></a>

Les politiques basées sur les ressources sont des documents de politique JSON que vous attachez à une ressource. Les exemples incluent *les politiques de confiance de rôle* IAM et les *stratégies de compartiment* Amazon S3. Dans les services qui sont compatibles avec les politiques basées sur les ressources, les administrateurs de service peuvent les utiliser pour contrôler l’accès à une ressource spécifique. Vous devez [spécifier un principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) dans une politique basée sur les ressources.

Les politiques basées sur les ressources sont des politiques en ligne situées dans ce service. Vous ne pouvez pas utiliser les politiques AWS gérées par IAM dans une stratégie basée sur les ressources.

### Autres types de politique
<a name="security_iam_access-manage-other-policies"></a>

AWS prend en charge des types de politiques supplémentaires qui peuvent définir les autorisations maximales accordées par les types de politiques les plus courants :
+ **Limites d’autorisations** : une limite des autorisations définit le nombre maximum d’autorisations qu’une politique basée sur l’identité peut accorder à une entité IAM. Pour plus d’informations, consultez [Limites d’autorisations pour des entités IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) dans le *Guide de l’utilisateur IAM*.
+ **Politiques de contrôle des services (SCPs)** — Spécifiez les autorisations maximales pour une organisation ou une unité organisationnelle dans AWS Organizations. Pour plus d’informations, consultez [Politiques de contrôle de service](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) dans le *Guide de l’utilisateur AWS Organizations *.
+ **Politiques de contrôle des ressources (RCPs)** : définissez le maximum d'autorisations disponibles pour les ressources de vos comptes. Pour plus d'informations, voir [Politiques de contrôle des ressources (RCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) dans le *guide de AWS Organizations l'utilisateur*.
+ **Politiques de session** : politiques avancées que vous passez en tant que paramètre lorsque vous créez par programmation une session temporaire pour un rôle ou un utilisateur fédéré. Pour plus d’informations, consultez [Politiques de session](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) dans le *Guide de l’utilisateur IAM*.

### Plusieurs types de politique
<a name="security_iam_access-manage-multiple-policies"></a>

Lorsque plusieurs types de politiques s’appliquent à la requête, les autorisations en résultant sont plus compliquées à comprendre. Pour savoir comment AWS déterminer s'il faut autoriser une demande lorsque plusieurs types de politiques sont impliqués, consultez la section [Logique d'évaluation des politiques](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) dans le *guide de l'utilisateur IAM*.

## Comment Amazon Location Service fonctionne avec IAM
<a name="security_iam_service-with-iam"></a>

Avant d'utiliser IAM pour gérer l'accès à Amazon Location, découvrez quelles fonctionnalités IAM peuvent être utilisées avec Amazon Location.






**Fonctionnalités IAM que vous pouvez utiliser avec Amazon Location Service**  

| Fonctionnalité IAM | Assistance Amazon Location | 
| --- | --- | 
|  [Politiques basées sur l'identité pour Amazon Location](#security_iam_service-with-iam-id-based-policies)  |   Oui  | 
|  [Politiques basées sur les ressources](#security_iam_service-with-iam-resource-based-policies)  |   Non   | 
|  [Actions de politique](#security_iam_service-with-iam-id-based-policies-actions)  |   Oui  | 
|  [Ressources de politique](#security_iam_service-with-iam-id-based-policies-resources)  |   Oui  | 
|  [Clés de condition de politique (spécifiques au service)](#security_iam_service-with-iam-id-based-policies-conditionkeys)  |   Oui  | 
|  [ACLs](#security_iam_service-with-iam-acls)  |   Non   | 
|  [ABAC (étiquettes dans les politiques)](#security_iam_service-with-iam-tags)  |   Oui  | 
|  [Informations d’identification temporaires](#security_iam_service-with-iam-roles-tempcreds)  |   Oui  | 
|  [Autorisations de principals](#security_iam_service-with-iam-principal-permissions)  |   Non   | 
|  [Rôles du service](#security_iam_service-with-iam-roles-service)  |   Non   | 
|  [Rôles liés à un service](#security_iam_service-with-iam-roles-service-linked)  |   Non   | 

Pour obtenir une vue d'ensemble de la façon dont Amazon Location et les autres AWS services fonctionnent avec la plupart des fonctionnalités IAM, consultez les [AWS services compatibles avec IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) dans le guide de l'utilisateur *IAM*.

### Politiques basées sur l'identité pour Amazon Location
<a name="security_iam_service-with-iam-id-based-policies"></a>

**Prend en charge les politiques basées sur l’identité :** oui

Les politiques basées sur l’identité sont des documents de politique d’autorisations JSON que vous pouvez attacher à une identité telle qu’un utilisateur, un groupe d’utilisateurs ou un rôle IAM. Ces politiques contrôlent quel type d’actions des utilisateurs et des rôles peuvent exécuter, sur quelles ressources et dans quelles conditions. Pour découvrir comment créer une politique basée sur l’identité, consultez [Définition d’autorisations IAM personnalisées avec des politiques gérées par le client](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) dans le *Guide de l’utilisateur IAM*.

Avec les politiques IAM basées sur l’identité, vous pouvez spécifier des actions et ressources autorisées ou refusées, ainsi que les conditions dans lesquelles les actions sont autorisées ou refusées. Pour découvrir tous les éléments que vous utilisez dans une politique JSON, consultez [Références des éléments de politique JSON IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) dans le *Guide de l’utilisateur IAM*.

#### Exemples de politiques basées sur l'identité pour Amazon Location
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Pour consulter des exemples de politiques basées sur l'identité d'Amazon Location, consultez. [Exemples de politiques basées sur l'identité pour Amazon Location Service](#security_iam_id-based-policy-examples)

### Politiques basées sur les ressources au sein d'Amazon Location
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**Prend en charge les politiques basées sur les ressources :** non 

Les politiques basées sur les ressources sont des documents de politique JSON que vous attachez à une ressource. Par exemple, les *politiques de confiance de rôle* IAM et les *politiques de compartiment* Amazon S3 sont des politiques basées sur les ressources. Dans les services qui sont compatibles avec les politiques basées sur les ressources, les administrateurs de service peuvent les utiliser pour contrôler l’accès à une ressource spécifique. Pour la ressource dans laquelle se trouve la politique, cette dernière définit quel type d’actions un principal spécifié peut effectuer sur cette ressource et dans quelles conditions. Vous devez [spécifier un principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) dans une politique basée sur les ressources. Les principaux peuvent inclure des comptes, des utilisateurs, des rôles, des utilisateurs fédérés ou. Services AWS

Pour permettre un accès intercompte, vous pouvez spécifier un compte entier ou des entités IAM dans un autre compte en tant que principal dans une politique basée sur les ressources. Pour plus d’informations, consultez [Accès intercompte aux ressources dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) dans le *Guide de l’utilisateur IAM*.

### Actions politiques pour Amazon Location
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**Prend en charge les actions de politique :** oui

Les administrateurs peuvent utiliser les politiques AWS JSON pour spécifier qui a accès à quoi. C’est-à-dire, quel **principal** peut effectuer **des actions** sur quelles **ressources** et dans quelles **conditions**.

L’élément `Action` d’une politique JSON décrit les actions que vous pouvez utiliser pour autoriser ou refuser l’accès à une politique. Intégration d’actions dans une politique afin d’accorder l’autorisation d’exécuter les opérations associées.



Pour consulter la liste des actions Amazon Location, consultez la section [Actions définies par Amazon Location Service](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonlocation.html#amazonlocation-actions-as-permissions) dans la *référence d'autorisation du service*.

Les actions politiques dans Amazon Location utilisent le préfixe suivant avant l'action :

```
geo
```

Pour indiquer plusieurs actions dans une seule déclaration, séparez-les par des virgules.

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





Vous pouvez aussi spécifier plusieurs actions à l’aide de caractères génériques (\$1). Par exemple, pour spécifier toutes les actions qui commencent par le mot `Get`, incluez l’action suivante :

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

Pour consulter des exemples de politiques basées sur l'identité d'Amazon Location, consultez. [Exemples de politiques basées sur l'identité pour Amazon Location Service](#security_iam_id-based-policy-examples)

### Ressources relatives aux politiques pour Amazon Location
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**Prend en charge les ressources de politique :** oui

Les administrateurs peuvent utiliser les politiques AWS JSON pour spécifier qui a accès à quoi. C’est-à-dire, quel **principal** peut effectuer **des actions** sur quelles **ressources** et dans quelles **conditions**.

L’élément de politique JSON `Resource` indique le ou les objets auxquels l’action s’applique. Il est recommandé de définir une ressource à l’aide de son [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). Pour les actions qui ne sont pas compatibles avec les autorisations de niveau ressource, utilisez un caractère générique (\$1) afin d’indiquer que l’instruction s’applique à toutes les ressources.

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

Pour consulter la liste des types de ressources Amazon Location et leurs caractéristiques ARNs, consultez la section [Ressources définies par Amazon Location Service](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonlocation.html#amazonlocation-resources-for-iam-policies) dans la *référence d'autorisation du service*. Pour savoir avec quelles actions vous pouvez spécifier l'ARN de chaque ressource, consultez [Actions définies par Amazon Location Service](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonlocation.html#amazonlocation-actions-as-permissions).





Pour consulter des exemples de politiques basées sur l'identité d'Amazon Location, consultez. [Exemples de politiques basées sur l'identité pour Amazon Location Service](#security_iam_id-based-policy-examples)

### Clés relatives aux conditions de politique pour Amazon Location
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

**Prend en charge les clés de condition de politique spécifiques au service :** oui

Les administrateurs peuvent utiliser les politiques AWS JSON pour spécifier qui a accès à quoi. C’est-à-dire, quel **principal** peut effectuer **des actions** sur quelles **ressources** et dans quelles **conditions**.

L’élément `Condition` indique à quel moment les instructions s’exécutent en fonction de critères définis. Vous pouvez créer des expressions conditionnelles qui utilisent des [opérateurs de condition](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), tels que les signes égal ou inférieur à, pour faire correspondre la condition de la politique aux valeurs de la demande. Pour voir toutes les clés de condition AWS globales, voir les clés de [contexte de condition AWS globales](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) dans le *guide de l'utilisateur IAM*.

Pour consulter la liste des clés de condition Amazon Location, consultez la section [Clés de condition pour Amazon Location Service](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonlocation.html#amazonlocation-policy-keys) dans la *référence d'autorisation du service*. Pour savoir avec quelles actions et ressources vous pouvez utiliser une clé de condition, consultez [Actions définies par Amazon Location Service](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonlocation.html#amazonlocation-actions-as-permissions).

Amazon Location prend en charge les clés de condition pour vous permettre d'autoriser ou de refuser l'accès à des barrières géographiques ou à des appareils spécifiques dans vos déclarations de politique. Les clés de condition suivantes sont disponibles :
+ `geo:GeofenceIds`à utiliser avec les actions Geofence. Le type est`ArrayOfString`.
+ `geo:DeviceIds`à utiliser avec les actions Tracker. Le type est`ArrayOfString`.

Les actions suivantes peuvent être utilisées `geo:GeofenceIds` dans votre politique IAM :
+ `BatchDeleteGeofences`
+ `BatchPutGeofences`
+ `GetGeofence`
+ `PutGeofence`

Les actions suivantes peuvent être utilisées `geo:DeviceIds` dans votre politique IAM :
+ `BatchDeleteDevicePositionHistory`
+ `BatchGetDevicePosition`
+ `BatchUpdateDevicePosition`
+ `GetDevicePosition`
+ `GetDevicePositionHistory`

**Note**  
Vous ne pouvez pas utiliser ces clés de condition avec les `ListDevicePosition` actions `BatchEvaluateGeofences``ListGeofences`, ou.

Pour consulter des exemples de politiques basées sur l'identité d'Amazon Location, consultez. [Exemples de politiques basées sur l'identité pour Amazon Location Service](#security_iam_id-based-policy-examples)

### ACLs sur Amazon Location
<a name="security_iam_service-with-iam-acls"></a>

**Supports ACLs :** Non 

Les listes de contrôle d'accès (ACLs) contrôlent les principaux (membres du compte, utilisateurs ou rôles) autorisés à accéder à une ressource. ACLs sont similaires aux politiques basées sur les ressources, bien qu'elles n'utilisent pas le format de document de politique JSON.

### ABAC avec Amazon Location
<a name="security_iam_service-with-iam-tags"></a>

**Prise en charge d’ABAC (balises dans les politiques) :** Oui

Le contrôle d’accès par attributs (ABAC) est une stratégie d’autorisation qui définit les autorisations en fonction des attributs appelés balises. Vous pouvez associer des balises aux entités et aux AWS ressources IAM, puis concevoir des politiques ABAC pour autoriser les opérations lorsque la balise du principal correspond à la balise de la ressource.

Pour contrôler l’accès basé sur des étiquettes, vous devez fournir les informations d’étiquette dans l’[élément de condition](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) d’une politique utilisant les clés de condition `aws:ResourceTag/key-name`, `aws:RequestTag/key-name` ou `aws:TagKeys`.

Si un service prend en charge les trois clés de condition pour tous les types de ressources, alors la valeur pour ce service est **Oui**. Si un service prend en charge les trois clés de condition pour certains types de ressources uniquement, la valeur est **Partielle**.

Pour plus d’informations sur ABAC, consultez [Définition d’autorisations avec l’autorisation ABAC](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) dans le *Guide de l’utilisateur IAM*. Pour accéder à un didacticiel décrivant les étapes de configuration de l’ABAC, consultez [Utilisation du contrôle d’accès par attributs (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html) dans le *Guide de l’utilisateur IAM*.

Pour plus d'informations sur le balisage des ressources Amazon Location, consultez[Comment utiliser les tags](manage-resources.md#manage-resources_how-to).

Pour visualiser un exemple de politique basée sur l’identité permettant de limiter l’accès à une ressource en fonction des balises de cette ressource, consultez [Contrôlez l'accès aux ressources en fonction des balises](#security_iam_tag-based-policy-example).

### Utilisation d'informations d'identification temporaires avec Amazon Location
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**Prend en charge les informations d’identification temporaires :** oui

Les informations d'identification temporaires fournissent un accès à court terme aux AWS ressources et sont automatiquement créées lorsque vous utilisez la fédération ou que vous changez de rôle. AWS recommande de générer dynamiquement des informations d'identification temporaires au lieu d'utiliser des clés d'accès à long terme. Pour plus d’informations, consultez [Informations d’identification de sécurité temporaires dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) et [Services AWS compatibles avec IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) dans le *Guide de l’utilisateur IAM*.

### Autorisations principales interservices pour Amazon Location
<a name="security_iam_service-with-iam-principal-permissions"></a>

**Prend en charge les sessions d’accès direct (FAS)** : oui 

 Les sessions d'accès direct (FAS) utilisent les autorisations du principal appelant et Service AWS, combinées Service AWS à la demande d'envoi de demandes aux services en aval. Pour plus de détails sur la politique relative à la transmission de demandes FAS, consultez la section [Sessions de transmission d’accès](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html). 

### Rôles de service pour Amazon Location
<a name="security_iam_service-with-iam-roles-service"></a>

**Prend en charge les rôles de service :** Non 

 Un rôle de service est un [rôle IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) qu’un service endosse pour accomplir des actions en votre nom. Un administrateur IAM peut créer, modifier et supprimer un rôle de service à partir d’IAM. Pour plus d’informations, consultez [Création d’un rôle pour la délégation d’autorisations à un Service AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) dans le *Guide de l’utilisateur IAM*. 

**Avertissement**  
La modification des autorisations associées à un rôle de service peut perturber les fonctionnalités d'Amazon Location. Modifiez les rôles de service uniquement lorsque Amazon Location fournit des instructions à cet effet.

### Rôles liés à un service pour Amazon Location
<a name="security_iam_service-with-iam-roles-service-linked"></a>

**Prend en charge les rôles liés à un service :** non 

 Un rôle lié à un service est un type de rôle de service lié à un. Service AWS Le service peut endosser le rôle afin d’effectuer une action en votre nom. Les rôles liés à un service apparaissent dans votre Compte AWS répertoire et appartiennent au service. Un administrateur IAM peut consulter, mais ne peut pas modifier, les autorisations concernant les rôles liés à un service. 

Pour plus d’informations sur la création ou la gestion des rôles liés à un service, consultez [Services AWS qui fonctionnent avec IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html). Recherchez un service dans le tableau qui inclut un `Yes` dans la colonne **Rôle lié à un service**. Choisissez le lien **Oui** pour consulter la documentation du rôle lié à ce service.

## Comment Amazon Location Service fonctionne avec les utilisateurs non authentifiés
<a name="security_iam_unauthenticated-users"></a>

De nombreux scénarios d'utilisation d'Amazon Location Service, notamment l'affichage de cartes sur le Web ou dans une application mobile, nécessitent d'autoriser l'accès aux utilisateurs qui ne se sont pas connectés avec IAM. Pour ces scénarios non authentifiés, deux options s'offrent à vous.
+ **Utiliser des clés d'API** : pour accorder l'accès à des utilisateurs non authentifiés, vous pouvez créer des clés d'API qui donnent un accès en lecture seule à vos ressources Amazon Location Service. Cela est utile dans le cas où vous ne souhaitez pas authentifier tous les utilisateurs. Par exemple, une application Web. Pour plus d'informations sur les clés d'API, consultez[Utiliser des clés d'API pour s'authentifier](using-apikeys.md).
+ **Utiliser Amazon Cognito** — Une alternative aux clés d'API consiste à utiliser Amazon Cognito pour accorder un accès anonyme. Amazon Cognito vous permet de créer une autorisation plus riche avec une politique IAM afin de définir ce que peuvent faire les utilisateurs non authentifiés. Pour plus d'informations sur l'utilisation d'Amazon Cognito, consultez. [Utiliser le pool d'identités Amazon Cognito sur le Web](authenticating-using-cognito.md#identity-pool-js)

Pour une vue d'ensemble de la fourniture d'accès aux utilisateurs non authentifiés, voir. [Authentifiez-vous auprès d'Amazon Location Service](access.md)

## Exemples de politiques basées sur l'identité pour Amazon Location Service
<a name="security_iam_id-based-policy-examples"></a>

Par défaut, les utilisateurs et les rôles ne sont pas autorisés à créer ou à modifier les ressources Amazon Location. Pour octroyer aux utilisateurs des autorisations d’effectuer des actions sur les ressources dont ils ont besoin, un administrateur IAM peut créer des politiques IAM.

Pour apprendre à créer une politique basée sur l’identité IAM à l’aide de ces exemples de documents de politique JSON, consultez [Création de politiques IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) dans le *Guide de l’utilisateur IAM*.

Pour en savoir plus sur les actions et les types de ressources définis par Amazon Location, y compris le format ARNs de chaque type de ressource, consultez la section [Actions, ressources et clés de condition pour Amazon Location Service](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonlocation.html) dans la *référence d'autorisation du service*.

**Topics**
+ [Bonnes pratiques en matière de politiques](#security_iam_service-with-iam-policy-best-practices)
+ [Utilisation de la console Amazon Location](#security_iam_id-based-policy-examples-console)
+ [Autorisation accordée aux utilisateurs pour afficher leurs propres autorisations](#security_iam_id-based-policy-examples-view-own-permissions)
+ [Utilisation des ressources Amazon Location Service dans le cadre de la politique](#security_iam_id-based-policy-examples-using-resources)
+ [Autorisations pour mettre à jour les positions des appareils](#security_iam_id-based-policy-examples-update-device-positions)
+ [Politique de lecture seule pour les ressources de suivi](#security_iam_id-based-policy-examples-read-only-trackers)
+ [Politique de création de géofences](#security_iam_id-based-policy-examples-create-geofences)
+ [Politique de lecture seule pour les géofences](#security_iam_id-based-policy-examples-read-only-geofences)
+ [Autorisations pour le rendu d'une ressource cartographique](#security_iam_id-based-policy-examples-get-map-tiles)
+ [Autorisations pour autoriser les opérations de recherche](#security_iam_id-based-policy-examples-search-for-place)
+ [Politique de lecture seule pour les calculateurs d'itinéraires](#security_iam_id-based-policy-examples-calculate-route)
+ [Contrôlez l'accès aux ressources en fonction des clés de condition](#security_iam_condition-key-example)
+ [Contrôlez l'accès aux ressources en fonction des balises](#security_iam_tag-based-policy-example)

### Bonnes pratiques en matière de politiques
<a name="security_iam_service-with-iam-policy-best-practices"></a>

Les politiques basées sur l'identité déterminent si quelqu'un peut créer, accéder ou supprimer des ressources Amazon Location dans votre compte. Ces actions peuvent entraîner des frais pour votre Compte AWS. Lorsque vous créez ou modifiez des politiques basées sur l’identité, suivez ces instructions et recommandations :
+ **Commencez AWS par les politiques gérées et passez aux autorisations du moindre privilège : pour commencer à accorder des autorisations** à vos utilisateurs et à vos charges de travail, utilisez les *politiques AWS gérées* qui accordent des autorisations pour de nombreux cas d'utilisation courants. Ils sont disponibles dans votre Compte AWS. Nous vous recommandons de réduire davantage les autorisations en définissant des politiques gérées par les AWS clients spécifiques à vos cas d'utilisation. Pour plus d’informations, consultez [politiques gérées par AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) ou [politiques gérées par AWS pour les activités professionnelles](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) dans le *Guide de l’utilisateur IAM*.
+ **Accordez les autorisations de moindre privilège** : lorsque vous définissez des autorisations avec des politiques IAM, accordez uniquement les autorisations nécessaires à l’exécution d’une seule tâche. Pour ce faire, vous définissez les actions qui peuvent être entreprises sur des ressources spécifiques dans des conditions spécifiques, également appelées *autorisations de moindre privilège*. Pour plus d’informations sur l’utilisation d’IAM pour appliquer des autorisations, consultez [politiques et autorisations dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) dans le *Guide de l’utilisateur IAM*.
+ **Utilisez des conditions dans les politiques IAM pour restreindre davantage l’accès** : vous pouvez ajouter une condition à vos politiques afin de limiter l’accès aux actions et aux ressources. Par exemple, vous pouvez écrire une condition de politique pour spécifier que toutes les demandes doivent être envoyées via SSL. Vous pouvez également utiliser des conditions pour accorder l'accès aux actions de service si elles sont utilisées par le biais d'un service spécifique Service AWS, tel que CloudFormation. Pour plus d’informations, consultez [Conditions pour éléments de politique JSON IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) dans le *Guide de l’utilisateur IAM*.
+ **Utilisez l’Analyseur d’accès IAM pour valider vos politiques IAM afin de garantir des autorisations sécurisées et fonctionnelles** : l’Analyseur d’accès IAM valide les politiques nouvelles et existantes de manière à ce que les politiques IAM respectent le langage de politique IAM (JSON) et les bonnes pratiques IAM. IAM Access Analyzer fournit plus de 100 vérifications de politiques et des recommandations exploitables pour vous aider à créer des politiques sécurisées et fonctionnelles. Pour plus d’informations, consultez [Validation de politiques avec IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) dans le *Guide de l’utilisateur IAM*.
+ **Exiger l'authentification multifactorielle (MFA**) : si vous avez un scénario qui nécessite des utilisateurs IAM ou un utilisateur root, activez l'authentification MFA pour une sécurité accrue. Compte AWS Pour exiger la MFA lorsque des opérations d’API sont appelées, ajoutez des conditions MFA à vos politiques. Pour plus d’informations, consultez [Sécurisation de l’accès aux API avec MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) dans le *Guide de l’utilisateur IAM*.

Pour plus d’informations sur les bonnes pratiques dans IAM, consultez [Bonnes pratiques de sécurité dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) dans le *Guide de l’utilisateur IAM*.

### Utilisation de la console Amazon Location
<a name="security_iam_id-based-policy-examples-console"></a>

Pour accéder à la console Amazon Location Service, vous devez disposer d'un ensemble minimal d'autorisations. Ces autorisations doivent vous permettre de répertorier et de consulter les informations relatives aux ressources Amazon Location présentes dans votre Compte AWS. Si vous créez une politique basée sur l’identité qui est plus restrictive que l’ensemble minimum d’autorisations requis, la console ne fonctionnera pas comme prévu pour les entités (utilisateurs ou rôles) tributaires de cette politique.

Il n'est pas nécessaire d'accorder des autorisations de console minimales aux utilisateurs qui appellent uniquement l'API AWS CLI ou l' AWS API. Autorisez plutôt l’accès à uniquement aux actions qui correspondent à l’opération d’API qu’ils tentent d’effectuer.

Pour garantir que les utilisateurs et les rôles peuvent utiliser la console Amazon Location, associez la politique suivante aux entités. Pour plus d’informations, consultez [Ajout d’autorisations à un utilisateur](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) dans le *Guide de l’utilisateur IAM*.

La politique suivante donne accès à la console Amazon Location Service, afin de pouvoir créer, supprimer, répertorier et consulter les informations relatives aux ressources Amazon Location dans votre AWS compte.

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

Vous pouvez également accorder des autorisations en lecture seule pour faciliter l'accès en lecture seule. Avec les autorisations en lecture seule, un message d'erreur apparaît si l'utilisateur tente d'effectuer des actions d'écriture telles que la création ou la suppression de ressources. À titre d'exemple, voir [Politique de lecture seule pour les ressources de suivi](#security_iam_id-based-policy-examples-read-only-trackers)

### Autorisation accordée aux utilisateurs pour afficher leurs propres autorisations
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

Cet exemple montre comment créer une politique qui permet aux utilisateurs IAM d’afficher les politiques en ligne et gérées attachées à leur identité d’utilisateur. Cette politique inclut les autorisations permettant d'effectuer cette action sur la console ou par programmation à l'aide de l'API AWS CLI or 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": "*"
        }
    ]
}
```

### Utilisation des ressources Amazon Location Service dans le cadre de la politique
<a name="security_iam_id-based-policy-examples-using-resources"></a>

Amazon Location Service utilise les préfixes suivants pour les ressources :


**Préfixe de ressource Amazon Location**  

| Ressource | Préfixe de ressource | 
| --- | --- | 
| Ressources cartographiques | map | 
| Placer des ressources | place-index | 
| Ressources relatives aux itinéraires | route-calculator | 
| Ressources de suivi | tracker | 
| Ressources de la collection Geofence | geofence-collection | 

Utilisez la syntaxe ARN suivante :

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

Pour plus d'informations sur le format de ARNs, consultez [Amazon Resource Names (ARNs) et AWS Service Namespaces](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html).

**Exemples**
+ Utilisez l'ARN suivant pour autoriser l'accès à une ressource cartographique spécifiée.

  ```
  "Resource": "arn:aws:geo:us-west-2:account-id:map/map-resource-name"
  ```
+ Pour spécifier l'accès à toutes les `map` ressources appartenant à un compte spécifique, utilisez le caractère générique (\$1) :

  ```
  "Resource": "arn:aws:geo:us-west-2:account-id:map/*"
  ```
+ Certaines actions Amazon Location, telles que celles relatives à la création de ressources, ne peuvent pas être effectuées sur une ressource spécifique. Dans ces cas-là, vous devez utiliser le caractère générique (\$1).

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

Pour consulter la liste des types de ressources Amazon Location et leurs caractéristiques ARNs, consultez la section [Ressources définies par Amazon Location Service](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonlocation.html#amazonlocation-resources-for-iam-policies) dans la *référence d'autorisation du service*. Pour savoir avec quelles actions vous pouvez spécifier l'ARN de chaque ressource, consultez [Actions définies par Amazon Location Service](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonlocation.html#amazonlocation-actions-as-permissions).

### Autorisations pour mettre à jour les positions des appareils
<a name="security_iam_id-based-policy-examples-update-device-positions"></a>

 Pour mettre à jour les positions de plusieurs appareils de suivi, vous devez autoriser un utilisateur à accéder à une ou plusieurs de vos ressources de suivi. Vous souhaiterez également autoriser l'utilisateur à mettre à jour un lot de positions d'appareils.

Dans cet exemple, en plus d'accorder l'accès aux *Tracker2* ressources *Tracker1* et, la politique suivante autorise l'utilisation de l'`geo:BatchUpdateDevicePosition`action contre les *Tracker2* ressources *Tracker1* et.

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

Si vous souhaitez limiter l'utilisateur afin qu'il puisse uniquement mettre à jour les positions de l'appareil pour un appareil spécifique, vous pouvez ajouter une clé de condition pour cet identifiant d'appareil.

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

### Politique de lecture seule pour les ressources de suivi
<a name="security_iam_id-based-policy-examples-read-only-trackers"></a>

Pour créer une politique de lecture seule pour toutes les ressources de suivi de votre AWS compte, vous devez autoriser l'accès à toutes les ressources de suivi. Vous devez également autoriser un utilisateur à accéder aux actions qui lui permettent d'obtenir la position de plusieurs appareils, d'obtenir la position de l'appareil à partir d'un seul appareil et d'obtenir l'historique des positions.

Dans cet exemple, la politique suivante autorise les actions suivantes :
+ `geo:BatchGetDevicePosition`pour récupérer la position de plusieurs appareils.
+ `geo:GetDevicePosition`pour récupérer la position d'un seul appareil.
+ `geo:GetDevicePositionHistory`pour récupérer l'historique des positions d'un appareil.

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

### Politique de création de géofences
<a name="security_iam_id-based-policy-examples-create-geofences"></a>

Pour créer une politique autorisant un utilisateur à créer des géofences, vous devez autoriser l'accès à des actions spécifiques qui permettent aux utilisateurs de créer une ou plusieurs géofences sur une collection de géofences.

La politique ci-dessous autorise les actions suivantes sur *Collection* :
+ `geo:BatchPutGeofence`pour créer plusieurs géofences.
+ `geo:PutGeofence`pour créer une géofence unique.

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

### Politique de lecture seule pour les géofences
<a name="security_iam_id-based-policy-examples-read-only-geofences"></a>

Pour créer une politique de lecture seule pour les géofences stockées dans une collection de géofences de votre AWS compte, vous devez autoriser l'accès aux actions qui lisent à partir de la collection de géofences stockant les géofences.

La politique ci-dessous autorise les actions suivantes sur *Collection* :
+ `geo:ListGeofences`pour répertorier les géofences dans la collection de géofences spécifiée.
+ `geo:GetGeofence`pour récupérer une géofence dans la collection de géofences.

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

### Autorisations pour le rendu d'une ressource cartographique
<a name="security_iam_id-based-policy-examples-get-map-tiles"></a>

Pour accorder des autorisations suffisantes pour afficher des cartes, vous devez autoriser l'accès aux vignettes de carte, aux sprites, aux glyphes et au descripteur de style :
+ `geo:GetMapTile`récupère les tuiles de carte utilisées pour afficher de manière sélective les entités d'une carte.
+ `geo:GetMapSprites`récupère la feuille de sprites PNG et le document JSON correspondant décrivant les décalages qu'elle contient.
+ `geo:GetMapGlyphs`récupère les glyphes utilisés pour afficher le texte.
+ `geo:GetMapStyleDescriptor`récupère le descripteur de style de la carte, qui contient les règles de rendu.

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

### Autorisations pour autoriser les opérations de recherche
<a name="security_iam_id-based-policy-examples-search-for-place"></a>

Pour créer une politique autorisant les opérations de recherche, vous devez d'abord autoriser l'accès à la ressource d'index des lieux de votre AWS compte. Vous souhaiterez également autoriser l'accès aux actions qui permettent à l'utilisateur d'effectuer une recherche à l'aide de texte par géocodage et de rechercher à l'aide d'une position par géocodage inversé.

Dans cet exemple, en plus d'accorder l'accès à*PlaceIndex*, la politique suivante autorise également les actions suivantes :
+ `geo:SearchPlaceIndexForPosition`vous permet de rechercher des lieux ou des points d'intérêt à proximité d'une position donnée. 
+ `geo:SearchPlaceIndexForText`vous permet de rechercher une adresse, un nom, une ville ou une région à l'aide de texte libre.

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

### Politique de lecture seule pour les calculateurs d'itinéraires
<a name="security_iam_id-based-policy-examples-calculate-route"></a>

Vous pouvez créer une politique en lecture seule pour permettre à un utilisateur d'accéder à une ressource de calcul d'itinéraire pour calculer un itinéraire. 

Dans cet exemple, en plus d'accorder l'accès à*ExampleCalculator*, la politique suivante autorise l'opération suivante :
+ `geo:CalculateRoute`calcule un itinéraire en fonction d'une position de départ, d'une position de destination et d'une liste de positions de points de cheminement. 

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

### Contrôlez l'accès aux ressources en fonction des clés de condition
<a name="security_iam_condition-key-example"></a>

Lorsque vous créez une politique IAM pour autoriser l'accès à l'utilisation de géofences ou de positions d'appareils, vous pouvez utiliser [les opérateurs de condition](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html) pour contrôler plus précisément les géofences ou les appareils auxquels un utilisateur peut accéder. Vous pouvez le faire en incluant l'identifiant de géofence ou l'identifiant de l'appareil dans l'`Condition`élément de votre politique.

L'exemple de politique suivant montre comment créer une politique qui permet à un utilisateur de mettre à jour les positions des appareils pour un appareil spécifique.

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

### Contrôlez l'accès aux ressources en fonction des balises
<a name="security_iam_tag-based-policy-example"></a>

Lorsque vous créez une politique IAM pour autoriser l'accès à vos ressources Amazon Location, vous pouvez utiliser le [contrôle d'accès basé sur les attributs](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) pour mieux contrôler les ressources qu'un utilisateur peut modifier, utiliser ou supprimer. Vous pouvez le faire en incluant les informations relatives aux balises dans l'`Condition`élément de votre politique afin de contrôler l'accès en fonction de vos [balises](manage-resources.md#manage-resources_how-to) de ressources.

L'exemple de politique suivant montre comment créer une politique permettant à un utilisateur de créer des barrières géographiques. Cela autorise les actions suivantes pour créer une ou plusieurs géofences sur une collection de géofences appelée : *Collection*
+ `geo:BatchPutGeofence`pour créer plusieurs géofences.
+ `geo:PutGeofence`pour créer une géofence unique.

Toutefois, cette politique utilise l'`Condition`élément pour accorder l'autorisation uniquement si la *Collection* balise a la valeur du nom d'utilisateur de cet utilisateur. `Owner` 
+ Par exemple, si un utilisateur nommé `richard-roe` tente de consulter un point de vente Amazon*Collection*, celui-ci *Collection* doit être étiqueté `Owner=richard-roe` ou`owner=richard-roe`. Dans le cas contraire, l'accès est refusé à l'utilisateur. 
**Note**  
La clé de condition d'étiquette `Owner` correspond à la fois à `Owner` et à `owner`, car les noms de clé de condition ne sont pas sensibles à la casse. Pour plus d'informations, veuillez consulter la rubrique [Éléments de stratégie JSON IAM : Condition](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) dans le *Guide de l'utilisateur 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}"}
      }
    }
  ]
}
```

Pour un didacticiel expliquant [comment définir les autorisations d'accès aux ressources AWS en fonction de balises](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html), consultez le *guide de Gestion des identités et des accès AWS l'utilisateur*.

## Résolution des problèmes d'identité et d'accès à Amazon Location Service
<a name="security_iam_troubleshoot"></a>

Utilisez les informations suivantes pour vous aider à diagnostiquer et à résoudre les problèmes courants que vous pouvez rencontrer lorsque vous travaillez avec Amazon Location et IAM.

**Topics**
+ [Je ne suis pas autorisé à effectuer une action sur Amazon Location](#security_iam_troubleshoot-no-permissions)
+ [Je ne suis pas autorisé à effectuer iam : PassRole](#security_iam_troubleshoot-passrole)
+ [Je souhaite autoriser des personnes extérieures Compte AWS à moi à accéder à mes ressources Amazon Location](#security_iam_troubleshoot-cross-account-access)

### Je ne suis pas autorisé à effectuer une action sur Amazon Location
<a name="security_iam_troubleshoot-no-permissions"></a>

Si vous recevez une erreur qui indique que vous n’êtes pas autorisé à effectuer une action, vos politiques doivent être mises à jour afin de vous permettre d’effectuer l’action.

L’exemple d’erreur suivant se produit quand l’utilisateur IAM `mateojackson` tente d’utiliser la console pour afficher des informations détaillées sur une ressource `my-example-widget` fictive, mais ne dispose pas des autorisations `geo:GetWidget` fictives.

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

Dans ce cas, la politique qui s’applique à l’utilisateur `mateojackson` doit être mise à jour pour autoriser l’accès à la ressource `my-example-widget` à l’aide de l’action `geo:GetWidget`.

Si vous avez besoin d'aide, contactez votre AWS administrateur. Votre administrateur vous a fourni vos informations d’identification de connexion.

### Je ne suis pas autorisé à effectuer iam : PassRole
<a name="security_iam_troubleshoot-passrole"></a>

Si vous recevez un message d'erreur indiquant que vous n'êtes pas autorisé à effectuer l'`iam:PassRole`action, vos politiques doivent être mises à jour pour vous permettre de transmettre un rôle à Amazon Location.

Certains vous Services AWS permettent de transmettre un rôle existant à ce service au lieu de créer un nouveau rôle de service ou un rôle lié à un service. Pour ce faire, vous devez disposer des autorisations nécessaires pour transmettre le rôle au service.

L'exemple d'erreur suivant se produit lorsqu'un utilisateur IAM nommé `marymajor` essaie d'utiliser la console pour effectuer une action dans Amazon Location. Toutefois, l’action nécessite que le service ait des autorisations accordées par un rôle de service. Mary n'est pas autorisée à transmettre le rôle au service.

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

Dans ce cas, les politiques de Mary doivent être mises à jour pour lui permettre d’exécuter l’action `iam:PassRole`.

Si vous avez besoin d'aide, contactez votre AWS administrateur. Votre administrateur vous a fourni vos informations d’identification de connexion.

### Je souhaite autoriser des personnes extérieures Compte AWS à moi à accéder à mes ressources Amazon Location
<a name="security_iam_troubleshoot-cross-account-access"></a>

Vous pouvez créer un rôle que les utilisateurs provenant d’autres comptes ou les personnes extérieures à votre organisation pourront utiliser pour accéder à vos ressources. Vous pouvez spécifier qui est autorisé à assumer le rôle. Pour les services qui prennent en charge les politiques basées sur les ressources ou les listes de contrôle d'accès (ACLs), vous pouvez utiliser ces politiques pour autoriser les utilisateurs à accéder à vos ressources.

Pour plus d’informations, consultez les éléments suivants :
+ Pour savoir si Amazon Location prend en charge ces fonctionnalités, consultez[Comment Amazon Location Service fonctionne avec IAM](#security_iam_service-with-iam).
+ Pour savoir comment fournir l'accès à vos ressources sur celles Comptes AWS que vous possédez, consultez la section [Fournir l'accès à un utilisateur IAM dans un autre utilisateur Compte AWS que vous possédez](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) dans le Guide de l'*utilisateur IAM*.
+ Pour savoir comment fournir l'accès à vos ressources à des tiers Comptes AWS, consultez la section [Fournir un accès à des ressources Comptes AWS détenues par des tiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html) dans le *guide de l'utilisateur IAM*.
+ Pour savoir comment fournir un accès par le biais de la fédération d’identité, consultez [Fournir un accès à des utilisateurs authentifiés en externe (fédération d’identité)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) dans le *Guide de l’utilisateur IAM*.
+ Pour en savoir plus sur la différence entre l’utilisation des rôles et des politiques basées sur les ressources pour l’accès intercompte, consultez [Accès intercompte aux ressources dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) dans le *Guide de l’utilisateur IAM*.