Utilisation de l'autorisation par jeton d'accès avec l'API Mes services

Important

Le tableau de bord et les API Mes services sont en phase d'abandon.

Cette rubrique explique comment configurer et utiliser l'autorisation par jeton d'accès avec l'API Mes services Oracle Cloud. L'autorisation par jeton d'accès permet au développeur d'accéder aux adresses de programmation (API) afin d'obtenir des informations (par exemple, des habilitations, des instances ou des données de mesure) pour votre compte cloud.

A propos des jetons d'accès

Un jeton d'accès contient les informations requises pour permettre au développeur d'accéder aux informations de votre compte cloud. Le développeur présente le jeton lors des appels d'API. Les actions et adresses autorisées dépendent des portées (droits d'accès) que vous sélectionnez lors de la génération du jeton. Un jeton d'accès est valide pendant environ une heure.

Un jeton d'actualisation permet au développeur de générer un nouveau jeton d'accès sans avoir à contacter l'administrateur. Un jeton d'actualisation est valide pendant environ un an.

Présentation du processus

Etapes de configuration pour l'administrateur :

  1. Créez une application client Identity Cloud Service avec les privilèges spécifiques à accorder aux développeurs.
  2. Générez un jeton d'accès contenant les privilèges requis par le développeur concerné.
  3. Fournissez le jeton d'accès et les informations requises au développeur.
  4. Configurez Identity Cloud Service pour la validation de jeton d'accès.

Etapes pour que le développeur utilise le jeton :

  1. Emettez des demandes sur les adresses d'API Mes services. Incluez le jeton d'accès pour le paramètre d'autorisation.
  2. A l'expiration du jeton d'accès, actualisez-le sans l'intervention de l'administrateur jusqu'à la fin du privilège.

Tâches d'administrateur pour configurer la validation de jeton

Effectuez les tâches suivantes pour activer l'accès développeur à l'aide d'un jeton d'accès :

Création de l'application client IDCS
  1. Connectez-vous à Identity Cloud Service en tant qu'administrateur et accédez à la console d'administration. Si vous avez besoin d'aide pour vous connecter, reportez-vous à Accès à Oracle Identity Cloud Service.
  2. Cliquez sur la mosaïque Applications. La liste des applications apparaît.
  3. Cliquez sur + Ajouter pour créer une application.
  4. Cliquez sur Application confidentielle pour le type d'application.
  5. Dans la section Détails de l'application, entrez un Nom et une Description. Evitez de saisir des informations confidentielles.
  6. Cliquez sur Suivant.
  7. Dans la section Client :

    1. Sélectionnez Configurer cette application comme client maintenant.
    2. Sous Autorisation, pour Types d'octroi autorisés, sélectionnez les options suivantes :
      • Assertion JWT
      • Jeton d'actualisation
  8. Sous Stratégie d'émission de jeton, sous Ressources, cliquez sur Ajouter une portée.

  9. Dans la boîte de dialogue Sélectionner une portée, sélectionnez CloudPortalResourceApp, puis cliquez sur la flèche pour sélectionner les portées de la ressource.

  10. Cochez la case en regard de chaque autorisation à accorder aux développeurs auxquels vous fournirez un jeton d'accès. (Les droits d'accès sont affectés au cours d'une autre étape.)

  11. Cliquez sur Ajouter pour fermer la boîte de dialogue. Vos sélections s'affichent.

  12. Cliquez sur Suivant.

  13. Dans la section Ressources, acceptez la valeur par défaut et cliquez sur Suivant.
  14. Dans la section Stratégie de niveau Web, acceptez la valeur par défaut et cliquez sur Suivant.
  15. Dans la section Autorisation, cliquez sur Terminer.

    La notification Application ajoutée affiche le nouvel ID client et la nouvelle clé secrète client pour l'application.

    Important

    Copiez et stockez l'ID client et la clé secrète client dans un emplacement sécurisé, puis cliquez sur Fermer. L'ID client et la clé secrète client sont des informations d'identification propres à l'application que vous venez de créer. Vous aurez besoin de ces informations ultérieurement.
  16. Pour terminer le processus de création, cliquez sur Activer en haut de la page.
Génération d'un jeton d'accès
  1. Accédez à l'application IDCS que vous avez créée dans la tâche précédente et sélectionnez l'onglet Détails.

  2. Cliquez sur Générer un jeton d'accès.

  3. Dans la boîte de dialogue Générer un jeton, sélectionnez Portées personnalisées, puis Appelle d'autres API.

  4. Sélectionnez les portées à octroyer au développeur qui recevra ce jeton d'accès.

    Remarque

    Oracle vous recommande d'accorder uniquement les privilèges minimaux requis.
  5. Sélectionnez Inclure un jeton d'actualisation.

  6. Cliquez sur Télécharger le jeton. Le navigateur vous invite à télécharger un fichier de jeton (.tok). Il contient un jeton d'accès et un jeton d'actualisation.

  7. Fournissez ce fichier au développeur.
Envoi des informations d'accès à un développeur

Pour appeler des adresses d'API, le développeur a besoin des éléments suivants :

  • Un fichier de jeton que vous avez généré.

  • L'ID client et la clé secrète client pour l'application IDCS utilisée afin de générer le fichier de jeton. L'ID et la clé secrète client sont requis pour que le développeur génère un nouveau jeton d'accès à partir du jeton d'actualisation.

  • Les adresses des API.

    • Les adresses liées aux portées itas:myservices sont : https://itra.oraclecloud.com/itas/<tenant-IDCS-ID>/myservices/api/v1
    • Les adresses liées aux portées itas:metering sont : https://itra.oraclecloud.com/metering/api/v1

