Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Autentica la API

En esta página, se explica cómo autorizar solicitudes a la API de Cloud Healthcare.

Obtén un archivo de claves de cuenta de servicio

A fin de crear una cuenta de servicio y descargar un archivo de claves:

Cloud Console

  1. En Cloud Console, ve a la página Crea una clave de cuenta de servicio.

    Ir a la página Crea una clave de la cuenta de servicio
  2. En la lista Cuenta de servicio, selecciona Cuenta de servicio nueva.
  3. Ingresa un nombre en el campo Nombre de cuenta de servicio.
  4. En la lista Función, selecciona Proyecto > Propietario.

  5. Haz clic en Crear. Se descargará un archivo JSON que contiene tus claves a tu computadora.

Línea de comandos

Puedes ejecutar los siguientes comandos con el SDK de Cloud en tu máquina local o en Cloud Shell.

  1. Crea la cuenta de servicio. Reemplaza NAME por un nombre para la cuenta de servicio.

    gcloud iam service-accounts create NAME
  2. Otorga permisos a la cuenta de servicio. Reemplaza PROJECT_ID por el ID del proyecto.

    gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:NAME@PROJECT_ID.iam.gserviceaccount.com" --role="roles/owner"
  3. Genera el archivo de claves. Reemplaza FILE_NAME por un nombre para el archivo de claves.

    gcloud iam service-accounts keys create FILE_NAME.json --iam-account=NAME@PROJECT_ID.iam.gserviceaccount.com

Proporciona credenciales para tu aplicación

La API de Cloud Healthcare puede usar las bibliotecas cliente de Google específicas del lenguaje para autenticar aplicaciones y hacer llamadas a Google Cloud. Por ejemplo, con la biblioteca cliente de la API de Google para Python, puedes compilar un objeto de servicio con tus credenciales y, luego, realizar llamadas.

Puedes proporcionar credenciales de forma automática o manual. Proporcionar credenciales automáticamente es útil cuando se realizan pruebas y experimentos, pero puede dificultar saber qué credenciales está usando tu aplicación. Como alternativa, proporciona las credenciales de forma manual.

Configura las variables de entorno

Puedes proporcionar credenciales de autenticación al código o a los comandos de tu aplicación. Para ello, configura la variable de entorno GOOGLE_APPLICATION_CREDENTIALS en la ruta del archivo JSON que contiene la clave de tu cuenta de servicio.

Ten en cuenta que, si ejecutas tu aplicación en Compute Engine, Google Kubernetes Engine (GKE) o App Engine, solo necesitas establecer la variable de entorno GOOGLE_APPLICATION_CREDENTIALS si usas una que no sea la cuenta de servicio predeterminada que proporcionan esos servicios.

En los siguientes pasos se muestra cómo configurar la variable de entorno GOOGLE_APPLICATION_CREDENTIALS.

curl

Si usas curl, ejecuta el siguiente comando. Reemplaza PATH con la ruta de acceso del archivo JSON que contiene la clave de tu cuenta de servicio y FILE_NAME con el nombre del archivo. Esta variable solo se aplica a la sesión actual de shell. Por lo tanto, si abres una sesión nueva, deberás volver a configurar la variable.

export GOOGLE_APPLICATION_CREDENTIALS=PATH/FILE_NAME

Por ejemplo:

export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/service-account.json"

PowerShell

Si usas Windows PowerShell, ejecuta el siguiente comando. Reemplaza PATH con la ruta de acceso del archivo JSON que contiene la clave de tu cuenta de servicio y FILE_NAME con el nombre del archivo. Esta variable solo se aplica a la sesión actual de shell. Por lo tanto, si abres una sesión nueva, deberás volver a configurar la variable.

$env:GOOGLE_APPLICATION_CREDENTIALS="PATH/FILE_NAME"

Por ejemplo:

$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\service_account.json"

