Mengotomatiskan proses pembuatan token

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

Ketika menggunakan SAML dengan Edge API, proses yang Anda gunakan untuk mendapatkan akses OAuth2 dan token refresh dari pernyataan SAML disebut alur kode sandi. Dengan alur kode sandi tersebut, Anda menggunakan browser untuk mendapatkan kode sandi sekali pakai yang kemudian digunakan 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-tugas ini ketika SAML diaktifkan, Anda memerlukan cara untuk mendapatkan dan memperbarui token OAuth2 tanpa harus menyalin/menempel kode sandi dari browser.

Tentang pengguna perangkat

Apigee Edge mendukung pengguna mesin di organisasi Anda yang mendukung SAML. Pengguna mesin hanya digunakan 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 perolehan dan pembaruan token OAuth2 dengan menggunakan Edge API.

Langkah-langkah untuk mengotomatiskan proses pembuatan token

Untuk mengotomatiskan proses pembuatan token:

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

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 komputer dijelaskan di bagian berikut.

Menggunakan CLI

Untuk menggunakan CLI pengelolaan pengguna mesin, download dan untar 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 perangkat. (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 perangkat di zona identitas
help Mendapatkan bantuan dalam 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 tanda 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, sehingga Anda hanya perlu login satu kali per periode 24 jam.

Mendapatkan bantuan menggunakan CLI

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

usermgmt_platform help

Informasi bantuan berikut ini 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 tanda -h atau --help pada command line.

Misalnya, untuk mendapatkan bantuan terkait perintah list:

usermgmt_platform list -h

Informasi bantuan berikut ini 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 pada perintah:
    Enter a zone name: myzone1
  3. Masukkan nama pengguna untuk pengguna perangkat:
    Create a Machine User
    Username: machineuser1@mycompany.com
  4. Masukkan sandi untuk pengguna perangkat. Masukkan kembali sandi saat diminta.
    Password: password
    Re-enter password: password 

    Pengguna dibuat.

    Created machine user machineuser1@mycompany.com

Mencantumkan semua pengguna mesin di zona identitas

Cantumkan 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 pada perintah:
    Enter a zone name: myzone1

    Daftar pengguna perangkat di zona identitas ditampilkan:

    Machine users in the zone:
    machineuser1@mycompany.com
        

Mereset sandi untuk pengguna perangkat 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 pada perintah:
    Enter a zone name: myzone1
  3. Masukkan nama pengguna komputer 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 perangkat. Masukkan kembali sandi saat diminta.
    Enter the new password: password
    Re-enter password: password

    Sandi direset.

    Reset password for machine user machineuser1@mycompany.com

Menghapus pengguna perangkat di zona identitas

Menghapus pengguna perangkat 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 pada perintah:
    Enter a zone name: myzone1
  3. Masukkan nama pengguna perangkat yang ingin Anda hapus:
    Delete User
    Enter the username for the machine user
    Username: machineuser1@mycompany.com 

    Pengguna perangkat dihapus.

    Deleted user machineuser1@mycompany.com

Tetapkan peran yang diperlukan untuk pengguna mesin di organisasi Edge Anda

Dengan menggunakan UI, tambahkan pengguna mesin ke organisasi Edge 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 di 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 perangkat.

    Peringatan: Gunakan alat encoding URL internal untuk memastikan bahwa kredensial pengguna perangkat tidak akan disusupi.

  2. Buat akses awal dan token refresh 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 header Authorization. Panggilan tersebut akan mencetak akses dan token refresh ke stdout.

  3. Teruskan token akses ke panggilan API pengelolaan Edge 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 me-refresh token tersebut dengan mengirimkan token refresh ke endpoint token SAML, seperti yang ditunjukkan pada 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 tersedia sebagai "Software" berdasarkan perjanjian yang mengatur penggunaan Anda atas Google Cloud Platform, termasuk Persyaratan Khusus Layanan yang tersedia di https://cloud.google.com/terms/service-terms.