Cette page explique comment utiliser les méthodes de clé API pour :
- Lister les clés API d'un projet
- Obtenir les métadonnées d'une clé API
- Obtenir la chaîne de clé
- Obtenir le nom et le projet d'une clé à partir d'une chaîne de clé
Lister les clés API dans un projet
Vous pouvez obtenir la liste de toutes les clés appartenant à un projet Cloud de Confiance avec la méthodeListKeys :
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ 'https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys'
En cas de réussite, vous obtenez une réponse semblable à celle-ci :
{
"keys": [
{
"name": "projects/12345678/locations/global/keys/2885bf87-5b84-47fa-92af-08c3e9337349",
"displayName": "API key 2",
"createTime": "2019-05-29T22:07:22.036Z",
"uid": "2885bf87-5b84-47fa-92af-08c3e9337349",
"updateTime": "2019-05-29T22:07:22.058623Z",
"restrictions": {
"androidKeyRestrictions": {}
},
"etag": "zHib8eXEMCxe4ayQEbIaZg=="
},
{
"name": "projects/12345678/locations/global/keys/a4db08b7-5729-4ba9-8c08-f2df493465a1",
"displayName": "API key 1",
"createTime": "2019-05-29T22:06:58.844Z",
"uid": "a4db08b7-5729-4ba9-8c08-f2df493465a1",
"updateTime": "2019-05-29T22:06:58.855103Z",
"restrictions": {
"androidKeyRestrictions": {}
},
"etag": "0L5KcPMGoNi53K5+FqPxiw=="
}
]
}Par défaut, la méthode ListKeys renvoie la liste des clés API utilisables.
Pour afficher la liste de toutes les clés, y compris celles qui sont marquées pour suppression, ajoutez le paramètre de requête show_deleted=true :
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ 'https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys?show_deleted=true'
En cas de réussite, vous obtenez une réponse semblable à celle-ci :
{
"keys": [
{
"name": "projects/12345678/locations/global/keys/5d3564ad-f08e-48df-b0ca-0f50858ba3f2",
"displayName": "Key 1",
"createTime": "2019-06-12T04:47:30.214Z",
"uid": "5d3564ad-f08e-48df-b0ca-0f50858ba3f2",
"updateTime": "2021-03-05T22:35:37.387645Z",
"deleteTime": "2021-03-05T22:35:37.290544Z",
"etag": "V96UGAyyz+6sUHttzK42pQ=="
},
{
"name": "projects/12345678/locations/global/keys/7ad567fa-c11b-4903-99dc-88f89da7d73a",
"displayName": "Key 2",
"createTime": "2019-06-12T00:47:27.778Z",
"uid": "7ad567fa-c11b-4903-99dc-88f89da7d73a",
"updateTime": "2021-03-05T22:23:57.002187Z",
"deleteTime": "2021-03-05T22:23:56.350234Z",
"etag": "njPE6YjwHlrh6TLyxHibBg=="
},
{
"name": "projects/12345678/locations/global/keys/a4db08b7-5729-4ba9-8c08-f2df493465a1",
"displayName": "API key 1",
"createTime": "2019-05-29T22:06:58.844Z",
"uid": "a4db08b7-5729-4ba9-8c08-f2df493465a1",
"updateTime": "2019-05-29T22:06:58.855103Z",
"restrictions": {
"androidKeyRestrictions": {}
},
"etag": "0L5KcPMGoNi53K5+FqPxiw=="
}
]
}Le champ deleteTime indique la date et l'heure d'exécution de la commande de suppression.
Les clés sont définitivement supprimées 30 jours après l'émission de la commande de suppression.
Si votre projet contient de nombreuses clés API, vous préférerez peut-être paginer les résultats plutôt que de les afficher tous. Pour contrôler le nombre de résultats par page, ajoutez le paramètre de requête pageSize défini sur le nombre de résultats que vous souhaitez renvoyer :
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ 'https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys?pageSize=25'
La fin de la réponse contient le champ nextPageToken. Pour obtenir la page de résultats suivante, incluez le jeton dans le prochain appel en ajoutant le paramètre de requête pageToken :
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ 'https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys?pageSize=25&pageToken=TOKEN'
Obtenir les métadonnées d'une clé API
Pour obtenir des métadonnées sur une clé API spécifique, appelez la méthode GetKey avec le Key.name :
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ 'https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys/KEY_ID'
Obtenir la chaîne de clé
Pour des raisons de sécurité, les méthodes ListKeys et GetKey ne renvoient pas le Key.keyString. Pour obtenir le keyString d'une clé API, appelez la méthode GetKeyString avec le Key.name :
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ 'https://apikeys.googleapis.com/v2/Key.name/keyString'
L'utilisateur appelant doit disposer de l'autorisation apikeys.keys.getKeyString pour appeler la méthode GetKeyString.
Rechercher un nom de clé et un projet par chaîne de clé
Si vous disposez d'un keyString et que vous devez rechercher la clé name et le projet propriétaire de la clé API, appelez la méthode LookupKey et spécifiez le paramètre de requête keyString :
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ 'https://apikeys.googleapis.com/v2/keys:lookupKey?keyString=KEY_STRING'
La réponse est semblable à ce qui suit :
{
"parent": "projects/12345678/locations/global",
"name": "projects/12345678/locations/global/keys/2c437be3-1c77-417b-8f6f-748189760227"
}Dans la réponse :
- Le champ
parentcontient le numéro du projet Cloud de Confiance dans lequel la clé API a été créée. - Le champ
namecontient l'identifiant unique de la clé API.