Mengotomatiskan proses pembuatan token

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

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

Namun, lingkungan Anda mungkin mendukung otomatisasi untuk tugas pengembangan umum, seperti otomatisasi pengujian atau Continuous Integration/Continuous Deployment (CI/CD). Untuk mengotomatiskan tugas ini ketika SAML diaktifkan, Anda memerlukan cara untuk mendapatkan dan memperbarui token OAuth2 tanpa harus menyalin/menempelkan {i> password<i} 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. Itu berarti Anda dapat sepenuhnya mengotomatiskan proses mendapatkan dan memperbarui 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
2 Tetapkan peran yang diperlukan kepada pengguna perangkat 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.

Kelola 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 komputer, download dan untar file berikut terlebih dahulu: usermgmt.tar.gz(1)

Format untuk memanggil CLI adalah sebagai berikut:

usermgmt_platform [command] [flags]

Tabel berikut meringkas platform yang didukung dan perintah yang sesuai untuk memanggil CLI pengelolaan pengguna perangkat. (File yang dapat dieksekusi berada 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 meringkas perintah yang dapat ditentukan.

Perintah Informasi selengkapnya
create Membuat pengguna perangkat di zona identitas
delete Menghapus pengguna perangkat di zona identitas
help Mendapatkan bantuan menggunakan CLI
list Mencantumkan semua pengguna perangkat 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 periode 24 jam, Anda akan diminta untuk memasukkan kredensial akun zoneadmin Anda.

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 komputer menyimpan token akses di komputer lokal, sehingga Anda hanya perlu login sekali per jangka waktu 24 jam.

Mendapatkan bantuan menggunakan CLI

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

usermgmt_platform help

Informasi bantuan berikut 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.

Tampilkan bantuan untuk perintah tertentu dengan meneruskan perintah dan flag -h atau --help pada command line.

Misalnya, untuk mendapatkan bantuan terkait perintah list:

usermgmt_platform list -h

Informasi bantuan berikut 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. Baca Menggunakan CLI untuk mengetahui daftar platform yang didukung.

  1. Masukkan perintah berikut:
    usermgmt_platform create

    Daftar zona identitas ditampilkan:

    myzone1
    myzone2
  2. Masukkan nama zona pada prompt:
    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 telah dibuat.

    Created machine user machineuser1@mycompany.com

Menampilkan daftar semua pengguna mesin di zona identitas

Tampilkan daftar semua pengguna komputer di zona identitas menggunakan perintah usermgmt_platform list. Baca Menggunakan CLI untuk mengetahui daftar platform yang didukung.

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

    Daftar pengguna perangkat di zona identitas ditampilkan:

    Machine users in the zone:
    machineuser1@mycompany.com
        

Mereset sandi untuk pengguna mesin di zona identitas

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

  1. Masukkan perintah berikut:
    usermgmt_platform reset

    Daftar zona identitas ditampilkan:

    myzone1
    myzone2
  2. Masukkan nama zona pada prompt:
    Enter a zone name: myzone1
  3. Masukkan nama pengguna untuk pengguna perangkat yang ingin Anda reset sandinya:
    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. Baca Menggunakan CLI untuk mengetahui daftar platform yang didukung.

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

    Pengguna mesin dihapus.

    Deleted user machineuser1@mycompany.com

Tetapkan peran yang diperlukan untuk pengguna perangkat dalam organisasi Edge Anda

Dengan 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 acurlUtilitas (1) dan get_token(1), sebagaimana 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 komputer tidak akan dibobol.

  2. Buat akses awal dan token refresh dengan memanggil endpoint token SAML, 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 -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 token akses dan 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 memperbaruinya dengan mengirimkan token refresh ke SAML endpoint token, 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 tersedia sebagai "Software" di bawah perjanjian yang mengatur penggunaan Anda atas Google Cloud Platform, termasuk Layanan Persyaratan khusus tersedia di https://cloud.google.com/terms/service-terms.