Google Distributed Cloud(GDC) 에어 갭 어플라이언스의 Vertex AI를 사용하면 토큰으로 요청을 인증하여 프로그래매틱 방식으로 API에 액세스할 수 있습니다. 사용자 계정 또는 서비스 계정을 사용하여 인증 토큰을 가져올 수 있습니다.
다음 옵션 중 하나를 선택하여 인증 토큰을 가져옵니다.
사용자 계정
사용자 권한이 있는 인증 토큰을 가져오려면 다음 단계를 따르세요.
사용하려는 API의 엔드포인트를 기록해 둡니다.
IAM 권한 준비에 나열된 해당 역할을 사용자 계정에 부여하여 사용하려는 Vertex AI 서비스에 대한 액세스 권한을 얻습니다.
API와 상호작용해야 하는 사용자 계정으로 GDC 에어 갭 어플라이언스에 로그인합니다.
gdcloud auth login인증 토큰을 가져옵니다.
gdcloud auth print-identity-token --audiences=https://ENDPOINTENDPOINT를 조직에 사용하는 서비스 엔드포인트로 바꿉니다. 자세한 내용은 서비스 상태 및 엔드포인트 보기를 참조하세요.인증 토큰의 용도에 따라 다음과 같이 대상 경로의 서비스 엔드포인트 뒤에 포트를 포함해야 할 수 있습니다.
- 요청에 클라이언트 라이브러리를 사용하는 경우 잠재고객 경로의 서비스 엔드포인트 뒤에 포트
:443를 포함해야 합니다. 따라서 명령어의--audiences경로는https://ENDPOINT:443여야 합니다. - 요청에 gRPC,
curl또는 프로그래매틱 REST 호출을 사용하는 경우 포트를 포함하지 마세요. 따라서 명령어의--audiences경로는https://ENDPOINT여야 합니다.
- 요청에 클라이언트 라이브러리를 사용하는 경우 잠재고객 경로의 서비스 엔드포인트 뒤에 포트
출력에 인증 토큰이 표시됩니다. 다음 예시와 같이 명령줄 요청의 헤더에 토큰을 추가합니다.
-H "Authorization: Bearer TOKEN"
TOKEN를 출력에 표시되는 인증 토큰 값으로 바꿉니다.
서비스 계정
서비스 계정으로 인증 토큰을 가져오려면 다음 단계를 따르세요.
사용하려는 API의 엔드포인트를 기록해 둡니다.
Vertex AI 서비스에 액세스하는 데 사용할 서비스 계정을 설정합니다.
서비스 계정에 IAM 권한 준비에 나열된 해당 역할을 부여하여 사용하려는 서비스에 액세스할 수 있도록 합니다.
google-auth클라이언트 라이브러리를 설치합니다.pip install google-authPython 스크립트에 다음 코드를 추가합니다.
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()다음을 바꿉니다.
PATH_TO_SERVICE_KEY: 서비스 계정의 키 쌍이 포함된 JSON 파일의 경로입니다.CERT_NAME: 인증 기관(CA) 인증서 파일의 이름입니다(예:org-1-trust-bundle-ca.cert). 이 값은 개발 환경에 있는 경우에만 필요합니다. 그렇지 않으면 생략합니다.ENDPOINT: 조직에 사용하는 서비스 엔드포인트입니다. 자세한 내용은 서비스 상태 및 엔드포인트 보기를 참조하세요. 인증 토큰의 용도에 따라 다음과 같이 대상 경로의 서비스 엔드포인트 뒤에 포트를 포함해야 할 수 있습니다.- 요청에 클라이언트 라이브러리를 사용하는 경우 대상 경로의 서비스 엔드포인트 뒤에 포트
:443를 포함해야 합니다. 따라서 스크립트의audience경로는"https://ENDPOINT:443"여야 합니다. - 요청에 gRPC,
curl또는 프로그래매틱 REST 호출을 사용하는 경우 포트를 포함하지 마세요. 따라서 스크립트의audience경로는"https://ENDPOINT"여야 합니다.
- 요청에 클라이언트 라이브러리를 사용하는 경우 대상 경로의 서비스 엔드포인트 뒤에 포트
Python 스크립트를 저장합니다.
Python 스크립트를 실행하여 토큰을 가져옵니다.
python SCRIPT_NAMESCRIPT_NAME을 Python 스크립트에 지정한 이름(예:token.py)으로 바꿉니다.
출력에 인증 토큰이 표시됩니다. 다음 예시와 같이 명령줄 요청의 헤더에 토큰을 추가합니다.
-H "Authorization: Bearer TOKEN"
TOKEN를 출력에 표시되는 인증 토큰 값으로 바꿉니다.