이 페이지는 AI 기능을 사용 설정하기 위해 애플리케이션 및 개발 환경을 설정하는 역할을 담당하는 애플리케이션 운영자 그룹 내의 애플리케이션 개발자를 대상으로 합니다. 자세한 내용은 GDC 에어 갭 문서의 잠재고객을 참조하세요.
시작하기 전에
API 요청을 인증하고 서비스 계정을 구성하려면 관리자에게 필요한 권한을 요청하세요. 또한 Vertex AI를 위해 프로젝트를 설정했는지 확인합니다. 자세한 내용은 Vertex AI용 프로젝트 설정을 참조하세요.
- 개발 환경에서 인증을 설정하기 전에 로컬 트러스트 저장소를 업데이트해야 합니다.
IAM 역할 요청
프로젝트 네임스페이스에서 다음 역할을 요청하려면 프로젝트 IAM 관리자에게 문의하세요.
- 프로젝트 IAM 관리자 (
project-iam-admin): 프로젝트 네임스페이스에서 서비스 계정을 만들고 역할 바인딩을 관리합니다. - AI OCR 개발자 (
ai-ocr-developer): OCR API에 대한 요청을 인증합니다. - AI Speech 개발자 (
ai-speech-developer): Speech-to-Text API에 대한 요청을 인증합니다. - AI Speech Chirp 개발자 (
ai-speech-chirp-developer): Speech-to-Text Chirp 모델에 대한 요청을 인증합니다. - AI 텍스트 임베딩 개발자 (
ai-text-embedding-developer):Text-Embedding-Gecko모델에 대한 요청을 인증합니다. - AI 텍스트 임베딩 다국어 개발자 (
ai-text-embedding-multilingual-developer):Text-Multilingual-Embedding모델에 대한 요청을 인증합니다. - AI 번역 개발자 (
ai-translation-developer): Vertex AI Translation API에 대한 요청을 인증합니다. - Vertex AI Prediction 사용자 (
vertex-ai-prediction-user): 온라인 예측 모델에 대한 예측 요청을 인증합니다.
이러한 역할에 대한 자세한 내용은 IAM 권한 준비를 참조하세요.
Vertex AI 서비스 인증
Vertex AI 서비스와의 상호작용은 인증 토큰을 통해 이루어집니다. 토큰은 유효한 사용자 인증 정보를 제공한 후 ID와 승인을 확인하는 디지털 객체입니다. 토큰은 계정에 대한 특정 정보와 서비스 및 리소스에 액세스하고 작동할 수 있는 권한을 전달합니다.
인증을 설정하는 방법에는 두 가지가 있습니다.
사용자 계정으로 인증
다음은 사용자 계정의 인증 토큰을 가져오는 방법을 안내합니다.
사용하려는 API의 엔드포인트를 기록해 둡니다.
사용자 계정에 IAM 권한 준비에 나열된 상응하는 역할을 부여하여 사용하려는 Vertex AI 서비스 또는 생성형 AI 모델에 액세스합니다.
API와 상호작용해야 하는 사용자 계정으로 Distributed Cloud에 로그인합니다.
gdcloud auth login인증 토큰을 가져옵니다.
gdcloud auth print-identity-token --audiences=https://ENDPOINTENDPOINT를 조직에서 사용하는 API 엔드포인트로 바꿉니다. 자세한 내용은 서비스 상태 및 엔드포인트를 확인하세요.인증 토큰의 용도에 따라 다음과 같이 잠재고객 경로의 서비스 엔드포인트 뒤에 포트를 포함해야 할 수 있습니다.
- 요청에 클라이언트 라이브러리를 사용하는 경우 잠재고객 경로의 서비스 엔드포인트 뒤에 포트
:443를 포함해야 합니다. 따라서 명령어의--audiences경로는https://ENDPOINT:443이어야 합니다. - 요청에 gRPC,
curl또는 프로그래매틱 REST 호출을 사용하는 경우 포트를 포함하지 마세요. 따라서 명령어의--audiences경로는https://ENDPOINT이어야 합니다.
출력에 인증 토큰이 표시됩니다. 다음 예와 같이 만든 명령줄 요청의 헤더에 토큰을 추가합니다.
-H "Authorization: Bearer TOKEN"TOKEN을 출력에 표시되는 인증 토큰의 값으로 바꿉니다.- 요청에 클라이언트 라이브러리를 사용하는 경우 잠재고객 경로의 서비스 엔드포인트 뒤에 포트
서비스 계정으로 인증
다음은 서비스 계정의 인증 토큰을 가져오는 방법을 안내합니다.
사용하려는 API의 엔드포인트를 기록해 둡니다.
서비스 계정을 설정하여 Vertex AI 서비스 또는 생성형 AI 모델에 액세스합니다.
서비스 계정에 IAM 권한 준비에 나열된 상응하는 역할을 부여하여 사용하려는 서비스 또는 모델에 액세스할 수 있도록 합니다.
다음 환경 변수를 설정합니다.
export GOOGLE_APPLICATION_CREDENTIALS=PATH_TO_SERVICE_KEYPATH_TO_SERVICE_KEY를 서비스 계정의 키 쌍이 포함된 JSON 파일의 경로로 바꿉니다.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: 조직에서 사용하는 API 엔드포인트입니다. 자세한 내용은 서비스 상태 및 엔드포인트를 확인하세요. 인증 토큰의 용도에 따라 다음과 같이 잠재고객 경로의 서비스 엔드포인트 뒤에 포트를 포함해야 할 수 있습니다.- 요청에 클라이언트 라이브러리를 사용하는 경우 잠재고객 경로의 서비스 엔드포인트 뒤에 포트
: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을 출력에 표시되는 인증 토큰의 값으로 바꿉니다.