Langkah 8: Aktifkan akses Bidang Kontrol

Agar bidang runtime dan bidang kontrol dapat berkomunikasi, Anda harus mengaktifkan izin yang diperlukan untuk akses Synchronizer dan penayang analisis dengan updateControlPlaneAccess API.

Mendapatkan token otorisasi

Untuk melakukan panggilan API Apigee yang dijelaskan nanti dalam topik ini, Anda harus mendapatkan token otorisasi yang memiliki peran Admin Organisasi Apigee.

  1. Jika Anda bukan pemilik project Google Cloud yang terkait dengan organisasi Apigee Hybrid Anda, pastikan akun pengguna Google Cloud Anda memiliki peran roles/apigee.admin (Admin Organisasi Apigee). Anda dapat memeriksa peran yang ditetapkan kepada Anda dengan perintah ini:
    gcloud projects get-iam-policy ${PROJECT_ID}  \
      --flatten="bindings[].members" \
      --format='table(bindings.role)' \
      --filter="bindings.members:your_account_email"
    

    Contoh:

    gcloud projects get-iam-policy my-project  \
      --flatten="bindings[].members" \
      --format='table(bindings.role)' \
      --filter="bindings.members:myusername@example.com"

    Output harus menyertakan roles/apigee.admin.

  2. Jika Anda tidak memiliki roles/apigee.admin, tambahkan peran Admin Organisasi Apigee ke akun pengguna Anda. Gunakan perintah berikut untuk menambahkan peran ke akun pengguna Anda:
    gcloud projects add-iam-policy-binding ${PROJECT_ID} \
      --member user:your_account_email \
      --role roles/apigee.admin

    Contoh:

    gcloud projects add-iam-policy-binding my-project \
      --member user:myusername@example.com \
      --role roles/apigee.admin
  3. Di command line, dapatkan kredensial autentikasi gcloud menggunakan perintah berikut:

    Linux / MacOS

    export TOKEN=$(gcloud auth print-access-token)

    Untuk memeriksa apakah token Anda terisi, gunakan echo, seperti yang ditunjukkan contoh berikut:

    echo $TOKEN

    Tindakan ini akan menampilkan token Anda sebagai string yang dienkode.

    Windows

    for /f "tokens=*" %a in ('gcloud auth print-access-token') do set TOKEN=%a

    Untuk memeriksa apakah token Anda terisi, gunakan echo, seperti yang ditunjukkan contoh berikut:

    echo %TOKEN%

    Tindakan ini akan menampilkan token Anda sebagai string yang dienkode.

Mengaktifkan akses sinkronisasi

