En esta página, se describe cómo usar los métodos de la clave de API para realizar las siguientes acciones:
- Enumera las claves de API en un proyecto
- Obtén metadatos para una clave de API
- Obtén la cadena de claves
- Obtén el nombre de la clave y el proyecto para una cadena de clave
Antes de comenzar
En la página, se usan curl y Google Cloud CLI para enviar solicitudes a la API de API Keys. Consulta Introducción a la API de claves de API para obtener detalles sobre cómo configurar tu entorno y experimentar con la API.
Enumera las claves de API en un proyecto
Puedes obtener una lista de todas las claves que pertenecen a un proyecto Google Cloud con el métodoListKeys:
gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys
Si se ejecuta de forma correcta, recibirás una respuesta similar a la siguiente:
{
"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=="
}
]
}De forma predeterminada, el método ListKeys devuelve una lista de las claves de API utilizables.
Para ver la lista de todas las claves, incluidas las que están marcadas para su eliminación, agrega el parámetro de consulta show_deleted=true:
gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys?show_deleted=true
Si se ejecuta de forma correcta, recibirás una respuesta similar a la siguiente:
{
"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=="
}
]
}El campo deleteTime almacena la fecha y hora en que se emitió el comando de eliminación.
Las claves se borran de forma permanente 30 días después de que se emite el comando de eliminación.
Si tienes muchas claves de API en tu proyecto, es posible que prefieras paginar los resultados en lugar de que se devuelvan todas las claves. Para controlar la cantidad de resultados por página, agrega el parámetro de consulta pageSize establecido en la cantidad de resultados que deseas que se muestren:
gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys?pageSize=25
El final de la respuesta contiene el campo nextPageToken. Para obtener la siguiente página de resultados, incluye el token en la siguiente llamada agregando el parámetro de búsqueda pageToken:
gcurl 'https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys?pageSize=25&pageToken=TOKEN'
Ten en cuenta que debes incluir la URL entre comillas simples porque & es un carácter especial de Bash.
Cómo obtener metadatos para una clave de API
Para obtener metadatos sobre una clave de API específica, llama al método GetKey con Key.name:
gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys/KEY_ID
Cómo obtener la cadena de clave
Por motivos de seguridad, los métodos ListKeys y GetKey no devuelven el objeto Key.keyString. Para obtener el keyString de una clave de API, llama al método GetKeyString con el Key.name:
gcurl https://apikeys.googleapis.com/v2/Key.name/keyString
El usuario que llama debe tener el permiso apikeys.keys.getKeyString para llamar al método GetKeyString.
Cómo buscar un nombre de clave y un proyecto por cadena de clave
Si tienes un keyString y necesitas buscar la clave name y el proyecto propietario de la clave de API, llama al método LookupKey y especifica el parámetro de búsqueda keyString:
gcurl https://apikeys.googleapis.com/v2/keys:lookupKey?keyString=KEY_STRING
La respuesta es similar a lo que se muestra a continuación:
{
"parent": "projects/12345678/locations/global",
"name": "projects/12345678/locations/global/keys/2c437be3-1c77-417b-8f6f-748189760227"
}En la respuesta, figura lo siguiente:
- El campo
parentcontiene el número del proyecto Google Cloud en el que se creó la clave de API. - El campo
namecontiene el identificador único de la clave de API.
¿Qué sigue?
- Cómo agregar restricciones a las claves de API
- Visualiza los Registros de auditoría de Cloud
- Solución de problemas