Vertex AI sur l'appareil avec air gap Google Distributed Cloud (GDC) vous permet d'accéder aux API de manière programmatique en authentifiant vos requêtes avec des jetons. Vous pouvez obtenir un jeton d'authentification à l'aide d'un compte utilisateur ou d'un compte de service.
Choisissez l'une des options suivantes pour obtenir un jeton d'authentification :
Compte utilisateur
Pour obtenir un jeton d'authentification avec des autorisations utilisateur, procédez comme suit :
Notez le point de terminaison de l'API que vous souhaitez utiliser.
Accédez au service Vertex AI que vous souhaitez utiliser en attribuant à votre compte utilisateur le rôle correspondant indiqué dans Préparer les autorisations IAM.
Connectez-vous à l'appareil GDC sous air gap avec le compte utilisateur que vous devez utiliser pour interagir avec l'API :
gdcloud auth loginObtenez le jeton d'authentification :
gdcloud auth print-identity-token --audiences=https://ENDPOINTRemplacez
ENDPOINTpar le point de terminaison de service que vous utilisez pour votre organisation. Pour en savoir plus, consultez l'état et les points de terminaison du service.Selon l'utilisation prévue du jeton d'authentification, vous devrez peut-être inclure le port après le point de terminaison du service dans le chemin d'accès des audiences, comme suit :
- Si vous utilisez une bibliothèque cliente pour votre requête, vous devez inclure le port
:443après le point de terminaison du service dans le chemin d'accès des audiences. Par conséquent, le chemin d'accès--audiencesdans la commande doit êtrehttps://ENDPOINT:443. - Si vous utilisez gRPC,
curlou des appels REST programmatiques pour votre requête, n'incluez pas le port. Par conséquent, le chemin d'accès--audiencesdans la commande doit êtrehttps://ENDPOINT.
- Si vous utilisez une bibliothèque cliente pour votre requête, vous devez inclure le port
Le résultat affiche le jeton d'authentification. Ajoutez le jeton à l'en-tête des requêtes de ligne de commande que vous effectuez, comme dans l'exemple suivant :
-H "Authorization: Bearer TOKEN"
Remplacez TOKEN par la valeur du jeton d'authentification affichée dans le résultat.
Compte de service
Pour obtenir un jeton d'authentification avec un compte de service, procédez comme suit :
Notez le point de terminaison de l'API que vous souhaitez utiliser.
Configurez le compte de service que vous souhaitez utiliser pour accéder au service Vertex AI.
Attribuez au compte de service le rôle correspondant indiqué dans Préparer les autorisations IAM pour lui permettre d'accéder au service que vous souhaitez utiliser.
Installez la bibliothèque cliente
google-auth:pip install google-authAjoutez le code suivant à un script Python :
import os import google.auth from google.auth.transport import requests import requests as reqs os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "PATH_TO_SERVICE_KEY" os.environ["GRPC_DEFAULT_SSL_ROOTS_FILE_PATH"] = "CERT_NAME" # If you use a client library for your request, # you must include port :443 after the service endpoint # in the audience path. audience = "https://ENDPOINT" creds, project_id = google.auth.default() print(project_id) creds = creds.with_gdch_audience(audience) def test_get_token(): sesh = reqs.Session() req = requests.Request(session=sesh) creds.refresh(req) print(creds.token) if __name__=="__main__": test_get_token()Remplacez les éléments suivants :
PATH_TO_SERVICE_KEY: chemin d'accès au fichier JSON contenant les paires de clés de votre compte de service.CERT_NAME: nom du fichier de certificat (CA) de l'autorité de certification, tel queorg-1-trust-bundle-ca.cert. Vous n'avez besoin de cette valeur que si vous vous trouvez dans un environnement de développement. Sinon, omettez-le.ENDPOINT: point de terminaison de service que vous utilisez pour votre organisation. Pour en savoir plus, consultez l'état et les points de terminaison du service. Selon l'utilisation prévue du jeton d'authentification, vous devrez peut-être inclure le port après le point de terminaison du service dans le chemin d'accès de l'audience, comme suit :- Si vous utilisez une bibliothèque cliente pour votre requête, vous devez inclure le port
:443après le point de terminaison du service dans le chemin d'accès de l'audience. Par conséquent, le chemin d'accèsaudiencedans le script doit être"https://ENDPOINT:443". - Si vous utilisez gRPC,
curlou des appels REST programmatiques pour votre requête, n'incluez pas le port. Par conséquent, le chemin d'accèsaudiencedans le script doit être"https://ENDPOINT".
- Si vous utilisez une bibliothèque cliente pour votre requête, vous devez inclure le port
Enregistrez le script Python.
Exécutez le script Python pour récupérer le jeton :
python SCRIPT_NAMERemplacez
SCRIPT_NAMEpar le nom que vous avez donné à votre script Python, par exempletoken.py.
Le résultat affiche le jeton d'authentification. Ajoutez le jeton à l'en-tête des requêtes de ligne de commande que vous effectuez, comme dans l'exemple suivant :
-H "Authorization: Bearer TOKEN"
Remplacez TOKEN par la valeur du jeton d'authentification affichée dans le résultat.