Ce document explique comment s'authentifier auprès de l'API Cloud Healthcare de manière automatisée. La façon dont vous vous authentifiez auprès de l'API Cloud Healthcare dépend de l'interface que vous utilisez pour accéder à l'API et de l'environnement dans lequel votre code s'exécute.
Pour en savoir plus sur l'authentification Google Cloud, consultez la page Présentation de l'authentification.
Accès API
L'API Cloud Healthcare est compatible avec l'accès programmatique. Vous pouvez accéder à l'API des manières suivantes :
Bibliothèques clientes
Les bibliothèques clientes de l'API Google offrent une compatibilité de langage de haut niveau avec l'authentification automatisée auprès de l'API Cloud Healthcare. Pour authentifier les appels aux API Google Cloud, les bibliothèques clientes sont compatibles avec les ADC (Identifiants par défaut de l'application). Les bibliothèques recherchent des identifiants dans un ensemble d'emplacements définis et les utilisent pour authentifier les requêtes adressées à l'API. Le service ADC vous permet de mettre des identifiants à disposition de votre application dans divers environnements, tels que l'environnement de développement local ou l'environnement de production, sans avoir à modifier le code de votre application.
Google Cloud CLI
Lorsque vous utilisez gcloud CLI pour accéder à l'API Cloud Healthcare, connectez-vous à gcloud CLI avec un compte utilisateur, qui fournit les identifiants utilisés par les commandes gcloud CLI.
Si les règles de sécurité de votre organisation empêchent les comptes utilisateur de disposer des autorisations requises, vous pouvez utiliser l'emprunt d'identité du compte de service.
Pour en savoir plus, consultez la section S'authentifier pour utiliser gcloud CLI. Pour en savoir plus sur l'utilisation de la gcloud CLI avec l'API Cloud Healthcare, consultez les pages de référence de la gcloud CLI.
REST
Vous pouvez vous authentifier auprès de l'API Cloud Healthcare à l'aide de vos identifiants gcloud CLI ou en utilisant les identifiants par défaut de l'application. Pour en savoir plus sur l'authentification pour les requêtes REST, consultez la page S'authentifier pour utiliser REST. Pour en savoir plus sur les types d'identifiants, consultez la section Identifiants gcloud CLI et identifiants ADC.
Configurer l'authentification pour l'API Cloud Healthcare
La façon dont vous configurez l'authentification dépend de l'environnement dans lequel votre code s'exécute.
Les options de configuration d'authentification suivantes sont les plus couramment utilisées. Pour accéder à davantage d'options et pour en savoir plus sur l'authentification, consultez la section Méthodes d'authentification.
Pour un environnement de développement local
Vous pouvez configurer les identifiants pour un environnement de développement local comme suit :
- Identifiants utilisateur pour les bibliothèques clientes ou les outils tiers
- Identifiants utilisateur pour les requêtes REST depuis la ligne de commande
Bibliothèques clientes ou outils tiers
Configurez les identifiants par défaut de l'application dans votre environnement local :
-
Install the Google Cloud CLI, then initialize it by running 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.
Un écran de connexion s'affiche. Une fois que vous êtes connecté, vos identifiants sont stockés dans le fichier d'identifiants local utilisé par ADC.
Pour en savoir plus sur l'utilisation des ADC dans un environnement local, consultez la section Environnement de développement local.
Requêtes REST à partir de la ligne de commande
Lorsque vous effectuez une requête REST à partir de la ligne de commande, vous pouvez utiliser vos identifiants gcloud CLI en incluant gcloud auth print-access-token
dans la commande qui envoie la requête.
L'exemple suivant répertorie les comptes de service du projet spécifié. Vous pouvez utiliser le même modèle pour n'importe quelle requête REST.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet Google Cloud.
Pour envoyer votre requête, développez l'une des options suivantes :
Pour en savoir plus sur l'authentification à l'aide de REST et gRPC, consultez la page S'authentifier pour utiliser REST. Pour plus d'informations sur la différence entre vos identifiants ADC locaux et votre les identifiants de la gcloud CLI, consultez Configuration de l'authentification de la CLI gcloud et de la configuration ADC
Sur Google Cloud
Pour authentifier une charge de travail exécutée sur Google Cloud, vous devez utiliser les identifiants du compte de service associé à la ressource de calcul où votre code est exécuté, par exemple une instance de machine virtuelle (VM) Compute Engine. Cette approche est la méthode d'authentification recommandée pour le code exécuté sur une ressource de calcul Google Cloud.
Pour la plupart des services, vous devez associer le compte de service lorsque vous créez la ressource qui exécutera votre code. Vous ne pourrez pas ajouter ni remplacer le compte de service ultérieurement. Compute Engine fait exception, car il vous permet d'associer un compte de service à une instance de VM à tout moment.
Créez un compte de service à l'aide de la gcloud CLI et associez-le à votre ressource :
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
-
Set up authentication:
-
Create the service account:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
Replace
SERVICE_ACCOUNT_NAME
with a name for the service account. -
To provide access to your project and your resources, grant a role to the service account:
gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=ROLE
Replace the following:
SERVICE_ACCOUNT_NAME
: the name of the service accountPROJECT_ID
: the project ID where you created the service accountROLE
: the role to grant
- To grant another role to the service account, run the command as you did in the previous step.
-
Grant the required role to the principal that will attach the service account to other resources.
gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com --member="user:USER_EMAIL" --role=roles/iam.serviceAccountUser
Replace the following:
SERVICE_ACCOUNT_NAME
: the name of the service accountPROJECT_ID
: the project ID where you created the service accountUSER_EMAIL
: the email address for a Google Account
-
-
Créez la ressource qui exécutera votre code et associez-lui le compte de service. Par exemple, si vous utilisez Compute Engine :
Create a Compute Engine instance. Configure the instance as follows:-
Replace
INSTANCE_NAME
with your preferred instance name. -
Set the
--zone
flag to the zone in which you want to create your instance. -
Set the
--service-account
flag to the email address for the service account that you created.
gcloud compute instances create INSTANCE_NAME --zone=ZONE --service-account=SERVICE_ACCOUNT_EMAIL
-
Replace
Pour en savoir plus sur l'authentification auprès des API Google, consultez la page Méthodes d'authentification.
Sur site ou chez un autre fournisseur cloud
La méthode recommandée pour configurer l'authentification en dehors de Google Cloud consiste à utiliser la fédération d'identité de charge de travail. Pour en savoir plus, consultez la section Fournisseur sur site ou autre fournisseur cloud dans la documentation sur l'authentification.
Contrôle des accès à l'API Cloud Healthcare
Une fois authentifié auprès de l'API Cloud Healthcare, vous devez être autorisé à accéder aux ressources Google Cloud. L'API Cloud Healthcare utilise Identity and Access Management (IAM) pour l'autorisation.
Pour en savoir plus sur les rôles de l'API Cloud Healthcare, consultez la section Contrôle des accès avec IAM. Pour en savoir plus sur IAM et les autorisations, consultez la section Présentation d'IAM.
Autorisation de compte de service à l'aide de jetons Web JSON (JWT)
Vous pouvez effectuer des appels autorisés vers l'API Cloud Healthcare à l'aide d'un Jeton Web JSON (JWT) directement en tant que jeton de support, au lieu d'un accès OAuth 2.0 à partir d'un jeton d'accès. L'API Cloud Healthcare ne nécessite pas de méthode de génération de jeton spécifique. Vous pouvez trouver une collection de bibliothèques clientes d'assistance pour créer des jetons JWT sur JWT.io. Lorsque vous utilisez un jeton JWT signé, vous pouvez éviter d'avoir à envoyer une requête réseau au serveur d'autorisation de Google avant d'effectuer un appel d'API.
Lorsque vous utilisez un jeton JWT, spécifiez https://healthcare.googleapis.com/
dans le champ aud
.
.
Pour autoriser les appels vers l'API Cloud Healthcare à l'aide d'un jeton JWT au lieu d'un jeton d'accès OAuth 2.0, suivez les instructions de la section Avenant : Autorisation du compte de service sans OAuth.
Le jeton JWT que vous créez doit ressembler à l'exemple suivant :
{ "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 }
Étape suivante
- Découvrez les méthodes d'authentification de Google Cloud.
- Consultez la liste des cas d'utilisation de l'authentification.