Después de configurar la variable de entorno GOOGLE_APPLICATION_CREDENTIALS, las credenciales predeterminadas de la aplicación (ADC) pueden determinar tus credenciales de forma implícita.

Encuentra credenciales automáticamente

Las bibliotecas cliente de la API de Google usan credenciales predeterminadas de la aplicación (ADC) para encontrar las credenciales de la aplicación automáticamente.

Si tu código usa una biblioteca cliente, la biblioteca cliente verifica las credenciales en el siguiente orden:

  1. ADC verifica si se configuró la variable de entorno GOOGLE_APPLICATION_CREDENTIALS. Si está configurada, ADC usa el archivo de cuenta de servicio al que apunta la variable. En Cómo configurar las variables de entorno, se describe cómo configurar la variable del entorno.
  2. Si no se configura la variable de entorno, ADC usa la cuenta de servicio predeterminada que proporcionan Compute Engine, Google Kubernetes Engine (GKE) o App Engine, si tu aplicación se ejecuta en alguno de esos servicios.

Se mostrará un error si ADC no puede usar ninguna de las credenciales ya mencionadas.

En el siguiente ejemplo de código, se muestra el uso de ADC. No se especifican de forma explícita las credenciales de la aplicación. Sin embargo, ADC puede encontrar las credenciales de forma implícita y almacenarlas en la variable auth siempre que se configure la variable de entorno GOOGLE_APPLICATION_CREDENTIALS o siempre que la aplicación se ejecute en Compute. App Engine, GKE o App Engine.

Node.js

Usa la biblioteca cliente de Node.js.

const {google} = require('googleapis');
const healthcare = google.healthcare('v1');

const createDataset = async () => {
  const auth = await google.auth.getClient({
    scopes: ['https://www.googleapis.com/auth/cloud-platform'],
  });
  google.options({auth});

  // TODO(developer): uncomment these lines before running the sample
  // const cloudRegion = 'us-central1';
  // const projectId = 'adjective-noun-123';
  // const datasetId = 'my-dataset';
  const parent = `projects/${projectId}/locations/${cloudRegion}`;
  const request = {parent, datasetId};

  await healthcare.projects.locations.datasets.create(request);
  console.log(`Created dataset: ${datasetId}`);
};

createDataset();

Obtén y proporciona credenciales de la cuenta de servicio de forma manual

Puedes crear y obtener credenciales de cuenta de servicio de forma manual y, luego, pasar las credenciales a tu aplicación en su código. Consulta Obtén y proporciona las credenciales de la cuenta de servicio de forma manual para obtener más información.

Autorización de cuenta de servicio con tokens web JSON (JWT)

Puedes realizar llamadas autorizadas a la API de Cloud Healthcare que no usan OAuth 2.0. Para ello, usa un token web JSON (JWT) firmado directamente como un token del portador, en lugar de un token de acceso de OAuth 2.0. La API de Cloud Healthcare no requiere un método de generación de token específico. Puedes encontrar una colección de bibliotecas cliente útiles en JWT.io. Cuando usas un JWT firmado, puedes evitar tener que realizar una solicitud de red al servidor de autorización de Google antes de realizar una llamada a la API.

Cuando uses un JWT, especifica https://healthcare.googleapis.com/ en el campo aud.

Para autorizar llamadas a la API de Cloud Healthcare con un JWT en lugar de un token de acceso, completa las instrucciones en Apéndice: Autorización de la cuenta de servicio sin OAuth.

El JWT que crees debe ser similar al siguiente ejemplo:

   {
     "alg": "RS256",
     "typ": "JWT",
     "kid": "PRIVATE_KEY_ID"
   }
   .
   {
     "iss": "SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com",
     "sub": "SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com",
     "aud": "https://healthcare.googleapis.com/",
     "iat": CURRENT_UNIX_TIME,
     "exp": EXPIRATION_TIME
   }
   

¿Qué sigue?