Controla quién puede habilitar tu API

Las claves de API están asociadas al proyecto de Google Cloud en el que se crearon. Si en tu API se requiere una clave de API, debes dar a los usuarios de la API una clave del proyecto en el que creaste el servicio de Cloud Endpoints o puedes permitir que los usuarios habiliten tu API en su propio proyecto de Google Cloud y creen una clave de API. En esta página, se muestra cómo otorgar el permiso que los usuarios necesitan para habilitar la API.

Otorga acceso

Endpoints usa la función consumidor de servicios de la administración de identidades y accesos para permitir que alguien que no sea miembro de tu proyecto de Google Cloud habilite la API en su propio proyecto de Google Cloud. En esta sección, se muestra cómo otorgar acceso con la consola de Google Cloud o Google Cloud CLI.

Consola de Google Cloud

  1. En la consola de Google Cloud, ve a la página Endpoints > Servicios de tu proyecto.

    Ir a la página Servicios de Endpoints

  2. Si tienes más de una API, haz clic en el nombre de la API a la que quieras otorgar acceso.
  3. Si el panel lateral Permisos no está abierto, haz clic en Mostrar panel de permisos.
  4. En el campo Agregar principal, ingresa la dirección de correo electrónico de la persona o el Grupo de Google al que deseas otorgar acceso.
  5. En el menú desplegable Seleccionar una función, selecciona Service Management > Consumidor de servicio.
  6. Haz clic en Guardar.
  7. Continúa agregando miembros y seleccionando funciones según sea necesario.
  8. Contacta a los usuarios o grupos que agregaste para informarles que pueden habilitar la API en sus proyectos de Google Cloud. En la página API y servicios, consulta cómo habilitar una API en tu proyecto de Google Cloud para obtener información acerca de la habilitación de un servicio.

gcloud

  1. Abre Cloud Shell o, si tienes Google Cloud CLI instalado, abre una ventana de terminal.
    • Ejecuta el siguiente código para conceder acceso a un usuario individual:
      
      gcloud endpoints services add-iam-policy-binding [SERVICE-NAME] \
            --member='user:EMAIL-NAME@gmail.com' \
            --role='roles/servicemanagement.serviceConsumer'
      
    • Ejecuta el siguiente código para otorgar acceso a un Grupo de Google:
      
      gcloud endpoints services add-iam-policy-binding [SERVICE-NAME] \
            --member='group:GROUP-NAME@googlegroups.com' \
            --role='roles/servicemanagement.serviceConsumer'
      
  2. Contacta a los usuarios o grupos que agregaste para informarles que pueden habilitar la API en sus proyectos de Google Cloud. En la página API y servicios, consulta cómo habilitar una API en tu proyecto de Google Cloud para obtener información acerca de la habilitación de un servicio.

Revoca acceso

Para revocar el acceso a tu API, quita la función Consumidor de servicio de un usuario o grupo que tenía la función anteriormente. Después de que revocas el acceso de un usuario o grupo, ya no podrán habilitar la API.

En esta sección, se muestra cómo revocar el acceso con la consola de Google Cloud o Google Cloud CLI.

Consola de Google Cloud

  1. En la consola de Google Cloud, ve a la página Endpoints > Servicios de tu proyecto de Google Cloud.

    Ir a la página Servicios de Endpoints

  2. Si tienes más de una API, haz clic en el nombre de la API a la que quieras revocar el acceso.
  3. Si el panel lateral Permisos no está abierto, haz clic en Permisos.
  4. Haz clic en la tarjeta Función a la que pertenece el miembro.
  5. Haz clic en Borrar .

gcloud

  • Ejecuta el siguiente código para revocar el acceso a un usuario individual:
    
    gcloud endpoints services remove-iam-policy-binding [SERVICE-NAME] \
          --member='user:'EMAIL-NAME@gmail.com' --role='roles/servicemanagement.serviceConsumer'
    
  • Ejecuta el siguiente código para revocar el acceso a un Grupo de Google:
    
    gcloud endpoints services remove-iam-policy-binding [SERVICE-NAME] \
          --member='group:GROUP-NAME@googlegroups.com' \
          --role='roles/servicemanagement.serviceConsumer'
    

¿Qué sigue?