Obtenir des informations sur les clés API

Cette page explique comment utiliser les méthodes de clé API pour :

Avant de commencer

La page utilise curl et la Google Cloud CLI pour envoyer des requêtes à l'API API Keys. Pour savoir comment configurer l'API et l'expérimenter, consultez Premiers pas avec l'API API Keys.

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 :

gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys

Si l'opération réussit, 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 :

gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys?show_deleted=true

Si l'opération réussit, 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'exécution 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 :

gcurl 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 :

gcurl 'https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys?pageSize=25&pageToken=TOKEN'

Notez que vous devez encadrer l'URL avec des guillemets simples, car & est un caractère Bash spécial.

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 Key.name :

gcurl 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 :

gcurl 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 :

gcurl 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 parent contient le numéro du projet Cloud de Confiance dans lequel la clé API a été créée.
  • Le champ name contient l'identifiant unique de la clé API.

Étapes suivantes