Veillez à envoyer les informations ci-dessus de façon sécurisée. Si vous pensez que ces informations ont été compromises, reportez-vous à Révocation de la capacité d'un développeur à actualiser des jetons d'accès.

Configuration d'Identity Cloud Service pour la validation de jeton d'accès

Pour autoriser les clients à accéder au certificat de signature du locataire sans se connecter à Oracle Identity Cloud Service, procédez comme suit :

  1. Connectez-vous à la console d'administration Oracle Identity Cloud Service. Si vous avez besoin d'aide pour vous connecter, reportez-vous à Accès à Oracle Identity Cloud Service.
  2. Ouvrez le menu de navigation. Sous Paramètres, sélectionnez Paramètres par défaut.
  3. Activez la bascule Accéder au certificat de signature.

Utilisation du jeton d'accès

Le fichier de jeton possède l'extension .tok. Il contient le jeton d'accès et le jeton d'actualisation. Le contenu se présente comme suit :

{"app_access_token":"eyJ4N...aabb...CpNwA","refresh_token":"AQID...9NCA="}

Pour utiliser le jeton avec l'API Mes services, procédez comme suit :

  1. Ouvrez le fichier de jeton.
  2. Envoyez une demande à une adresse valide en insérant le jeton d'accès pour le paramètre Authorization.

    Par exemple :

    curl -X GET  https://itra.oraclecloud.com/itas/<tenant-IDCS-ID>/myservices/api/v1/serviceEntitlements   -H 'Authorization: Bearer eyJ4N...aabb...CpNwA'

Demande d'un nouveau jeton d'accès à partir d'un jeton d'actualisation

Un jeton d'accès est valide pendant environ une heure. Lorsque le jeton n'est plus valide, vous obtenez un code de réponse 401 et un message d'erreur ("errorMessage") contenant la mention "Expiré".

Vous pouvez générer un nouveau jeton d'accès de courte durée à partir du jeton d'actualisation. Vous aurez besoin de l'ID et de la clé secrète client pour générer le nouveau jeton. Vous pouvez uniquement générer des jetons avec un niveau d'accès (portée) identique ou inférieur au jeton d'origine.

Exemple avec la commande cURL :

curl -i -H 'Authorization: Basic <base64Encoded clientid:secret>' -H 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8' --request POST https://<tenant-IDCS-ID>/oauth2/v1/token -d 'grant_type=refresh_token&refresh_token=<refresh-token>'

Avec l'exemple de fichier de jeton de la section précédente, la valeur de <refresh-token> serait AQID...9NCA=.

Exemple de réponse :

{ "access_token": "eyJraWQiO....2nqA", "token_type": "Bearer", "expires_in": 3600, "refresh_token": "AQIDBAUn…VkxNCB7djF9NCA=" }
Remarque

Lorsqu'un développeur génère un nouveau jeton d'accès et un nouveau jeton d'actualisation, le jeton d'actualisation précédent n'est plus valide.

Révocation de la capacité d'un développeur à actualiser des jetons d'accès

Si vous devez révoquer la capacité d'un développeur à actualiser les jetons d'accès, vous pouvez invalider le jeton d'actualisation existant en générant une nouvelle clé secrète client pour le jeton, ou révoquer temporairement l'accès en désactivant l'application.

Important

Que l'on choisisse l'une ou l'autre de ces actions, cela mettra fin à l'accès qu'ont les développeurs qui utilisent la clé secrète ou l'application en cours ou suspendra cette possibilité. Lors de la génération de jetons pour plusieurs développeurs, envisagez de créer plusieurs applications IDCS pour isoler les développeurs les uns des autres.

Procédure pour mettre fin à la capacité d'un développeur à actualiser un jeton d'accès

  1. Connectez-vous à Identity Cloud Service en tant qu'administrateur et accédez à la console d'administration. Si vous avez besoin d'aide pour vous connecter, reportez-vous à Accès à Oracle Identity Cloud Service.
  2. Cliquez sur la mosaïque Applications. La liste des applications apparaît.
  3. Cliquez sur l'application utilisée pour générer le jeton afin d'en visualiser les détails.
  4. Cliquez sur Configuration.
  5. Sous Informations générales, en regard de Clé secrète du client, cliquez sur Régénérer pour générer une nouvelle clé secrète client.

Pour restaurer la possibilité, pour le développeur, de générer un jeton d'accès à partir d'un jeton d'actualisation, générez un nouveau jeton d'accès. Fournissez ensuite le jeton et la nouvelle clé secrète client au développeur.

Procédure pour suspendre temporairement la capacité d'un développeur à actualiser son jeton d'accès

  1. Connectez-vous à Identity Cloud Service en tant qu'administrateur et accédez à la console d'administration. Si vous avez besoin d'aide pour vous connecter, reportez-vous à Accès à Oracle Identity Cloud Service.
  2. Cliquez sur la mosaïque Applications. La liste des applications apparaît.
  3. Cliquez sur l'application utilisée pour générer le jeton afin d'en visualiser les détails.
  4. Dans l'angle supérieur droit de la page, cliquez sur Désactiver.
  5. A l'invite, cliquez sur Désactiver l'application.

Pour réactiver l'utilisation des mêmes jetons pour les développeurs, cliquez sur Activer.