

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.

# Scopes, M2M et serveurs de ressources
<a name="cognito-user-pools-define-resource-servers"></a>

Après avoir configuré un domaine pour votre groupe d'utilisateurs, Amazon Cognito fournit automatiquement un serveur d'autorisation OAuth 2.0 et une interface utilisateur Web hébergée avec des pages d'inscription et de connexion que votre application peut présenter à vos utilisateurs. Pour de plus amples informations, veuillez consulter [Connexion gérée par le groupe d'utilisateurs](cognito-user-pools-managed-login.md). Vous pouvez choisir les portées que vous souhaitez que le serveur d'autorisation ajoute aux jetons d'accès. Les portées autorisent l'accès aux serveurs de ressources et aux données utilisateur.

Un *serveur de ressources* est un serveur d'API OAuth 2.0. Pour sécuriser les ressources à accès protégé, il vérifie que les jetons d'accès de votre groupe d'utilisateurs contiennent les portées autorisant la méthode et le chemin demandés dans l'API qu'il protège. Il vérifie l'émetteur en fonction de la signature du jeton, la validité en fonction de l'heure d'expiration du jeton et le niveau d'accès en fonction des portées des enregistrements du jeton. Les étendues du groupe d'utilisateurs figurent dans la `scope` réclamation du jeton d'accès. Pour plus d'informations sur les enregistrements relatifs aux jetons d'accès Amazon Cognito, consultez [Comprendre le jeton d'accès](amazon-cognito-user-pools-using-the-access-token.md).

Avec Amazon Cognito, les étendues des jetons d'accès peuvent autoriser l'accès à des attributs externes APIs ou à des attributs utilisateur. Vous pouvez émettre des jetons d'accès à des utilisateurs locaux, à des utilisateurs fédérés ou à des identités de machine.

