Mengotomatiskan proses pembuatan token

Anda melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

Saat menggunakan SAML dengan Edge API, proses yang Anda gunakan untuk mendapatkan token akses dan token refresh OAuth2 dari pernyataan SAML disebut alur kode sandi. Dengan alur kode sandi, Anda menggunakan browser untuk mendapatkan kode sandi sekali pakai yang kemudian Anda gunakan untuk mendapatkan token OAuth2.

Namun, lingkungan Anda mungkin mendukung otomatisasi untuk tugas pengembangan umum, seperti otomatisasi pengujian atau Continuous Integration/Continuous Deployment (CI/CD). Untuk mengotomatiskan tugas ini saat SAML diaktifkan, Anda memerlukan cara untuk mendapatkan dan memperbarui token OAuth2 tanpa harus menyalin/menempel kode sandi dari browser.

Tentang pengguna mesin

Apigee Edge mendukung pengguna mesin di organisasi Anda yang mendukung SAML. Pengguna mesin digunakan secara ketat untuk otomatisasi dan tidak diakses langsung oleh manusia.

Pengguna mesin dapat memperoleh token OAuth2 tanpa harus menentukan kode sandi. Artinya, Anda dapat sepenuhnya mengotomatiskan proses mendapatkan dan memperbarui token OAuth2 menggunakan Edge API.

Langkah-langkah untuk mengotomatiskan proses pembuatan token

Untuk mengotomatiskan proses pembuatan token:

Langkah Deskripsi
1 Buat pengguna mesin di zona identitas SAML Anda
2 Tetapkan peran yang diperlukan kepada pengguna mesin di organisasi Edge Anda
3 Dapatkan token OAuth2 pengguna mesin

Video: Tonton video singkat untuk mempelajari cara mengotomatiskan akses ke Apigee Edge API menggunakan kredensial pengguna mesin.

Mengelola pengguna mesin untuk zona identitas SAML

Apigee menyediakan antarmuka command line (CLI) pengelolaan pengguna mesin untuk membuat dan mengelola akun pengguna mesin. Langkah-langkah untuk menggunakan CLI pengelolaan pengguna mesin dijelaskan di bagian berikut.

Menggunakan CLI

Untuk menggunakan CLI pengelolaan pengguna mesin, download dan ekstrak file berikut terlebih dahulu: usermgmt.tar.gz(1)

Format untuk memanggil CLI adalah sebagai berikut:

usermgmt_platform [command] [flags]

Tabel berikut merangkum platform yang didukung dan perintah yang sesuai untuk memanggil CLI pengelolaan pengguna mesin. (File yang dapat dieksekusi terletak di direktori usermgmt.)

Platform 32-bit 64-bit
Linux usermgmt_linux_386 usermgmt_linux_amd64
Mac usermgmt_darwin_386 usermgmt_darwin_amd64
Windows usermgmt_windows_386 usermgmt_windows_amd64

Tabel berikut merangkum perintah yang dapat ditentukan.

Perintah Informasi selengkapnya
create Membuat pengguna mesin di zona identitas
delete Menghapus pengguna mesin di zona identitas
help Mendapatkan bantuan menggunakan CLI
list Mencantumkan semua pengguna mesin di zona identitas
reset Mereset sandi untuk pengguna mesin di zona identitas

Secara opsional, Anda dapat meneruskan salah satu flag berikut untuk menampilkan bantuan pada perintah yang ditentukan: -h atau --help

Login ke CLI

Saat pertama kali menjalankan CLI dalam jangka waktu 24 jam, Anda akan diminta untuk memasukkan kredensial akun zoneadmin.

Enter your Apigee credentials
Username: zoneadmin-username
Password: zoneadmin-password
If your user is opted with MFA, enter MFA code. Otherwise press enter to skip.
MFA: mfa-code_or_enter_to_skip

CLI pengelolaan pengguna mesin menyimpan token akses di komputer lokal Anda sehingga Anda hanya perlu login satu kali per jangka waktu 24 jam.

Mendapatkan bantuan menggunakan CLI

Menampilkan informasi penggunaan CLI menggunakan perintah usermgmt_platform help. Lihat Menggunakan CLI untuk mengetahui daftar platform yang didukung.

usermgmt_platform help

Informasi bantuan berikut akan ditampilkan:

A command-line interface (CLI) to manage machine user accounts to automate
Apigee identity zone management. Use the CLI to create, list, delete,
and reset the password for machine users.

Usage:
  usermgmt [flags]
  usermgmt [command]

Available Commands:
  create  Creates a machine users in an identity zone.
  delete  Deletes a machine users in an identity zone.
  help    Help about any command
  list    Lists the machine users in an identity zone.
  reset   Resets the password for a machine user in an identity zone.

Flags:
  -h, --help               help for usermgmt

Use "usermgmt [command] --help" for more information about a command.

Menampilkan bantuan pada perintah tertentu dengan meneruskan perintah dan flag -h atau --help di command line.

Misalnya, untuk mendapatkan bantuan terkait perintah daftar:

usermgmt_platform list -h

Informasi bantuan berikut akan ditampilkan:

Lists the machine users in an identity zone.

Usage:
  usermgmt list [flags]

Flags:
  -h, --help   help for list

Membuat pengguna mesin di zona identitas