Untuk mengaktifkan akses penyinkron:

  1. Dapatkan alamat email untuk akun layanan yang Anda beri akses sinkronisasi. Untuk lingkungan produksi, nilainya harus apigee-synchronizer. Untuk lingkungan non-produksi, nilainya harus apigee-non-prod. Gunakan perintah berikut:

    Produksi

    gcloud iam service-accounts list --project ${PROJECT_ID} --filter "apigee-synchronizer"

    Non-produksi

    gcloud iam service-accounts list --project ${PROJECT_ID} --filter "apigee-non-prod"
  2. Panggil updateControlPlaneAccess API untuk mengaktifkan izin yang diperlukan untuk Synchronizer menggunakan perintah berikut:

    Tidak ada residensi data

    curl -X PATCH -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/${ORG_NAME}/controlPlaneAccess?update_mask=synchronizer_identities" \
      -d "{\"synchronizer_identities\": [\"serviceAccount:apigee-synchronizer@${ORG_NAME}.iam.gserviceaccount.com\"]}"
    

    Dengan:

    • ${ORG_NAME}: Nama organisasi hibrida Anda.
    • apigee-synchronizer@${ORG_NAME}.iam.gserviceaccount.com: Alamat email akun layanan.

    Residensi data

    curl -X PATCH -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/${ORG_NAME}/controlPlaneAccess?update_mask=synchronizer_identities" \
      -d "{\"synchronizer_identities\": [\"serviceAccount:apigee-synchronizer@${ORG_NAME}.iam.gserviceaccount.com\"]}"
    

    Dengan:

    • CONTROL_PLANE_LOCATION: Lokasi untuk data bidang kontrol Anda jika penginstalan hybrid Anda menggunakan retensi data. Ini adalah lokasi tempat konten inti pelanggan seperti paket proxy disimpan. Untuk mengetahui daftarnya, lihat Region bidang kontrol API Apigee yang tersedia.
    • ${ORG_NAME}: Nama organisasi hybrid Anda.
    • apigee-synchronizer@${ORG_NAME}.iam.gserviceaccount.com: Alamat email akun layanan.
  3. Untuk memverifikasi bahwa akun layanan telah disetel, gunakan perintah berikut untuk memanggil API guna mendapatkan daftar akun layanan:

    Tidak ada residensi data

    curl -X GET -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/${ORG_NAME}/controlPlaneAccess"
        

    Residensi data

    curl -X GET -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/${ORG_NAME}/controlPlaneAccess"
        

    Output-nya akan terlihat seperti berikut:

    {
      "synchronizerIdentities": [
        "serviceAccount:apigee-synchronizer@YOUR_ORG_NAME.iam.gserviceaccount.com"
      ]
    }

Mengaktifkan akses penayang analisis

Beberapa komponen runtime hybrid Apigee memublikasikan catatan debug dan analisis untuk memberikan informasi bagi pelaporan dan proses debug. Untuk mengaktifkan publikasi data ini, Anda perlu memberikan izin tambahan ke akun layanan yang menjalankan komponen Apigee ini untuk memublikasikan data langsung ke bidang kontrol.

Untuk mengaktifkan akses penayang analisis:

  1. Dapatkan alamat email untuk akun layanan yang Anda beri akses penayang Analytics. Untuk lingkungan produksi, peran tersebut harus apigee-runtime, apigee-mart, dan apigee-mint-task-scheduler (jika Anda mengaktifkan Monetisasi untuk Apigee Hybrid). Untuk lingkungan non-produksi, nilainya harus apigee-non-prod.

    Produksi

    gcloud iam service-accounts list --project ${PROJECT_ID} --filter "apigee-runtime OR apigee-mart OR apigee-mint-task-scheduler"

    Non-produksi

    gcloud iam service-accounts list --project ${PROJECT_ID} --filter "apigee-non-prod"
  2. Tetapkan izin untuk akun layanan untuk komponen runtime, MART, dan penjadwal tugas pencetakan (jika Anda mengaktifkan Monetisasi untuk Apigee Hybrid di v1.15.1 dan yang lebih baru) untuk memublikasikan data ke bidang kontrol dengan perintah berikut:

    Tidak ada residensi data

    Panggil API updateControlPlaneAccess untuk mengaktifkan izin bagi akun layanan runtime dan MART:

    curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/$ORG_NAME/controlPlaneAccess?update_mask=analytics_publisher_identities" \
      -d "{\"analytics_publisher_identities\": [\"serviceAccount:apigee-mart@$ORG_NAME.iam.gserviceaccount.com\",\"serviceAccount:apigee-runtime@$ORG_NAME.iam.gserviceaccount.com\"]}"
    

    Jika Anda mengaktifkan Monetisasi untuk Apigee hybrid, tetapkan izin untuk akun layanan penjadwal tugas mint:

    curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/$ORG_NAME/controlPlaneAccess?update_mask=analytics_publisher_identities" \
      -d "{\"analytics_publisher_identities\": [\"serviceAccount:apigee-mart@$ORG_NAME.iam.gserviceaccount.com\",\"serviceAccount:apigee-runtime@$ORG_NAME.iam.gserviceaccount.com\",\"serviceAccount:apigee-mint-task-scheduler@$ORG_NAME.iam.gserviceaccount.com\"]}"
    

    Dengan alamat email akun layanan adalah sebagai berikut:

    • apigee-mart@${ORG_NAME}.iam.gserviceaccount.com
    • apigee-mint-task-scheduler@${ORG_NAME}.iam.gserviceaccount.com
    • apigee-runtime@${ORG_NAME}.iam.gserviceaccount.com

    Residensi data

    Panggil API updateControlPlaneAccess untuk mengaktifkan izin bagi akun layanan runtime dan MART:

    curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type:application/json" \
      "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$ORG_NAME/controlPlaneAccess?update_mask=analytics_publisher_identities" \
      -d "{\"analytics_publisher_identities\": [\"serviceAccount:apigee-mart@$ORG_NAME.iam.gserviceaccount.com\",\"serviceAccount:apigee-runtime@$ORG_NAME.iam.gserviceaccount.com\"]}"
    

    Jika Anda mengaktifkan Monetisasi untuk Apigee hybrid, tetapkan izin untuk akun layanan penjadwal tugas mint:

    curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type:application/json" \
      "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$ORG_NAME/controlPlaneAccess?update_mask=analytics_publisher_identities" \
      -d "{\"analytics_publisher_identities\": [\"serviceAccount:apigee-mart@$ORG_NAME.iam.gserviceaccount.com\",\"serviceAccount:apigee-runtime@$ORG_NAME.iam.gserviceaccount.com\",\"serviceAccount:apigee-mint-task-scheduler@$ORG_NAME.iam.gserviceaccount.com\"]}"
    

    Dengan:

    • CONTROL_PLANE_LOCATION adalah lokasi untuk data bidang kontrol Anda jika penginstalan hybrid Anda menggunakan residensi data. Ini adalah lokasi tempat konten inti pelanggan seperti paket proxy disimpan. Untuk mengetahui daftarnya, lihat Region bidang kontrol API Apigee yang tersedia.
    • Berikut adalah alamat email akun layanan:

      • apigee-mart@${ORG_NAME}.iam.gserviceaccount.com
      • apigee-mint-task-scheduler@${ORG_NAME}.iam.gserviceaccount.com
      • apigee-runtime@${ORG_NAME}.iam.gserviceaccount.com

    Responsnya akan terlihat seperti berikut:

    {
      "name": "organizations/YOUR_ORG_NAME/operations/8316aa78-c137-4733-92ec-cc0d2d92fd29",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata",
        "operationType": "UPDATE",
        "targetResourceName": "organizations/YOUR_ORG_NAME/controlPlaneAccess",
        "state": "IN_PROGRESS"
      }
    }
    
  3. Verifikasi status operasi menggunakan ID di kolom name respons update:

    Tidak ada residensi data

    curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)"  \
      -H "Content-Type:application/json"  \
      "https://apigee.googleapis.com/v1/organizations/$ORG_NAME/operations/$OPERATION_ID"

    Residensi data

    curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)"  \
      -H "Content-Type:application/json"  \
      "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$ORG_NAME/operations/$OPERATION_ID"

    Responsnya akan terlihat seperti berikut:

    {
      "name": "organizations/YOUR_ORG_NAME/operations/$OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata",
        "operationType": "UPDATE",
        "targetResourceName": "organizations/YOUR_ORG_NAME/controlPlaneAccess",
        "state": "FINISHED"
      },
      "done": true,
      "response": {
        "@type": "type.googleapis.com/google.cloud.apigee.v1.ControlPlaneAccess",
        "name": "organizations/YOUR_ORG_NAME/controlPlaneAccess"
      }
    }
    
  4. Verifikasi konfigurasi ControlPlaneAccess organisasi:

    Tidak ada residensi data

    curl "https://apigee.googleapis.com/v1/organizations/$ORG_NAME/controlPlaneAccess" \
    -H "Authorization: Bearer $(gcloud auth print-access-token)"

    Residensi data

    curl "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$ORG_NAME/controlPlaneAccess" \
    -H "Authorization: Bearer $(gcloud auth print-access-token)"

    Responsnya akan terlihat seperti berikut:

    {
      "synchronizerIdentities": [
        "serviceAccount:apigee-synchronizer@YOUR_ORG_NAME.iam.gserviceaccount.com"
      ],
      "analyticsPublisherIdentities": [
        "serviceAccount:apigee-mart@YOUR_ORG_NAME.iam.gserviceaccount.com",
        "serviceAccount:apigee-mint-task-scheduler@YOUR_ORG_NAME.iam.gserviceaccount.com",
        "serviceAccount:apigee-runtime@YOUR_ORG_NAME.iam.gserviceaccount.com"
      ]
    }
    

Sekarang Anda telah mengaktifkan bidang pengelolaan dan runtime hybrid Apigee untuk berkomunikasi. Selanjutnya, instal cert-manager agar Apigee hybrid dapat menafsirkan dan mengelola sertifikat.

Langkah berikutnya

1 2 3 4 5 6 7 8 (NEXT) Langkah 9: Instal cert-manager 10 11