**Topics**
+ [Autorisation d’API](#cognito-user-pools-define-resource-servers-about-api-authz)
+ [Machine-to-machine Autorisation (M2M)](#cognito-user-pools-define-resource-servers-about-m2m)
+ [À propos des portées](#cognito-user-pools-define-resource-servers-about-scopes)
+ [À propos des serveurs de ressources](#cognito-user-pools-define-resource-servers-about-resource-servers)
+ [Liaison de ressources](#cognito-user-pools-resource-binding)

## Autorisation d’API
<a name="cognito-user-pools-define-resource-servers-about-api-authz"></a>

Voici quelques-unes des manières dont vous pouvez autoriser les demandes à l' APIs aide de jetons Amazon Cognito :

**Jeton d’accès**  
Lorsque vous ajoutez un autorisateur Amazon Cognito à une configuration de demande de méthode d'API REST, ajoutez des **étendues d'autorisation** à la configuration de l'autorisateur. Avec cette configuration, votre API accepte les jetons d'accès dans l'`Authorization`en-tête et les examine pour déterminer s'ils ont des étendues acceptées.

**Jeton d’identification**  
Lorsque vous transmettez un jeton d'identification valide à un autorisateur Amazon Cognito dans votre API REST, API Gateway accepte la demande et transmet le contenu du jeton d'identification au backend de l'API.

**Amazon Verified Permissions**  
Dans Autorisations vérifiées, vous avez la possibilité de créer un magasin de [politiques lié à une API](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/policy-stores_api-userpool.html). Verified Permissions crée et attribue un autorisateur Lambda qui traite les identifiants ou les jetons d'accès à partir de l'en-tête de votre demande. `Authorization` Cet autorisateur Lambda transmet votre jeton à votre magasin de politiques, où Verified Permissions le compare aux politiques et renvoie une décision d'autorisation ou de refus à l'autorisateur.

**Ressources supplémentaires**
+ [Contrôle et gestion de l'accès à une API REST dans API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-control-access-to-api.html)
+ [Autorisation avec Amazon Verified Permissions](amazon-cognito-authorization-with-avp.md)

## Machine-to-machine Autorisation (M2M)
<a name="cognito-user-pools-define-resource-servers-about-m2m"></a>

Amazon Cognito prend en charge les applications qui accèdent aux données d'API avec des identités de *machine.* Les identités des machines dans les groupes d'utilisateurs sont des [clients confidentiels](user-pool-settings-client-apps.md#user-pool-settings-client-app-client-types) qui s'exécutent sur des serveurs d'applications et se connectent à distance APIs. Leur fonctionnement s'effectue sans interaction de l'utilisateur : tâches planifiées, flux de données ou mises à jour des actifs. Lorsque ces clients autorisent leurs demandes à l'aide d'un jeton d'accès, ils effectuent une autorisation *machine à machine*, ou M2M. Dans l'autorisation M2M, un secret partagé remplace les informations d'identification de l'utilisateur dans le contrôle d'accès.

Une application qui accède à une API avec une autorisation M2M doit disposer d'un identifiant client et d'un secret client. Dans votre groupe d'utilisateurs, vous devez créer un client d'application qui prend en charge les autorisations d'identification des clients. Pour prendre en charge les informations d'identification des clients, le client de votre application doit disposer d'un secret client et vous devez disposer d'un domaine de groupe d'utilisateurs. Dans ce flux, l'identité de votre machine demande un jeton d'accès directement auprès du[Point de terminaison de jeton](token-endpoint.md). Vous ne pouvez autoriser que des étendues personnalisées provenant de [serveurs de ressources](#cognito-user-pools-define-resource-servers-about-resource-servers) dans des jetons d'accès pour l'attribution des informations d'identification des clients. Pour plus d'informations sur la configuration des clients d'applications, consultez[Paramètres spécifiques à l'application avec les clients d'applications](user-pool-settings-client-apps.md).

Le jeton d'accès issu de l'octroi d'informations d'identification d'un client est une déclaration vérifiable des opérations que vous souhaitez autoriser à demander l'identité de votre machine à une API. Pour en savoir plus sur la façon dont les jetons d'accès autorisent les demandes d'API, poursuivez votre lecture. Pour un exemple d'application, consultez [Amazon Cognito et l'autorisation machine à machine basée sur API Gateway à l'aide AWS](https://github.com/aws-samples/amazon-cognito-and-api-gateway-based-machine-to-machine-authorization-using-aws-cdk) du CDK.

L'autorisation M2M repose sur un modèle de facturation différent de la façon dont les utilisateurs actifs mensuels (MAUs) sont facturés. Lorsque l'authentification des utilisateurs entraîne un coût par utilisateur actif, la facturation M2M reflète les informations d'identification des clients actifs, les clients des applications et le volume total de demandes de jetons. Pour plus d’informations, consultez [Tarification d’Amazon Cognito](https://aws.amazon.com/cognito/pricing). Pour contrôler les coûts d'autorisation M2M, optimisez la durée des jetons d'accès et le nombre de demandes de jetons effectuées par vos applications. Découvrez comment utiliser [Gestion de l'expiration et de la mise en cache des jetons du pool d'utilisateurs](amazon-cognito-user-pools-using-tokens-caching-tokens.md) la mise en cache d'API Gateway pour réduire les demandes de nouveaux jetons dans le cadre des autorisations M2M.

Pour plus d'informations sur l'optimisation des opérations Amazon Cognito qui ajoutent des coûts à votre AWS facture, consultez. [Gestion des coûts](tracking-cost.md#tracking-cost-managing)

**Métadonnées client pour les informations d' machine-to-machineidentification des clients (M2M)**  
Vous pouvez transmettre les [métadonnées du client dans les](cognito-user-pools-working-with-lambda-triggers.md#working-with-lambda-trigger-client-metadata) demandes M2M. Les métadonnées du client sont des informations supplémentaires provenant d'un utilisateur ou d'un environnement d'application qui peuvent contribuer aux résultats d'un[Déclencheur Lambda avant génération de jeton](user-pool-lambda-pre-token-generation.md). Lors des opérations d'authentification avec un utilisateur principal, vous pouvez transmettre les métadonnées du client au déclencheur de pré-génération du jeton dans le corps des demandes d'[RespondToAuthChallenge](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_RespondToAuthChallenge.html)API [AdminRespondToAuthChallenge](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminRespondToAuthChallenge.html)et d'API. Dans la mesure où les applications gèrent le flux de génération de jetons d'accès pour le M2M avec des demandes directes adressées au[Point de terminaison de jeton](token-endpoint.md), elles ont un modèle différent. Dans le corps POST des demandes de jetons pour les informations d'identification du client, transmettez un `aws_client_metadata` paramètre avec l'objet de métadonnées client encodé en URL (`x-www-form-urlencoded`) à une chaîne. Pour obtenir un exemple de demande, consultez [Informations d'identification du client avec autorisation de baseInformations d'identification du client avec autorisation POST](token-endpoint.md#exchanging-client-credentials-for-an-access-token-in-request-body). Voici un exemple de paramètre qui transmet les paires clé-valeur. `{"environment": "dev", "language": "en-US"}`

```
aws_client_metadata=%7B%22environment%22%3A%20%22dev%22,%20%22language%22%3A%20%22en-US%22%7D
```

## À propos des portées
<a name="cognito-user-pools-define-resource-servers-about-scopes"></a>

Une *portée* est un niveau d'accès qu'une application peut demander à une ressource. Dans un jeton d'accès Amazon Cognito, la portée est renforcée par la confiance que vous avez établie avec votre groupe d'utilisateurs : un émetteur fiable de jetons d'accès doté d'une signature numérique connue. Les groupes d'utilisateurs peuvent générer des jetons d'accès dont les portées prouvent que votre client est autorisé à gérer tout ou partie de son propre profil utilisateur, ou à récupérer des données depuis une API principale. Les groupes d'utilisateurs Amazon Cognito émettent des jetons d'accès avec *la portée d'API réservée aux groupes d'utilisateurs*, *des étendues personnalisées et des étendues* *OpenID Connect* (OIDC).

**Champ d'application de l'API réservé aux groupes d'utilisateurs**  
Le `aws.cognito.signin.user.admin` champ d'application autorise les opérations en libre-service pour l'utilisateur actuel dans l'API des groupes d'utilisateurs Amazon Cognito. Il autorise le porteur d'un jeton d'accès à interroger et à mettre à jour toutes les informations le concernant avec, par exemple, les opérations [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html)et [UpdateUserAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserAttributes.html)l'API. Lorsque vous authentifiez votre utilisateur avec l'API des groupes d'utilisateurs Amazon Cognito, il s'agit de la seule portée que vous recevez dans le jeton d'accès. C'est également la seule portée dont vous avez besoin pour lire et écrire les attributs utilisateur pour lesquels vous avez donné des droits de lecture et d'écriture à votre client d'application. Vous pouvez également demander cette portée dans les demandes adressées à votre [Point de terminaison d’autorisation](authorization-endpoint.md). La portée seule ne suffit pas à demander les attributs utilisateur au [Point de terminaison UserInfo](userinfo-endpoint.md). Pour les jetons d'accès qui autorisent à la fois l'API des groupes d'utilisateurs *et* les demandes `userInfo` pour vos utilisateurs, vous devez demander à la fois les portées `openid` et `aws.cognito.signin.user.admin` dans une demande `/oauth2/authorize`.

**Oscéscopes personnalisés**  
Les étendues personnalisées autorisent les demandes adressées à l'extérieur APIs que les serveurs de ressources protègent. Vous pouvez demander des portées personnalisées avec d'autres types de portées. Vous trouverez plus d'informations sur les portées personnalisées sur cette page.

**Éscopes OpenID Connect (OIDC)**  
Lorsque vous authentifiez des utilisateurs avec le serveur d'autorisation de votre groupe d'utilisateurs, y compris avec une connexion gérée, vous devez demander des étendues. Vous pouvez authentifier les utilisateurs locaux du groupe d'utilisateurs et les utilisateurs fédérés tiers sur votre serveur d'autorisation Amazon Cognito. Les champs d'application OIDC autorisent votre application à lire les informations utilisateur de votre [Point de terminaison UserInfo](userinfo-endpoint.md) groupe d'utilisateurs. Le OAuth modèle, dans lequel vous interrogez les attributs utilisateur depuis le `userInfo` point de terminaison, permet d'optimiser votre application pour un volume élevé de demandes d'attributs utilisateur. Le point de terminaison `userInfo` renvoie des attributs à un niveau d'autorisation déterminé par les portées du jeton d'accès. Vous pouvez autoriser le client de votre application à émettre des jetons d'accès avec les champs d'application OIDC suivants.

openid  
Portée minimale pour les requêtes OpenID Connect (OIDC). Autorise le jeton d'identification, l'enregistrement d'identifiant unique `sub` et la possibilité de demander d'autres portées.  
Lorsque vous demandez la portée `openid` et aucune autre, votre jeton d'identification de groupe d'utilisateurs et votre réponse `userInfo` incluent les demandes de tous les attributs utilisateur que votre client d'application peut lire. Lorsque vous demandez `openid` et d'autres champs d'application OIDC tels que `profile``email`, et`phone`, le contenu du jeton d'identification et de la réponse [UserInfo](userinfo-endpoint.md#userinfo-endpoint.title) est limité aux contraintes des étendues supplémentaires.  
Par exemple, une requête adressée au [Point de terminaison d’autorisation](authorization-endpoint.md) avec le paramètre `scope=openid+email` renvoie un jeton d'identification avec `sub`, `email` et`email_verified`. Le jeton d'accès issu de cette demande renvoie les mêmes attributs depuis[Point de terminaison UserInfo](userinfo-endpoint.md). Une demande avec le paramètre `scope=openid` renvoie tous les attributs lisibles par le client dans le jeton d'identification et depuis `userInfo`.

profile  
Autorise tous les attributs utilisateur que le client d'application peut lire.

e-mail  
Autorise les attributs utilisateur `email` et `email_verified`. Amazon Cognito renvoie une valeur `email_verified` si une valeur a été définie de manière explicite.

phone  
Autorise les attributs utilisateur `phone_number` et `phone_number_verified`.

## À propos des serveurs de ressources
<a name="cognito-user-pools-define-resource-servers-about-resource-servers"></a>

Une API de serveur de ressources peut autoriser l'accès aux informations d'une base de données ou contrôler vos ressources informatiques. Un jeton d'accès Amazon Cognito peut autoriser l'accès à APIs ce support OAuth 2.0. Amazon API APIs Gateway REST [intègre la prise en charge](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-integrate-with-cognito.html) de l'autorisation avec les jetons d'accès Amazon Cognito. Votre application transmet le jeton d'accès dans l'appel d'API au serveur de ressources. Le serveur de ressources inspecte le jeton d'accès pour déterminer si l'accès doit être accordé.

Amazon Cognito pourrait apporter de futures mises à jour au schéma des jetons d'accès du groupe d'utilisateurs. Si votre application analyse le contenu du jeton d'accès avant de le transmettre à une API, vous devez concevoir votre code pour accepter les mises à jour du schéma.

Vous définissez les portées personnalisées, qui étendent les capacités d'autorisation d'un groupe d'utilisateurs pour inclure des objectifs non liés à l'interrogation et à la modification des utilisateurs et de leurs attributs. Par exemple, si vous avez un serveur de ressources pour les photos, il peut définir deux zones : `photos.read` pour l'accès en lecture aux photos et `photos.write` pour l' write/delete accès. Vous pouvez configurer une API pour accepter des jetons d'accès à des fins d'autorisation et accorder des demandes d'accès à des jetons `HTTP GET` avec `photos.read` dans la revendication `scope`, et des demandes `HTTP POST` adressées à des jetons avec `photos.write`. Il s'agit de *portées personnalisées*.

**Note**  
Votre serveur de ressources doit vérifier la signature et la date d'expiration du jeton d'accès avant de traiter toute réclamation à l'intérieur du jeton. Pour plus d'informations sur la vérification des jetons, consultez [Vérification des jetons Web JSON](amazon-cognito-user-pools-using-tokens-verifying-a-jwt.md). Pour plus d'informations sur la vérification et l'utilisation des jetons de groupe d'utilisateurs dans Amazon API Gateway, consultez le blog [Intégration des groupes d'utilisateurs Amazon Cognito avec API Gateway](https://aws.amazon.com/blogs/mobile/integrating-amazon-cognito-user-pools-with-api-gateway/). API Gateway est une bonne option pour inspecter les jetons d'accès et protéger vos ressources. Pour plus d'informations sur les mécanismes d'autorisation Lambda API Gateway, consultez [Utilisation des mécanismes d'autorisation Lambda API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html).

**Présentation de**  
Avec Amazon Cognito, vous pouvez créer des **serveurs de ressources OAuth ** 2.0 et leur associer **des étendues personnalisées**. Les portées personnalisées d'un jeton d'accès autorisent des actions spécifiques dans votre API. Vous pouvez autoriser n'importe quel client d'application de votre groupe d'utilisateurs à émettre des portées personnalisées à partir de n'importe lequel de vos serveurs de ressources. Associez vos étendues personnalisées à un client d'application et demandez ces étendues dans les autorisations de code d'autorisation OAuth 2.0, les autorisations implicites et les autorisations d'identification client auprès du. [Point de terminaison de jeton](token-endpoint.md) Amazon Cognito ajoute des portées personnalisées à la revendication `scope` d'un jeton d'accès. Un client peut utiliser le jeton d'accès sur son serveur de ressources, ce qui base la décision d'autorisation sur les périmètres présents dans le jeton. Pour plus d'informations sur la portée du jeton d'accès, consultez [Utilisation de jetons avec des groupes d'utilisateurs](amazon-cognito-user-pools-using-tokens-with-identity-providers.md).

![\[Vue d'ensemble du flux d'un serveur de ressources. Le client demande une autorisation avec une portée personnalisée, le groupe d'utilisateurs renvoie un jeton d'accès avec la portée personnalisée et le client présente le jeton d'accès à une API.\]](http://docs.aws.amazon.com/fr_fr/cognito/latest/developerguide/images/resource-servers.png)


Pour obtenir un jeton d'accès avec des portées personnalisées, votre application doit adresser une demande au [Point de terminaison de jeton](token-endpoint.md) pour utiliser un code d'autorisation ou pour demander un octroi d'informations d'identification client. Dans le cadre de la connexion gérée, vous pouvez également demander des étendues personnalisées dans un jeton d'accès à partir d'une autorisation implicite.

**Note**  
Parce qu'elles sont conçues pour une authentification interactive avec le groupe d'utilisateurs comme IdP [InitiateAuth](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html), [AdminInitiateAuth](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminInitiateAuth.html)et que les demandes ne produisent qu'`scope`une réclamation dans le jeton d'accès avec une valeur unique. `aws.cognito.signin.user.admin`

**Gestion du serveur de ressources et des périmètres personnalisés**

Lors de la création d'un serveur de ressources, vous devez fournir un nom et un identifiant de serveur de ressources. Pour chaque portée que vous créez dans le serveur de ressources, vous devez fournir le nom et la description de la portée.
+ **Nom du serveur de ressources** : nom convivial du serveur de ressources, tel que `Solar system object tracker` ou `Photo API`.
+ **Identifiant du serveur de ressources** : identifiant unique du serveur de ressources. L'identifiant est un nom que vous pouvez associer à votre API, par exemple, `solar-system-data`. Vous pouvez configurer des identifiants plus longs, comme `https://solar-system-data-api.example.com`, en référence plus directe aux chemins d'URI des API, mais des chaînes plus longues augmentent la taille des jetons d'accès.
+ **Nom de la portée** : valeur que vous souhaitez voir figurer dans vos revendications `scope`. Par exemple, `sunproximity.read`.
+ **Description** : description conviviale de la portée. Par exemple, `Check current proximity to sun`.

Amazon Cognito peut inclure des portées personnalisées dans les jetons d'accès pour tous les utilisateurs, qu'ils soient locaux dans votre groupe d'utilisateurs ou fédérés avec un fournisseur d'identité tiers. Vous pouvez choisir les étendues des jetons d'accès de vos utilisateurs lors des flux d'authentification avec le serveur d'autorisation OAuth 2.0 qui inclut la connexion gérée. L'authentification de votre utilisateur doit commencer au [Point de terminaison d’autorisation](authorization-endpoint.md) avec `scope` en tant que l'un des paramètres de la demande. Le format suivant est recommandé pour les serveurs de ressources. Pour un identifiant, utilisez un nom d'API convivial. Pour une portée personnalisée, utilisez l'action autorisée.

```
resourceServerIdentifier/scopeName
```

Par exemple, vous avez découvert un nouvel astéroïde dans la ceinture de Kuiper et vous souhaitez l'enregistrer via votre API `solar-system-data`. La portée qui autorise les opérations d'écriture dans la base de données des astéroïdes est `asteroids.add`. Lorsque vous demandez le jeton d'accès qui vous autorisera à enregistrer votre découverte, indiquez le paramètre de votre demande HTTPS `scope` sous la forme `scope=solar-system-data/asteroids.add`.

La suppression d'une portée d'un serveur de ressources n'a pas pour effet de supprimer son association avec tous les clients. Au lieu de cela, la portée est marquée comme *inactive*. Amazon Cognito n'ajoute pas de portées inactives aux jetons d'accès, mais procède normalement si votre application en fait la demande. Si vous ajoutez à nouveau la portée à votre serveur de ressources ultérieurement, Amazon Cognito l'écrit à nouveau dans le jeton d'accès. Si vous demandez une portée que vous n'avez pas associée à votre client d'application, que vous l'ayez supprimée ou non du serveur de ressources de votre groupe d'utilisateurs, l'authentification échoue.

Vous pouvez utiliser l' AWS Management Console API ou la CLI pour définir les serveurs de ressources et les étendues de votre groupe d'utilisateurs.

### Définition d'un serveur de ressources pour votre groupe d'utilisateurs (AWS Management Console)
<a name="cognito-user-pools-define-resource-servers-console"></a>

Vous pouvez utiliser le AWS Management Console pour définir un serveur de ressources pour votre groupe d'utilisateurs.

**Pour définir un serveur de ressources**

1. Connectez-vous à la [console Amazon Cognito](https://console.aws.amazon.com/cognito/home).

1. Dans le volet de navigation, choisissez **Groupes d'utilisateurs**, puis choisissez le groupe d'utilisateurs que vous souhaitez modifier.

1. Choisissez le menu **Domaine** sous **Branding** et localisez les **serveurs de ressources**.

1. Choisissez **Créer un serveur de ressources**.

1. Saisissez un **nom du serveur de ressources**. Par exemple, `Photo Server`.

1. Saisissez un **Identifiant de serveur de ressources**. Par exemple, `com.example.photos`.

1. Saisissez les noms des **périmètres personnalisés** de vos ressources comme `read` et `write`.

1. Pour chacun des **noms de portée**, saisissez une **description**, telles que `view your photos` et `update your photos`.

1. Choisissez **Créer**.

Vos étendues personnalisées peuvent être consultées dans le menu **Domaine** sous **Serveurs de ressources**, dans la colonne **Étendue personnalisée.** Les étendues personnalisées peuvent être activées pour les clients d'applications à partir du menu **Clients** d'**applications sous Applications**. Sélectionnez un client d'application, recherchez **les pages de connexion** et choisissez **Modifier**. Ajoutez des **périmètres personnalisés** et choisissez **Save changes (Enregistrez les modifications)**.

### Définition d'un serveur de ressources pour votre groupe d'utilisateurs (AWS CLI et AWS API)
<a name="cognito-user-pools-define-resource-servers-cli-api"></a>

Utilisez les commandes suivantes pour spécifier les paramètres de serveur de ressources pour votre groupe d'utilisateurs.

**Pour créer un serveur de ressources**
+ AWS CLI: `aws cognito-idp create-resource-server`
+ AWS API : [CreateResourceServer](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateResourceServer.html)

**Pour obtenir des informations sur les paramètres de votre serveur de ressources**
+ AWS CLI: `aws cognito-idp describe-resource-server`
+ AWS API : [DescribeResourceServer](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeResourceServer.html)

**Pour répertorier des informations sur tous les serveurs de ressources pour votre groupe d'utilisateurs**
+ AWS CLI: `aws cognito-idp list-resource-servers`
+ AWS API : [ListResourceServers](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ListResourceServers.html)

**Pour supprimer un serveur de ressources**
+ AWS CLI: `aws cognito-idp delete-resource-server`
+ AWS API : [DeleteResourceServer](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DeleteResourceServer.html)

**Pour mettre à jour les paramètres d'un serveur de ressources**
+ AWS CLI: `aws cognito-idp update-resource-server`
+ AWS API : [UpdateResourceServer](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateResourceServer.html)

## Liaison de ressources
<a name="cognito-user-pools-resource-binding"></a>

Grâce à la liaison de ressources, également appelée indicateurs de ressources, vous pouvez demander des autorisations spécifiques à l'API auprès du serveur d'autorisation de votre groupe d'utilisateurs. La liaison de ressources est une extension OAuth 2.0 définie dans la [RFC 8707](https://www.rfc-editor.org/rfc/rfc8707.html) qui permet aux clients de spécifier explicitement à quel serveur de ressources ils ont l'intention d'accéder lors des demandes d'autorisation. Avec la liaison de ressources, les configurations de vos API peuvent refuser l'accès aux jetons qui ne leur sont pas spécifiquement destinés.

**Note**  
Vous ne pouvez lier des jetons d'accès aux ressources que pour les utilisateurs. Vous ne pouvez pas demander une liaison de ressources avec des autorisations M2M pour les informations d'identification du client.

Lorsque vous utilisez la liaison de ressources avec les groupes d'utilisateurs Amazon Cognito, les clients peuvent inclure un `resource` paramètre dans leurs demandes d'authentification adressées au serveur d'autorisation de votre groupe d'utilisateurs. Votre groupe d'utilisateurs vérifie que la valeur de la ressource demandée est une URL, en suivant les mêmes règles de schéma que le callback du [client de l'application](user-pool-settings-client-apps.md#cognito-user-pools-app-idp-settings-about) URLs :`https://`, `http://` with `localhost` only, ou un schéma personnalisé tel que. `myapp://` Amazon Cognito définit l'URI demandé comme audience dans la `aud` demande du jeton d'[accès](amazon-cognito-user-pools-using-the-access-token.md). Si la ressource demandée est un serveur de ressources de pool d'utilisateurs, l'identifiant du serveur de ressources doit être au format URL. Vous pouvez demander une ressource par demande d'authentification.

Cette fonctionnalité est exclusive à l'[authentification de connexion gérée](authentication-flows-selection-managedlogin.md) avec le serveur d'autorisation de votre groupe d'utilisateurs OAuth 2.0. Vous pouvez demander une liaison de ressources sous forme de licences implicites et de code d'autorisation auprès du. [Point de terminaison d’autorisation](authorization-endpoint.md) Token-refresh octroies à partir du [Point de terminaison de jeton](token-endpoint.md) report de la `aud` réclamation de la demande initiale. Il n'est actuellement pas disponible dans les [modèles d'authentification du SDK](authentication-flows-selection-sdk.md).

**Mettez en œuvre la liaison des ressources avec votre groupe d'utilisateurs Amazon Cognito**

1. Configurez un ou plusieurs serveurs de ressources dans votre groupe d'utilisateurs avec des identifiants uniques.

1. Dans votre demande d'autorisation`/oauth2/authorize`, demandez un code d'autorisation ou une autorisation implicite et incluez le `resource` paramètre. La valeur de `resource` doit être un identifiant de serveur de ressources au format URL ou une URL. Par exemple, `&resource=https://solar-system-data-api.example.com`.

1. Le serveur d'autorisation valide la demande de ressource, termine l'authentification et définit la `aud` demande de jeton d'accès sur l'URL de ressource demandée.

1. Pour vérifier que les jetons ont été émis spécifiquement pour cela, la ressource qui consomme le jeton d'accès de votre utilisateur vérifie la `aud` réclamation.