Buat pengguna mesin di zona identitas menggunakan perintah usermgmt_platform create. Lihat Menggunakan CLI untuk mengetahui daftar platform yang didukung.

  1. Masukkan perintah berikut:
    usermgmt_platform create

    Daftar zona identitas akan ditampilkan:

    myzone1
    myzone2
  2. Masukkan nama zona saat diminta:
    Enter a zone name: myzone1
  3. Masukkan nama pengguna untuk pengguna mesin:
    Create a Machine User
    Username: machineuser1@mycompany.com
  4. Masukkan sandi untuk pengguna mesin. Masukkan kembali sandi saat diminta.
    Password: password
    Re-enter password: password 

    Pengguna akan dibuat.

    Created machine user machineuser1@mycompany.com

Mencantumkan semua pengguna mesin di zona identitas

Mencantumkan semua pengguna mesin di zona identitas menggunakan perintah usermgmt_platform list. Lihat Menggunakan CLI untuk mengetahui daftar platform yang didukung.

  1. Masukkan perintah berikut:
    usermgmt_platform list
    Daftar zona identitas akan ditampilkan:
    myzone1
    myzone2
  2. Masukkan nama zona saat diminta:
    Enter a zone name: myzone1

    Daftar pengguna mesin di zona identitas akan ditampilkan:

    Machine users in the zone:
    machineuser1@mycompany.com
        

Mereset sandi untuk pengguna mesin di zona identitas

Reset sandi untuk pengguna mesin di zona identitas menggunakan perintah usermgmt_platform reset. Lihat Menggunakan CLI untuk mengetahui daftar platform yang didukung.

  1. Masukkan perintah berikut:
    usermgmt_platform reset

    Daftar zona identitas akan ditampilkan:

    myzone1
    myzone2
  2. Masukkan nama zona saat diminta:
    Enter a zone name: myzone1
  3. Masukkan nama pengguna untuk pengguna mesin yang sandinya ingin Anda reset:
    Reset User Password
    Enter the username for the machine user
    Username: machineuser1@mycompany.com
  4. Masukkan sandi baru untuk pengguna mesin. Masukkan kembali sandi saat diminta.
    Enter the new password: password
    Re-enter password: password

    Sandi akan direset.

    Reset password for machine user machineuser1@mycompany.com

Menghapus pengguna mesin di zona identitas

Hapus pengguna mesin di zona identitas menggunakan perintah usermgmt_platform delete. Lihat Menggunakan CLI untuk mengetahui daftar platform yang didukung.

  1. Masukkan perintah berikut:
    usermgmt_platform delete
    Daftar zona identitas akan ditampilkan:
    myzone1
    myzone2
  2. Masukkan nama zona saat diminta:
    Enter a zone name: myzone1
  3. Masukkan nama pengguna untuk pengguna mesin yang ingin Anda hapus:
    Delete User
    Enter the username for the machine user
    Username: machineuser1@mycompany.com 

    Pengguna mesin akan dihapus.

    Deleted user machineuser1@mycompany.com

Menetapkan peran yang diperlukan kepada pengguna mesin di organisasi Edge Anda

Menggunakan UI, tambahkan pengguna mesin ke organisasi Edge Anda yang mendukung SAML dan tetapkan peran yang diperlukan (seperti administrator organisasi), seperti yang dijelaskan dalam Menambahkan pengguna.

Mendapatkan token OAuth2 pengguna mesin

Anda dapat mengotomatiskan proses pembuatan token dan menangani caching token untuk pengguna mesin dengan utilitas acurl(1) dan get_token(1), seperti yang dijelaskan dalam OAuth2 untuk pengguna mesin dan Pengguna mesin di zona SAML.

Untuk mendapatkan token OAuth2 pengguna mesin secara manual dengan curl:

  1. Gunakan alat encoding URL pilihan Anda untuk mengenkode nama pengguna dan sandi pengguna mesin.

    Peringatan: Gunakan alat encoding URL internal untuk memastikan kredensial pengguna mesin tidak akan terganggu.

  2. Buat token akses dan refresh awal dengan memanggil endpoint token SAML, yang ditunjukkan dalam contoh berikut:
    curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \
      -H "accept: application/json;charset=utf-8" \
      -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \
      https://zoneName.login.apigee.com/oauth/token -s \
      -d 'grant_type=password&username=machineusername&password=machineuserpassword'

    Untuk otorisasi, teruskan kredensial klien OAuth2 yang dicadangkan, ZWRnZWNsaTplZGdlY2xpc2VjcmV0, di Authorization header. Panggilan akan mencetak token akses dan refresh ke stdout.

  3. Teruskan token akses ke panggilan Edge management API sebagai header Bearer:
    curl -H "Authorization: Bearer ACCESS_TOKEN" \
      https://api.enterprise.apigee.com/v1/organizations/orgName
  4. Saat masa berlaku token akses berakhir, Anda dapat memperbaruinya dengan mengirimkan token refresh ke endpoint token SAML seperti yang ditunjukkan dalam contoh berikut:
    curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" \
      -H "Accept: application/json;charset=utf-8" \
      -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \
      https://zoneName.login.apigee.com/oauth/token \
      -d 'grant_type=refresh_token&refresh_token=REFRESH_TOKEN'

(1) Hak Cipta 2023 Google LLC
Alat usermgmt, acurl, dan get_token disediakan sebagai "Software" berdasarkan perjanjian yang mengatur penggunaan Google Cloud Platform Anda, termasuk Persyaratan Khusus Layanan yang tersedia di https://cloud.google.com/terms/service-terms.