Melakukan Autentikasi permintaan API

Vertex AI di perangkat GDC dengan air gap memungkinkan Anda mengakses API secara terprogram dengan mengautentikasi permintaan Anda menggunakan token. Anda dapat memperoleh token autentikasi menggunakan akun pengguna atau akun layanan.

Pilih salah satu opsi berikut untuk mendapatkan token autentikasi:

Akun pengguna

Ikuti langkah-langkah berikut untuk mendapatkan token autentikasi dengan izin pengguna:

  1. Catat endpoint API yang ingin Anda gunakan.

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

  3. Login ke peralatan GDC dengan air gap menggunakan akun pengguna yang Anda miliki untuk berinteraksi dengan API:

    gdcloud auth login
    
  4. Dapatkan token autentikasi:

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

    Ganti ENDPOINT dengan endpoint layanan 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 --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.

Akun layanan

Ikuti langkah-langkah berikut untuk mendapatkan token autentikasi dengan akun layanan:

  1. Catat endpoint API yang ingin Anda gunakan.

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

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

  4. Dapatkan pasangan kunci layanan akun layanan Anda.

  5. Instal library klien google-auth:

    pip install google-auth
    
  6. 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.
    • ENDPOINT: endpoint layanan 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".
  7. Simpan skrip Python.

  8. 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.