Mengautentikasi permintaan Vertex AI API

Halaman ini menjelaskan cara mengautentikasi panggilan ke layanan Vertex AI di Google Distributed Cloud (GDC) dengan air gap. Anda harus menyiapkan autentikasi token untuk mengamankan permintaan ke Vertex AI API dalam aplikasi dengan air gap. Proses ini memvalidasi permintaan API Anda dengan memberikan identitas Anda dan mengizinkan interaksi Anda.

Halaman ini ditujukan bagi developer aplikasi dalam grup operator aplikasi yang bertanggung jawab menyiapkan lingkungan pengembangan dan aplikasi mereka untuk mengaktifkan fitur AI. Untuk mengetahui informasi selengkapnya, lihat Audiens untuk dokumentasi GDC dengan air gap.

Sebelum memulai

Untuk mengautentikasi permintaan API dan mengonfigurasi akun layanan, minta izin yang diperlukan dari administrator Anda. Pastikan juga Anda telah menyiapkan project untuk Vertex AI. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan project untuk Vertex AI.

  • Pastikan untuk mengupdate trust store lokal Anda sebelum menyiapkan autentikasi di lingkungan pengembangan Anda.

Meminta peran IAM

Hubungi IAM Project Admin Anda untuk meminta peran berikut di namespace project Anda:

  • IAM Project Admin (project-iam-admin): membuat akun layanan dan mengelola binding peran di namespace project.
  • AI OCR Developer (ai-ocr-developer): mengautentikasi permintaan ke OCR API.
  • AI Speech Developer (ai-speech-developer): mengautentikasi permintaan ke Speech-to-Text API.
  • Developer Embedding Teks AI (ai-text-embedding-developer): mengautentikasi permintaan ke model Text-Embedding-Gecko.
  • Developer Multibahasa Embedding Teks AI (ai-text-embedding-multilingual-developer): mengautentikasi permintaan ke model Text-Multilingual-Embedding.
  • AI Translation Developer (ai-translation-developer): mengautentikasi permintaan ke Vertex AI Translation API.
  • Vertex AI Prediction User (vertex-ai-prediction-user): mengautentikasi permintaan prediksi ke model Online Prediction.

Untuk mengetahui informasi selengkapnya tentang peran ini, lihat Menyiapkan izin IAM.

Melakukan autentikasi ke layanan Vertex AI

Interaksi dengan layanan Vertex AI dilakukan melalui token autentikasi. Token adalah objek digital yang memverifikasi identitas dan otorisasi Anda setelah Anda memberikan kredensial yang valid. Token ini membawa informasi spesifik tentang akun Anda dan izin yang dimilikinya untuk mengakses dan beroperasi dengan layanan dan resource.

Ada dua cara untuk menyiapkan autentikasi:

Melakukan autentikasi dengan akun pengguna Anda

Berikut adalah panduan untuk mendapatkan token autentikasi untuk akun pengguna Anda:

  1. Catat endpoint API yang ingin Anda gunakan.

  2. Dapatkan akses ke layanan Vertex AI atau model AI Generatif yang ingin Anda gunakan dengan memberikan peran yang sesuai kepada akun pengguna Anda yang tercantum dalam Menyiapkan izin IAM.

  3. Login ke Distributed Cloud dengan akun pengguna yang harus Anda gunakan untuk berinteraksi dengan API:

    gdcloud auth login
    
  4. Dapatkan token autentikasi:

    gdcloud auth print-identity-token --audiences=https://ENDPOINT
    

    Ganti ENDPOINT dengan endpoint API yang Anda gunakan untuk organisasi Anda. Untuk mengetahui informasi selengkapnya, lihat status dan endpoint layanan.

    Bergantung pada tujuan penggunaan token autentikasi, Anda mungkin perlu menyertakan port setelah endpoint layanan di jalur audiens sebagai berikut:

    • Jika Anda menggunakan library klien untuk permintaan Anda, Anda harus menyertakan port :443 setelah endpoint layanan di jalur audiens. Oleh karena itu, jalur --audiences dalam perintah harus berupa https://ENDPOINT:443.
    • Jika Anda menggunakan gRPC, curl, atau panggilan REST terprogram untuk permintaan Anda, jangan sertakan port. Oleh karena itu, jalur --audiences dalam perintah harus berupa https://ENDPOINT.

    Output akan menampilkan token autentikasi. Tambahkan token ke header permintaan command line yang Anda buat, seperti dalam contoh berikut:

     -H "Authorization: Bearer TOKEN"
    

    Ganti TOKEN dengan nilai untuk token autentikasi yang ditampilkan output.

Melakukan autentikasi dengan akun layanan Anda

Berikut adalah panduan untuk mendapatkan token autentikasi untuk akun layanan Anda:

  1. Catat endpoint API yang ingin Anda gunakan.

  2. Siapkan akun layanan yang ingin Anda gunakan untuk mengakses layanan Vertex AI atau model AI Generatif.

  3. Berikan peran yang sesuai kepada akun layanan yang tercantum dalam Menyiapkan izin IAM agar akun layanan tersebut dapat mengakses layanan atau model yang ingin Anda gunakan.

  4. Dapatkan pasangan kunci layanan akun layanan Anda.

  5. Tetapkan variabel lingkungan berikut:

    export GOOGLE_APPLICATION_CREDENTIALS=PATH_TO_SERVICE_KEY
    

    Ganti PATH_TO_SERVICE_KEY dengan jalur ke file JSON yang berisi pasangan kunci akun layanan Anda.

  6. Instal library klien google-auth:

    pip install google-auth
    
  7. Tambahkan kode berikut ke skrip 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()
    

    Ganti kode berikut:

    • PATH_TO_SERVICE_KEY: jalur ke file JSON yang berisi pasangan kunci akun layanan Anda.
    • CERT_NAME: nama file sertifikat Certificate Authority (CA), seperti org-1-trust-bundle-ca.cert. Anda hanya memerlukan nilai ini jika berada di lingkungan pengembangan. Jika tidak, hapus parameter ini.
    • ENDPOINT: endpoint API yang Anda gunakan untuk organisasi Anda. Untuk mengetahui informasi selengkapnya, lihat status dan endpoint layanan. Bergantung pada tujuan penggunaan token autentikasi, Anda mungkin perlu menyertakan port setelah endpoint layanan di jalur audiens sebagai berikut:

      • Jika Anda menggunakan library klien untuk permintaan, Anda harus menyertakan port :443 setelah endpoint layanan di jalur audiens. Oleh karena itu, jalur audience dalam skrip harus berupa "https://ENDPOINT:443".
      • Jika Anda menggunakan gRPC, curl, atau panggilan REST terprogram untuk permintaan Anda, jangan sertakan port. Oleh karena itu, jalur audience dalam skrip harus berupa "https://ENDPOINT".
  8. Simpan skrip Python.

  9. Jalankan skrip Python untuk mengambil token:

      python SCRIPT_NAME
    

    Ganti SCRIPT_NAME dengan nama yang Anda berikan untuk skrip Python, seperti token.py.

    Output akan menampilkan token autentikasi. Tambahkan token ke header permintaan command line yang Anda buat, seperti dalam contoh berikut:

     -H "Authorization: Bearer TOKEN"
    

    Ganti TOKEN dengan nilai untuk token autentikasi yang ditampilkan output.