

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.

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