Menyiapkan Allowlisted Domains API

Halaman ini menjelaskan cara menyiapkan Allowlisted Domains API sebelum menambahkan, mencantumkan dan mendapatkan, atau menghapus domain yang diizinkan.

Sebelum memulai

Sebelum menggunakan salah satu Cloud Identity API, Anda harus menyiapkan Cloud Identity. Untuk mengetahui petunjuknya, lihat Menyiapkan Cloud Identity.

Menginstal library klien Python

Untuk menginstal library klien Python, jalankan perintah berikut:

  pip install --upgrade google-api-python-client google-auth \
    google-auth-oauthlib google-auth-httplib2

Untuk mengetahui informasi selengkapnya tentang cara menyiapkan lingkungan pengembangan Python, baca Panduan Penyiapan Lingkungan Pengembangan Python.

Mengaktifkan API dan menyiapkan kredensial

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Identity API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Cloud Identity API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  8. Buat akun layanan:
    • Pastikan Anda memiliki peran IAM Create Service Accounts (roles/iam.serviceAccountCreator) dan peran Project IAM Admin (roles/resourcemanager.projectIamAdmin). Pelajari cara memberikan peran.
    • Di konsol Google Cloud , buka halaman Buat akun layanan.
    • Pilih project Anda.
    • Di kolom Nama akun layanan, masukkan nama. Konsol Google Cloud akan mengisi kolom ID akun layanan berdasarkan nama ini.
    • Di kolom Deskripsi akun layanan, masukkan sebuah deskripsi. Contoh, Service account for quickstart.
    • Klik Create and continue.
    • Berikan peran Project > Owner ke akun layanan. Untuk memberikan peran, temukan daftar Pilih peran, lalu pilih Project > Owner.
    • Klik Lanjutkan.
    • Klik Selesai untuk menyelesaikan pembuatan akun layanan. Jangan tutup jendela browser Anda. Anda akan menggunakannya pada langkah berikutnya.
  9. Buat kunci akun layanan:
    • Di konsol Google Cloud , klik alamat email untuk akun layanan yang telah Anda buat.
    • Klik Keys.
    • Klik Tambahkan kunci, lalu klik Buat kunci baru.
    • Klik Create. File kunci JSON akan didownload ke komputer Anda.
    • Klik Close.

Membuat kunci API

  1. Di konsol Google Cloud , buka halaman Credentials.
  2. Klik Create Credentials, lalu pilih API key.
  3. Dialog API key created akan menampilkan kunci API yang baru dibuat. Salin kunci ini untuk digunakan dalam skrip Anda sebagai konstanta API_KEY.

Melakukan autentikasi sebagai akun layanan dengan delegasi tingkat domain

Jika Anda adalah administrator yang mengelola domain yang masuk daftar yang diizinkan, atau jika Anda ingin memberikan hak istimewa di seluruh domain kepada akun agar akun tersebut dapat mengelola domain yang masuk daftar yang diizinkan atas nama administrator, Anda harus melakukan autentikasi sebagai akun layanan, lalu memberikan hak istimewa di seluruh domain kepada akun layanan tersebut.

Untuk mengetahui detail tentang cara menyiapkan delegasi tingkat domain, lihat Mengontrol akses API dengan delegasi tingkat domain. Tinjau praktik terbaik untuk memitigasi risiko keamanan yang terkait dengan penggunaan delegasi tingkat domain.

Berikan cakupan berikut untuk memberi otorisasi akun layanan:

  • Untuk operasi baca dan tulis (create, delete, list, get): https://www.googleapis.com/auth/cloud-identity.allowlisteddomains

  • Untuk operasi hanya baca (list, get): https://www.googleapis.com/auth/cloud-identity.allowlisteddomains.readonly

Menginisialisasi kredensial dan membuat instance klien

Saat melakukan inisialisasi kredensial dalam kode, tentukan alamat email yang digunakan akun layanan dengan memanggil with_subject() pada kredensial.

Contoh berikut menunjukkan cara membuat instance klien menggunakan kredensial akun layanan untuk berinteraksi dengan Allowlisted Domains API:

Python

from google.oauth2 import service_account
import googleapiclient.discovery

SCOPES = [
    'https://www.googleapis.com/auth/cloud-identity.allowlisteddomains.readonly',
    'https://www.googleapis.com/auth/cloud-identity.allowlisteddomains',
]
SERVICE_ACCOUNT_FILE = 'SERVICE_ACCOUNT_CREDENTIAL_FILE'
PROD_DISCOVERY_URL_BASE = (
    'https://cloudidentity.googleapis.com/$discovery/rest'
)
API_KEY = 'YOUR_API_KEY'

def create_service(version, delegated_email):
  """Instantiates a client using service account credentials."""
  credentials = service_account.Credentials.from_service_account_file(
      SERVICE_ACCOUNT_FILE, scopes=SCOPES
  )
  delegated_credentials = credentials.with_subject(delegated_email)
  url = f'{PROD_DISCOVERY_URL_BASE}?version={version}&key={API_KEY}'

  service = googleapiclient.discovery.build(
      serviceName=None,
      version=None,
      credentials=delegated_credentials,
      discoveryServiceUrl=url,
      static_discovery=False,
  )
  return service

Ganti kode berikut:

  • SERVICE_ACCOUNT_CREDENTIAL_FILE: file kunci akun layanan yang Anda buat sebelumnya dalam dokumen ini
  • YOUR_API_KEY: kunci API yang disalin dari halaman Kredensial konsol Google Cloud

Contoh kode mendetail untuk memanggil operasi Allowlisted Domains API disediakan di Mencantumkan dan mendapatkan domain yang diizinkan.