Extraction d'un jeton d'accès
Accédez à l'interface de programmation de service de gestion de clés Hyper Protect Crypto Services en authentifiant vos demandes auprès du service avec un jeton d'accès IBM Cloud® Identity and Access Management (IAM).
Un jeton d'accès est une donnée d'identification temporaire qui expire au bout d'une heure. Une fois le jeton expiré, vous devez en générer un nouveau pour continuer à appeler IBM Cloud ou les API de service. Pour conserver l'accès au service, régénérez régulièrement le jeton d'accès pour votre clé d'API.
Extraction d'un jeton d'accès à l'aide de l'interface de ligne de commande
Vous pouvez utiliser l'interface de ligne de commande d'IBM Cloud pour générer rapidement votre jeton d'accès Cloud IAM personnel.
-
Connectez-vous à IBM Cloud à l'aide de l'interface de ligne de commande d'IBM Cloud.
ibmcloud loginSi la connexion échoue, exécutez la commande
ibmcloud login --ssopour réessayer. Le paramètre--ssoest requis lorsque vous vous connectez avec un ID fédéré. Si cette option est utilisée, allez sur le lien répertorié dans la sortie d'interface de ligne de commande pour générer un code d'accès unique. -
Sélectionnez la région et le groupe de ressources où vous voulez créer une instance de service Hyper Protect Crypto Services. Vous pouvez également utiliser la commande ci-dessous pour définir votre région et votre groupe de ressources cible.
ibmcloud target -r <region_name> -g <resource_group_name> -
Exécutez la commande suivante pour extraire votre jeton d'accès Cloud IAM.
ibmcloud iam oauth-tokensL'exemple partiel suivant montre un jeton IAM extrait.
IAM token: Bearer eyJraWQiOiIyM...
Extraction d'un jeton d'accès à l'aide de l'API
Vous pouvez également extraire votre jeton d'accès à l'aide d'un programme en utilisant une clé d'API, puis en échangeant cette dernière contre un jeton IBM Cloud IAM. Selon que vous créez le jeton d'accès pour un utilisateur ou une application, utilisez votre clé d'API utilisateur IBM Cloud ou une clé d'API d'ID de service en conséquence.
-
Connectez-vous à IBM Cloud à l'aide de l'interface de ligne de commande d'IBM Cloud.
ibmcloud loginSi la connexion échoue, exécutez la commande
ibmcloud login --ssopour réessayer. Le paramètre--ssoest requis lorsque vous vous connectez avec un ID fédéré. Si cette option est utilisée, allez sur le lien répertorié dans la sortie d'interface de ligne de commande pour générer un code d'accès unique. -
Sélectionnez la région et le groupe de ressources qui contiennent votre instance Hyper Protect Crypto Services mise à disposition à l'aide de la commande suivante :
ibmcloud target -r <region_name> -g <resource_group_name> -
Créez une clé d'interface de programmation.
-
Si vous souhaitez extraire un jeton d'accès pour un utilisateur, créez une clé d'API utilisateur à l'aide de la commande suivante :
ibmcloud iam api-key-create <API_key_name> [-d, --description <description>] [--file <API_key_file_name>]Indiquez un nom unique pour l'interface de programmation avec le paramètre
<API_key_name>. Assurez-vous d'enregistrer votre clé d'interface de programmation pour une utilisation ultérieure en utilisant le paramètre<API_key_file_name>ou en copiant la valeur de clé de l'interface de programmation à partir de la réponse de la commande. -
Si vous souhaitez extraire un jeton d'accès pour une application, créez une clé d'API ID de service en procédant comme suit :
-
Créez un ID de service pour votre application à l'aide de la commande suivante :
ibmcloud iam service-id-create <service_ID_name> [-d, --description <description>]Indiquez un nom unique pour l'ID de service avec le paramètre
<service_ID_name>. -
Créez une clé d'API ID de service à l'aide de la commande suivante :
ibmcloud iam service-api-key-create <API_key_name> <service_ID_name> [-d, --description <description>] [--file <API_key_file_name>]Indiquez un nom unique pour la clé d'interface de programmation avec le paramètre
<API_key_name>et remplacez<service_ID_name>par l'alias unique que vous avez affecté à votre ID de service à l'étape précédente. Assurez-vous d'enregistrer votre clé d'interface de programmation pour une utilisation ultérieure en utilisant le paramètre<API_key_file_name>ou en copiant la valeur de clé de l'interface de programmation à partir de la réponse de la commande.
-
-
-
Affectez à l'utilisateur ou à l'ID de service l'accès approprié à votre instance Hyper Protect Crypto Services en fonction de votre règle d'accès.
Pour savoir comment les rôles d'accès IAM sont mappés à des actions de service Hyper Protect Crypto Services spécifiques, voir Rôles et droits.
-
Appelez l'API IAM Identity Services pour extraire votre jeton d'accès.
curl -X POST \ "https://iam.cloud.ibm.com/identity/token" \ -H "Content-Type: application/x-www-form-urlencoded" \ -H "Accept: application/json" \ -d "grant_type=urn:ibm:params:oauth:grant-type:apikey&apikey=<API_key>" > token.jsonDans la demande, remplacez
<API_key>par la clé de l'interface de programmation utilisateur ou la clé de l'interface de programmation de l'ID de service que vous avez créée à l'étape précédente. L'exemple partiel suivant montre le contenu du fichiertoken.json:{ "access_token": "eyJraWQiOiIyM...", "expiration": 1512161390, "expires_in": 3600, "refresh_token": "...", "token_type": "Bearer" }Utilisez la valeur
access_tokencomplète, préfixée par le type de jeton Porteur, pour gérer par programme les clés de votre service à l'aide de l'interface de programmation de service de gestion de clés Hyper Protect Crypto Services. Pour afficher un exemple de demande d'interface de programmation de service de gestion de clés Hyper Protect Crypto Services , consultez Formation de votre demande d'interface de programmation de service de gestion de clés.