Esta página describe cómo crear, editar y restringir claves API. Para obtener información sobre cómo usar claves API para acceder a las API de Google, consulte Usar claves API para acceder a las API .
Introducción a las claves API
Hay dos tipos de claves API: claves API estándar y claves API que se han vinculado a una cuenta de servicio.
Claves API estándar
Las claves API estándar proporcionan una manera de asociar una solicitud con un proyecto para fines de facturación y cuotas. Cuando utiliza una clave API estándar (una clave API que no ha estado vinculada a una cuenta de servicio) para acceder a una API, la clave API no identifica una entidad principal . Sin una entidad principal, la solicitud no puede usar la administración de identidad y acceso (IAM) para verificar si la persona que llama está autorizada para realizar la operación solicitada.
Las claves API estándar se pueden utilizar con cualquier API que acepte claves API, a menos que se hayan agregado restricciones de API a la clave. Las claves API estándar no se pueden utilizar con servicios que no aceptan claves API, incluido el modo rápido.
Claves API vinculadas a una cuenta de servicio
Las claves API vinculadas a una cuenta de servicio proporcionan la identidad y autorización de la cuenta de servicio para una solicitud. Cuando utiliza una clave API que se ha vinculado a una cuenta de servicio para acceder a una API, su solicitud se procesa como si hubiera utilizado la cuenta de servicio vinculada para realizar la solicitud.
La combinación de teclas solo está disponible para Google Cloud Modo expreso .
Componentes clave de API
Una clave API tiene los siguientes componentes, que le permiten administrar y usar la clave:
- Cadena
- La cadena de clave API es una cadena cifrada, por ejemplo,
AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe
. Cuando usa una clave API para acceder a una API, siempre usa la cadena de la clave. Las claves API no tienen un archivo JSON asociado. - IDENTIFICACIÓN
- El ID de la clave API es utilizado por Google Cloud herramientas administrativas para identificar de forma única la clave. El ID de clave no se puede utilizar para acceder a las API. El ID de la clave se puede encontrar en la URL de la página de edición de la clave en el Google Cloud consola. También puede obtener el ID de la clave utilizando la CLI de Google Cloud para enumerar las claves de su proyecto.
- Nombre para mostrar
- El nombre para mostrar es un nombre descriptivo opcional para la clave, que puede configurar al crear o actualizar la clave.
- Cuenta de servicio vinculada
- Las claves API vinculadas a una cuenta de servicio incluyen la dirección de correo electrónico de la cuenta de servicio.
Antes de comenzar
Complete las siguientes tareas para utilizar los ejemplos de esta página.
Configurar la autenticación
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
C++
Para usar las muestras de C++ de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.
Si deseas obtener más información, consulta Configura ADC para un entorno de desarrollo local en la documentación de autenticación de Google Cloud .
Java
Para usar las muestras de Java de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.
Si deseas obtener más información, consulta Configura ADC para un entorno de desarrollo local en la documentación de autenticación de Google Cloud .
Python
Para usar las muestras de Python de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.
Si deseas obtener más información, consulta Configura ADC para un entorno de desarrollo local en la documentación de autenticación de Google Cloud .
REST
Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud .
Roles requeridos
Para obtener los permisos que necesita para administrar las claves API, solicite a su administrador que le otorgue los siguientes roles de IAM en su proyecto:
- Administrador de claves API (
roles/serviceusage.apiKeysAdmin
) - Restrinja una clave API a API específicas mediante el uso de Google Cloud consola: Visor de uso de servicios (
roles/serviceusage.serviceUsageViewer
)
Para obtener más información sobre cómo otorgar roles, consulte Administrar el acceso a proyectos, carpetas y organizaciones .
También es posible que pueda obtener los permisos necesarios a través de roles personalizados u otros roles predefinidos .
Crear una clave API
Para crear una clave API, utilice una de las siguientes opciones:
Consola
En el Google Cloud consola, vaya a la página Credenciales :
Haga clic en Crear credenciales y luego seleccione Clave API en el menú.
Para vincular la clave API a una cuenta de servicio, seleccione la casilla de verificación Autenticar llamadas API a través de una cuenta de servicio y luego haga clic en Seleccionar una cuenta de servicio para seleccionar la cuenta de servicio que desea vincular a la clave.
Para obtener más información, consulte Claves API vinculadas a una cuenta de servicio .
Agregue restricciones de clave API.
Restringir las claves API es una buena práctica. Para obtener más información, consulte Aplicar restricciones de clave API .
Haga clic en Crear .
El cuadro de diálogo de creación de clave API muestra la cadena de su clave recién creada.
nube de gcloud
Usas el comando gcloud services api-keys create
para crear una clave API.
Reemplace DISPLAY_NAME
con un nombre descriptivo para su clave.
gcloud services api-keys create \
--display-name=DISPLAY_NAME
Para vincular la clave API a una cuenta de servicio, usa gcloud beta
en su lugar, con la marca --service-account
:
gcloud beta services api-keys create \
--display-name=DISPLAY_NAME \
--service-account=SERVICE_ACCOUNT_EMAIL_ADDRESS
Para obtener más información, consulte Claves API vinculadas a una cuenta de servicio .
C++
Para ejecutar este ejemplo, debe instalar la biblioteca cliente de claves API .
Java
Para ejecutar este ejemplo, debe instalar la biblioteca cliente google-cloud-apikeys
.
Pitón
Para ejecutar este ejemplo, debe instalar la biblioteca cliente de claves API .
DESCANSAR
Utilice el método keys.create
para crear una clave API. Esta solicitud devuelve una operación de larga duración ; debe sondear la operación para obtener la información de la nueva clave.
Reemplace los siguientes valores:
-
DISPLAY_NAME
: opcional. Un nombre descriptivo para su clave. -
PROJECT_ID
: Tu Google Cloud ID o nombre del proyecto.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d {'"displayName" : "DISPLAY_NAME"'} \ "https://apikeys.googleapis.com/v2/projects/PROJECT/locations/global/keys"
Para vincular la clave API a una cuenta de servicio, utilice el siguiente comando:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d {'"displayName" : "DISPLAY_NAME", "serviceAccountEmail" : "SERVICE_ACCOUNT_EMAIL"'} \ "https://apikeys.googleapis.com/v2/projects/PROJECT/locations/global/keys"
Para obtener más información, consulte Claves API vinculadas a una cuenta de servicio .
Para obtener más información sobre la creación de claves API utilizando la API REST, consulte Creación de una clave API en la documentación de la API de claves API.
Aplicar restricciones de clave API
Las claves API no tienen restricciones de forma predeterminada. Las claves sin restricciones son inseguras porque cualquier persona puede utilizarlas desde cualquier lugar. Para aplicaciones de producción, debe establecer restricciones de aplicación y restricciones de API .
Agregar restricciones de aplicación
Las restricciones de aplicaciones especifican qué sitios web, direcciones IP o aplicaciones pueden usar una clave API.
Puede aplicar solo un tipo de restricción de aplicación a la vez. Elija el tipo de restricción según su tipo de aplicación:
Opción | Tipo de aplicación | Notas |
---|---|---|
Referencias HTTP | aplicaciones web | Especifica los sitios web que pueden utilizar la clave. |
Direcciones IP | Aplicaciones llamadas por servidores específicos | Especifica los servidores o trabajos cron que pueden usar la clave. |
aplicaciones de Android | aplicaciones de Android | Especifica la aplicación de Android que puede utilizar la clave. |
aplicaciones de iOS | aplicaciones iOS | Especifica los paquetes de iOS que pueden usar la clave. |
Referencias HTTP
Para restringir los sitios web que pueden usar su clave API, agregue una o más restricciones de referencia HTTP.
Puede sustituir un carácter comodín ( *
) por el subdominio o la ruta, pero no puede insertar un carácter comodín en el medio de la URL. Por ejemplo, *.example.com
es válido y acepta todos los sitios que terminan en .example.com
. Sin embargo, mysubdomain*.example.com
no es una restricción válida.
Los números de puerto se pueden incluir en las restricciones de referencia HTTP. Si incluye un número de puerto, solo se coincidirán las solicitudes que utilicen ese puerto. Si no especifica un número de puerto, se harán coincidir las solicitudes de cualquier número de puerto.
La siguiente tabla muestra algunos escenarios de ejemplo y restricciones del navegador:
Guión | Restricciones |
---|---|
Permitir una URL específica | Agregue una URL con una ruta exacta. Por ejemplo:www.example.com/path www.example.com/path/path Algunos navegadores implementan una política de referencia que envía solo la URL de origen para solicitudes de origen cruzado. Los usuarios de estos navegadores no pueden usar claves con restricciones de URL específicas de la página. |
Permitir cualquier URL en su sitio | Debe configurar dos URL en la lista allowedReferers .
|
Permitir cualquier URL en un único subdominio o dominio simple | Debes configurar dos URL en la lista de
|
Para restringir su clave API a sitios web específicos, utilice una de las siguientes opciones:
Consola
En el Google Cloud consola, vaya a la página Credenciales :
Haga clic en el nombre de la clave API que desea restringir.
En la sección Restricciones de la aplicación , seleccione Referencias HTTP .
Para cada restricción que desee agregar, haga clic en Agregar un elemento , ingrese la restricción y haga clic en Listo .
Haga clic en Guardar para guardar los cambios y volver a la lista de claves API.
nube de gcloud
Obtenga el ID de la clave que desea restringir.
El ID no es el mismo que el nombre para mostrar o la cadena de clave. Puedes obtener la ID usando el comando
gcloud services api-keys list
para enumerar las claves de tu proyecto.Usa el comando
gcloud services api-keys update
para agregar restricciones de referencia HTTP a una clave API.Reemplace los siguientes valores:
-
KEY_ID
: el ID de la clave que desea restringir. ALLOWED_REFERRER_1
: Su restricción de referencia HTTP.Puedes agregar tantas restricciones como necesites; Utilice comas para separar las restricciones. Debe proporcionar todas las restricciones de referencia con el comando de actualización; las restricciones de referencia proporcionadas reemplazan cualquier restricción de referencia existente en la clave.
gcloud services api-keys update KEY_ID \ --allowed-referrers="ALLOWED_REFERRER_1"
-
Java
Para ejecutar este ejemplo, debe instalar la biblioteca cliente google-cloud-apikeys
.
Pitón
Para ejecutar este ejemplo, debe instalar la biblioteca cliente de claves API .
DESCANSAR
Obtenga el ID de la clave que desea restringir.
El ID no es el mismo que el nombre para mostrar o la cadena de clave. Puede obtener la identificación utilizando el métodokeys.list . El ID aparece en el campo
uid
de la respuesta.Reemplace
PROJECT_ID
con su Google Cloud ID o nombre del proyecto.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/"
Utilice el métodokeys.patch para agregar restricciones de referencia HTTP a la clave API.
Esta solicitud devuelve una operación de larga duración ; debe sondear la operación para saber cuándo se completa y obtener el estado de la operación.
Reemplace los siguientes valores:
ALLOWED_REFERRER_1
: Su restricción de referencia HTTP.Puedes agregar tantas restricciones como necesites; Utilice comas para separar las restricciones. Debe proporcionar todas las restricciones de referencia con la solicitud; las restricciones de referencia proporcionadas reemplazan cualquier restricción de referencia existente en la clave.
PROJECT_ID
: Tu Google Cloud ID o nombre del proyecto.KEY_ID
: el ID de la clave que desea restringir.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data '{ "restrictions" : { "browserKeyRestrictions": { "allowedReferrers": ["ALLOWED_REFERRER_1"] } } }' \ "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/KEY_ID?updateMask=restrictions"
Para obtener más información sobre cómo agregar restricciones de referencia HTTP a una clave mediante la API REST, consulte Agregar restricciones del navegador en la documentación de la API de claves API.
Direcciones IP
Puede especificar una o más direcciones IP de las personas que llaman, como un servidor web o un trabajo cron, que pueden usar su clave API. Puede especificar las direcciones IP en cualquiera de los siguientes formatos:
- IPv4 (
198.51.100.1
) - IPv6 (
2001:db8::1
) - Una subred que utiliza notación CIDR (
198.51.100.0/24
,2001:db8::/64
)
El uso de localhost
no es compatible con las restricciones del servidor.
Para restringir su clave API a direcciones IP específicas, utilice una de las siguientes opciones:
Consola
En el Google Cloud consola, vaya a la página Credenciales :
Haga clic en el nombre de la clave API que desea restringir.
En la sección Restricciones de aplicaciones , seleccione Direcciones IP .
Para cada dirección IP que desee agregar, haga clic en Agregar un elemento , ingrese la dirección y haga clic en Listo .
Haga clic en Guardar para guardar los cambios y volver a la lista de claves API.
nube de gcloud
Obtenga el ID de la clave que desea restringir.
El ID no es el mismo que el nombre para mostrar o la cadena de clave. Puedes obtener la ID usando el comando
gcloud services api-keys list
para enumerar las claves de tu proyecto.Usa el comando
gcloud services api-keys update
para agregar restricciones de servidor (dirección IP) a una clave API.Reemplace los siguientes valores:
-
KEY_ID
: el ID de la clave que desea restringir. ALLOWED_IP_ADDR_1
: Su dirección IP permitida.Puede agregar tantas direcciones IP como necesite; utilice comas para separar las direcciones.
gcloud services api-keys update KEY_ID \ --allowed-ips="ALLOWED_IP_ADDR_1"
-
Java
Para ejecutar este ejemplo, debe instalar la biblioteca cliente google-cloud-apikeys
.
Pitón
Para ejecutar este ejemplo, debe instalar la biblioteca cliente de claves API .
DESCANSAR
Obtenga el ID de la clave que desea restringir.
El ID no es el mismo que el nombre para mostrar o la cadena de clave. Puede obtener la identificación utilizando el métodokeys.list . El ID aparece en el campo
uid
de la respuesta.Reemplace
PROJECT_ID
con su Google Cloud ID o nombre del proyecto.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/"
Utilice el métodokeys.patch para agregar restricciones de servidor (dirección IP) a una clave API.
Esta solicitud devuelve una operación de larga duración ; debe sondear la operación para saber cuándo se completa y obtener el estado de la operación.
Reemplace los siguientes valores:
ALLOWED_IP_ADDR_1
: Su dirección IP permitida.Puede agregar tantas direcciones IP como necesite; Utilice comas para separar las restricciones. Debe proporcionar todas las direcciones IP con la solicitud; Las restricciones de referencia proporcionadas reemplazan cualquier restricción de dirección IP existente en la clave.
PROJECT_ID
: Tu Google Cloud ID o nombre del proyecto.KEY_ID
: el ID de la clave que desea restringir.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data '{ "restrictions" : { "serverKeyRestrictions": { "allowedIps": ["ALLOWED_IP_ADDR_1"] } } }' \ "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/KEY_ID?updateMask=restrictions"
Para obtener más información sobre cómo agregar restricciones de dirección IP a una clave mediante la API REST, consulte Agregar restricciones de servidor en la documentación de la API de claves API.
aplicaciones de Android
Puede restringir el uso de una clave API a aplicaciones de Android específicas. Debe proporcionar el nombre del paquete y la huella digital del certificado SHA-1 de 20 bytes para cada aplicación.
Cuando utiliza la clave API en una solicitud, debe especificar el nombre del paquete y la huella digital del certificado mediante los siguientes encabezados HTTP:
-
X-Android-Package
-
X-Android-Cert
Para restringir su clave API a una o más aplicaciones de Android, use una de las siguientes opciones:
Consola
En el Google Cloud consola, vaya a la página Credenciales :
Haga clic en el nombre de la clave API que desea restringir.
En la sección Restricciones de aplicaciones , seleccione Aplicaciones de Android .
Para cada aplicación de Android que desee agregar, haga clic en Agregar un elemento e ingrese el nombre del paquete y la huella digital del certificado SHA-1, luego haga clic en Listo .
Haga clic en Guardar para guardar los cambios y volver a la lista de claves API.
nube de gcloud
Obtenga el ID de la clave que desea restringir.
El ID no es el mismo que el nombre para mostrar o la cadena de clave. Puedes obtener la ID usando el comando
gcloud services api-keys list
para enumerar las claves de tu proyecto.Usa el comando
gcloud services api-keys update
para especificar las aplicaciones de Android que pueden usar una clave API.Reemplace los siguientes valores:
-
KEY_ID
: el ID de la clave que desea restringir. SHA1_FINGERPRINT
yPACKAGE_NAME
: la información de la aplicación para una aplicación de Android que puede usar la clave.Puedes agregar tantas aplicaciones como necesites; utilice indicadores adicionales
--allowed-application
.
gcloud services api-keys update KEY_ID \ --allowed-application=sha1_fingerprint=SHA1_FINGERPRINT_1,package_name=PACKAGE_NAME_1 \ --allowed-application=sha1_fingerprint=SHA1_FINGERPRINT_2,package_name=PACKAGE_NAME_2
-
Java
Para ejecutar este ejemplo, debe instalar la biblioteca cliente google-cloud-apikeys
.
Pitón
Para ejecutar este ejemplo, debe instalar la biblioteca cliente de claves API .
DESCANSAR
Obtenga el ID de la clave que desea restringir.
El ID no es el mismo que el nombre para mostrar o la cadena de clave. Puede obtener la identificación utilizando el métodokeys.list . El ID aparece en el campo
uid
de la respuesta.Reemplace
PROJECT_ID
con su Google Cloud ID o nombre del proyecto.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/"
Utilice el métodokeys.patch para especificar las aplicaciones de Android que pueden usar una clave API.
Esta solicitud devuelve una operación de larga duración ; debe sondear la operación para saber cuándo se completa y obtener el estado de la operación.
Reemplace los siguientes valores:
SHA1_FINGERPRINT_1
yPACKAGE_NAME_1
: la información de la aplicación para una aplicación de Android que puede usar la clave.Puedes agregar la información para tantas aplicaciones como necesites; use comas para separar los objetos de la aplicación Android . Debe proporcionar todas las solicitudes con la solicitud; Las aplicaciones proporcionadas reemplazan cualquier aplicación permitida existente en la clave.
PROJECT_ID
: Tu Google Cloud ID o nombre del proyecto.KEY_ID
: el ID de la clave que desea restringir.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data '{ "restrictions" : { "androidKeyRestrictions": { "allowedApplications": [ { "sha1Fingerprint": "SHA1_FINGERPRINT_1", "packageName": "PACKAGE_NAME_1" }, ] } } }' \ "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/KEY_ID?updateMask=restrictions"
Para obtener más información sobre cómo agregar restricciones de aplicaciones de Android a una clave mediante la API REST, consulte Agregar restricciones de Android en la documentación de la API de claves API.
aplicaciones de iOS
Puede restringir el uso de una clave API a aplicaciones iOS específicas proporcionando el ID del paquete de cada aplicación.
Cuando utiliza la clave API en una solicitud, debe especificar el ID del paquete mediante el encabezado HTTP X-Ios-Bundle-Identifier
.
Para restringir su clave API a una o más aplicaciones de iOS, use una de las siguientes opciones:
Consola
En el Google Cloud consola, vaya a la página Credenciales :
Haga clic en el nombre de la clave API que desea restringir.
En la sección Restricciones de aplicaciones , seleccione Aplicaciones de iOS .
Para cada aplicación de iOS que desee agregar, haga clic en Agregar un elemento e ingrese el ID del paquete, luego haga clic en Listo .
Haga clic en Guardar para guardar los cambios y volver a la lista de claves API.
nube de gcloud
Obtenga el ID de la clave que desea restringir.
El ID no es el mismo que el nombre para mostrar o la cadena de clave. Puedes obtener la ID usando el comando
gcloud services api-keys list
para enumerar las claves de tu proyecto.Usa el método
gcloud services api-keys update
para especificar las aplicaciones de iOS que pueden usar la clave.Reemplace los siguientes valores:
-
KEY_ID
: el ID de la clave que desea restringir. ALLOWED_BUNDLE_ID
: el ID del paquete de una aplicación de iOS que desea que pueda usar esta clave API.Puede agregar tantos ID de paquete como necesite; utilice comas para separar los ID.
gcloud services api-keys update KEY_ID \ --allowed-bundle-ids=ALLOWED_BUNDLE_ID_1,ALLOWED_BUNDLE_ID_2
-
Java
Para ejecutar este ejemplo, debe instalar la biblioteca cliente google-cloud-apikeys
.
Pitón
Para ejecutar este ejemplo, debe instalar la biblioteca cliente de claves API .
DESCANSAR
Obtenga el ID de la clave que desea restringir.
El ID no es el mismo que el nombre para mostrar o la cadena de clave. Puede obtener la identificación utilizando el métodokeys.list . El ID aparece en el campo
uid
de la respuesta.Reemplace
PROJECT_ID
con su Google Cloud ID o nombre del proyecto.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/"
Utilice el métodokeys.patch para especificar las aplicaciones de iOS que pueden utilizar una clave API.
Esta solicitud devuelve una operación de larga duración ; debe sondear la operación para saber cuándo se completa y obtener el estado de la operación.
Reemplace los siguientes valores:
ALLOWED_BUNDLE_ID
: el ID del paquete de una aplicación de iOS que puede usar la clave.Puedes agregar la información para tantas aplicaciones como necesites; utilice comas para separar los ID del paquete. Debe proporcionar todos los ID de paquete con la solicitud; Los ID de paquete proporcionados reemplazan cualquier aplicación permitida existente en la clave.
PROJECT_ID
: Tu Google Cloud ID o nombre del proyecto.KEY_ID
: el ID de la clave que desea restringir.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data '{ "restrictions" : { "iosKeyRestrictions": { "allowedBundleIds": ["ALLOWED_BUNDLE_ID_1","ALLOWED_BUNDLE_ID_2"] } } }' \ "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/KEY_ID?updateMask=restrictions"
Para obtener más información sobre cómo agregar restricciones de aplicaciones de iOS a una clave mediante la API REST, consulte Agregar restricciones de iOS en la documentación de la API de claves API.
Agregar restricciones de API
Las restricciones de API especifican qué API se pueden llamar mediante la clave API.
Para agregar restricciones de API, utilice una de las siguientes opciones:
Consola
En el Google Cloud consola, vaya a la página Credenciales :
Haga clic en el nombre de la clave API que desea restringir.
En la sección Restricciones de API , haga clic en Restringir clave .
Seleccione todas las API a las que se utilizará su clave API para acceder.
Haga clic en Guardar para guardar los cambios y volver a la lista de claves API.
nube de gcloud
Obtenga el ID de la clave que desea restringir.
El ID no es el mismo que el nombre para mostrar o la cadena de clave. Puedes obtener la ID usando el comando
gcloud services api-keys list
para enumerar las claves de tu proyecto.Usa el comando
gcloud services api-keys update
para especificar a qué servicios se puede acceder con una clave API.Reemplace los siguientes valores:
-
KEY_ID
: el ID de la clave que desea restringir. SERVICE_1
,SERVICE_2
...: Los nombres de servicio de las API a las que se puede acceder con la clave.Debe proporcionar todos los nombres de servicios con el comando de actualización; Los nombres de los servicios proporcionados reemplazan cualquier servicio existente en la clave.
Puede encontrar el nombre del servicio buscando la API en el panel de API . Los nombres de los servicios son cadenas como
bigquery.googleapis.com
.gcloud services api-keys update KEY_ID \ --api-target=service=SERVICE_1 --api-target=service=SERVICE_2
-
Java
Para ejecutar este ejemplo, debe instalar la biblioteca cliente google-cloud-apikeys
.
Pitón
Para ejecutar este ejemplo, debe instalar la biblioteca cliente de claves API .
DESCANSAR
Obtenga el ID de la clave que desea restringir.
El ID no es el mismo que el nombre para mostrar o la cadena de clave. Puede obtener la identificación utilizando el métodokeys.list . El ID aparece en el campo
uid
de la respuesta.Reemplace
PROJECT_ID
con su Google Cloud ID o nombre del proyecto.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/"
Utilice el métodokeys.patch para especificar a qué servicios se puede acceder mediante una clave API.
Esta solicitud devuelve una operación de larga duración ; debe sondear la operación para saber cuándo se completa y obtener el estado de la operación.
Reemplace los siguientes valores:
SERVICE_1
,SERVICE_2
...: Los nombres de servicio de las API a las que se puede acceder con la clave.Debe proporcionar todos los nombres de los servicios con la solicitud; Los nombres de los servicios proporcionados reemplazan cualquier servicio existente en la clave.
Puede encontrar el nombre del servicio buscando la API en el panel de API . Los nombres de los servicios son cadenas como
bigquery.googleapis.com
.PROJECT_ID
: Tu Google Cloud ID o nombre del proyecto.KEY_ID
: el ID de la clave que desea restringir.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data '{ "restrictions" : { "apiTargets": [ { "service": "SERVICE_1" }, { "service" : "SERVICE_2" }, ] } }' \ "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/KEY_ID?updateMask=restrictions"
Para obtener más información sobre cómo agregar restricciones de API a una clave mediante la API REST, consulte Agregar restricciones de API en la documentación de API de claves de API.
Obtener información del proyecto a partir de una cadena de claves
Puedes determinar cual Google Cloud proyecto al que está asociada una clave API desde su cadena.
Reemplace KEY_STRING
con la cadena clave para la que necesita información del proyecto.
nube de gcloud
Usas el comando gcloud services api-keys lookup
para obtener el ID del proyecto a partir de una cadena de clave.
gcloud services api-keys lookup KEY_STRING
Java
Para ejecutar este ejemplo, debe instalar la biblioteca cliente google-cloud-apikeys
.
Pitón
Para ejecutar este ejemplo, debe instalar la biblioteca cliente de claves API .
DESCANSAR
Utilice el método lookupKey
para obtener el ID del proyecto a partir de una cadena de clave.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ "https://apikeys.googleapis.com/v2/keys:lookupKey?keyString=KEY_STRING"
Crear una copia de una clave API
Si necesita una nueva clave API con las mismas restricciones que una clave API existente, puede crear una copia de la clave API existente. Esta operación crea una nueva clave API con una cadena de clave e ID únicos, con las restricciones de la clave API existente.
La operación de copia está disponible sólo en el Google Cloud consola. Para utilizar otros métodos, siga los pasos para crear una clave API y luego aplique las mismas restricciones de clave API a la clave API recién generada.
En el Google Cloud consola, vaya a la página Credenciales :
Haga clic en el nombre de la clave API que desea copiar.
Se abre la página de detalles de la clave API.
Haga clic en Crear una copia .
Ingrese un nombre para la nueva clave API y confirme que las restricciones sean correctas.
Haga clic en Crear .
Rotar una clave API
Al rotar periódicamente sus claves API, puede limitar el impacto de cualquier clave API comprometida.
Cuando rota una clave API, crea una nueva clave con las mismas restricciones que la clave anterior y actualiza sus aplicaciones para usar la nueva clave. Una vez actualizadas todas sus aplicaciones, elimina la clave anterior.
La operación de rotación está disponible sólo en el Google Cloud consola. Para utilizar otros métodos, siga los pasos para crear una clave API y luego aplique las mismas restricciones de clave API a la clave API recién generada. Después de actualizar sus aplicaciones para usar la nueva clave, elimina la clave anterior.
En el Google Cloud consola, vaya a la página Credenciales :
Haga clic en el nombre de la clave API que desea rotar para abrir su página de detalles.
Haga clic en Girar clave .
Ingrese un nombre para la nueva clave API y confirme que las restricciones sean correctas.
Haga clic en Crear .
Copie la cadena de clave y actualice sus aplicaciones para usar la nueva cadena.
Después de haber actualizado todas las aplicaciones para usar la nueva clave, regrese a la página de detalles de la nueva clave. En la sección Clave anterior , haga clic en Eliminar la clave anterior para eliminar la clave anterior.
Si descubre que eliminó la clave anterior prematuramente, puede recuperarla .
Recuperar una clave API
Si elimina una clave API por error, puede recuperarla (restaurarla) dentro de los 30 días posteriores a su eliminación. Después de 30 días, no podrá recuperar la clave API.
Consola
En el Google Cloud consola, vaya a la página Credenciales :
Haga clic en Restaurar credenciales eliminadas .
Busque la clave API eliminada que desea recuperar y haga clic en Restaurar .
La recuperación de una clave API puede tardar unos minutos en propagarse. Después de la propagación, la clave API recuperada se muestra en la lista de claves API.
nube de gcloud
Obtenga el ID de la clave que desea recuperar.
El ID no es el mismo que el nombre para mostrar o la cadena de clave. Puedes obtener la identificación usando el comando
gcloud services api-keys list --show-deleted
para enumerar las claves eliminadas en tu proyecto.Usa el comando
gcloud services api-keys undelete
para recuperar una clave API.gcloud services api-keys undelete KEY_ID
Reemplace los siguientes valores:
-
KEY_ID
: el ID de la clave que desea recuperar.
-
Java
Para ejecutar este ejemplo, debe instalar la biblioteca cliente google-cloud-apikeys
.
DESCANSAR
Obtenga el ID de la clave que desea recuperar.
El ID no es el mismo que el nombre para mostrar o la cadena de clave. Puede obtener el ID utilizando el métodokeys.list , con el parámetro de consulta
showDeleted
establecido entrue
. El ID de la clave aparece en el campouid
de la respuesta.Reemplace
PROJECT_ID
con su Google Cloud ID o nombre del proyecto.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys?showDeleted=true"
Utilice el método de recuperación para recuperar la clave API.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/KEY_ID:undelete"
Esta solicitud devuelve una operación de larga duración ; debe sondear la operación para saber cuándo se completa y obtener el estado de la operación.
Reemplace los siguientes valores:
-
PROJECT_ID
: Tu Google Cloud ID o nombre del proyecto. -
KEY_ID
: el ID de la clave que desea restringir.
-
Determinar el tipo de clave API
Puede determinar si la clave API está vinculada a una cuenta de servicio inspeccionando la clave.
Consola
En el Google Cloud consola, vaya a la página Credenciales :
Si la clave API está vinculada a una cuenta de servicio, se muestra el identificador de la cuenta de servicio.
nube de gcloud
Obtenga el ID de la clave.
El ID no es el mismo que el nombre para mostrar o la cadena de clave. Puedes obtener la ID usando el comando
gcloud services api-keys list
para enumerar las claves de tu proyecto.Usa el comando
gcloud services api-keys describe
para describir la clave API.gcloud services api-keys describe KEY_ID
Si la clave API está vinculada a una cuenta de servicio, se muestra el campo
serviceAccountEmail
.
Encuesta de operaciones de larga duración
Claves API Los métodos API utilizan operaciones de larga duración. Si utiliza la API REST para crear y administrar claves API, se devuelve un objeto de operación desde la solicitud del método inicial. Utilice el nombre de la operación para sondear la operación de larga duración. Cuando se completa la solicitud de larga duración, el sondeo de la operación devuelve los datos de la solicitud de larga duración.
Para sondear una operación API de claves API de larga duración, se utiliza el método operations.get
.
Reemplace OPERATION_NAME
con el nombre de la operación devuelto por la operación de larga duración. Por ejemplo, operations/akmf.p7-358517206116-cd10a88a-7740-4403-a8fd-979f3bd7fe1c
.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ "https://apikeys.googleapis.com/v2/OPERATION_NAME"
Límites de las claves API
Puede crear hasta 300 claves API por proyecto. Este límite es un límite del sistema y no se puede cambiar mediante una solicitud de aumento de cuota. Si se necesitan más claves API, debe utilizar más de un proyecto.
Puede agregar hasta 1200 restricciones de aplicaciones a una clave API.
¿Qué sigue?
- Conozca las mejores prácticas para mantener seguras sus claves API .
- Obtenga más información sobre la API de claves API .
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-05-15 (UTC).