Tự động hoá quy trình tạo mã thông báo

Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào tài liệu Apigee X.
thông tin

Khi sử dụng SAML với Edge API, quy trình mà bạn dùng để lấy mã truy cập OAuth2 và mã làm mới từ câu khẳng định SAML được gọi là quy trình mật mã. Với quy trình mật mã, bạn sử dụng trình duyệt để lấy mật mã một lần, sau đó dùng mật mã này để lấy mã thông báo OAuth2.

Tuy nhiên, môi trường của bạn có thể hỗ trợ tự động hoá cho các tác vụ phát triển phổ biến, chẳng hạn như tự động hoá kiểm thử hoặc Tích hợp liên tục/Triển khai liên tục (CI/CD). Để tự động hoá các tác vụ này khi bật SAML, bạn cần có cách lấy và làm mới mã thông báo OAuth2 mà không cần sao chép/dán mật mã từ trình duyệt.

Giới thiệu về người dùng máy

Apigee Edge hỗ trợ người dùng máy trong tổ chức có bật SAML. Người dùng máy chỉ được dùng cho mục đích tự động hoá và không được con người truy cập trực tiếp.

Người dùng máy có thể lấy mã thông báo OAuth2 mà không cần chỉ định mật khẩu. Điều đó có nghĩa là bạn có thể hoàn toàn tự động hoá quy trình lấy và làm mới mã thông báo OAuth2 bằng cách sử dụng Edge API.

Các bước để tự động hoá quy trình tạo mã thông báo

Cách tự động hoá quy trình tạo mã thông báo:

Bước Mô tả
1 Tạo người dùng máy trong vùng nhận dạng SAML
2 Chỉ định các vai trò bắt buộc cho người dùng máy trong tổ chức Edge của bạn
3 Lấy mã thông báo OAuth2 của người dùng máy

Video: Xem một video ngắn để tìm hiểu cách tự động hoá quyền truy cập vào các API của Apigee Edge bằng thông tin đăng nhập của người dùng máy.

Quản lý người dùng máy cho các vùng nhận dạng SAML

Apigee cung cấp giao diện dòng lệnh (CLI) quản lý người dùng máy để tạo và quản lý tài khoản người dùng máy. Các bước sử dụng CLI quản lý người dùng máy được mô tả trong các phần sau.

Sử dụng CLI

Để sử dụng CLI quản lý người dùng máy, trước tiên, hãy tải tệp sau xuống và giải nén: usermgmt.tar.gz(1)

Định dạng để gọi CLI như sau:

usermgmt_platform [command] [flags]

Bảng sau đây tóm tắt các nền tảng được hỗ trợ và lệnh tương ứng để gọi CLI quản lý người dùng máy. (Các tệp thực thi nằm trong thư mục usermgmt.)

Nền tảng 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

Bảng sau đây tóm tắt các lệnh mà bạn có thể chỉ định.

Ra lệnh Thông tin khác
create Tạo người dùng máy trong một vùng nhận dạng
delete Xoá người dùng máy trong một vùng nhận dạng
help Nhận trợ giúp khi sử dụng CLI
list Liệt kê tất cả người dùng máy trong một vùng nhận dạng
reset Đặt lại mật khẩu cho người dùng máy trong một vùng nhận dạng

Bạn có thể truyền một trong các cờ sau đây (không bắt buộc) để hiển thị thông tin trợ giúp về lệnh đã chỉ định: -h hoặc --help

Đăng nhập vào CLI

Trong lần đầu tiên chạy CLI trong khoảng thời gian 24 giờ, bạn sẽ được nhắc nhập thông tin đăng nhập tài khoản 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 quản lý người dùng máy lưu trữ mã truy cập trên máy cục bộ của bạn, vì vậy, bạn chỉ phải đăng nhập một lần trong khoảng thời gian 24 giờ.

Nhận trợ giúp khi dùng CLI

Hiển thị thông tin về cách sử dụng CLI bằng lệnh usermgmt_platform help. Hãy xem phần Sử dụng CLI để biết danh sách các nền tảng được hỗ trợ.

usermgmt_platform help

Thông tin trợ giúp sau đây sẽ xuất hiện:

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.

Hiển thị nội dung trợ giúp về một lệnh cụ thể bằng cách truyền cả lệnh và cờ -h hoặc --help trên dòng lệnh.

Ví dụ: để nhận trợ giúp về lệnh list:

usermgmt_platform list -h

Thông tin trợ giúp sau đây sẽ xuất hiện:

Lists the machine users in an identity zone.

Usage:
  usermgmt list [flags]

Flags:
  -h, --help   help for list

Tạo người dùng máy trong một vùng nhận dạng

Tạo người dùng máy trong một vùng nhận dạng bằng lệnh usermgmt_platform create. Hãy xem phần Sử dụng CLI để biết danh sách các nền tảng được hỗ trợ.

  1. Nhập lệnh sau:
    usermgmt_platform create

    Danh sách các vùng nhận dạng sẽ xuất hiện:

    myzone1
    myzone2
  2. Nhập tên của một khu vực tại dấu nhắc:
    Enter a zone name: myzone1
  3. Nhập tên người dùng cho người dùng máy:
    Create a Machine User
    Username: machineuser1@mycompany.com
  4. Nhập mật khẩu cho người dùng máy. Nhập lại mật khẩu khi được nhắc.
    Password: password
    Re-enter password: password 

    Người dùng được tạo.

    Created machine user machineuser1@mycompany.com

Liệt kê tất cả người dùng máy trong một vùng nhận dạng

Liệt kê tất cả người dùng máy trong một vùng nhận dạng bằng lệnh usermgmt_platform list. Hãy xem phần Sử dụng CLI để biết danh sách các nền tảng được hỗ trợ.

  1. Nhập lệnh sau:
    usermgmt_platform list
    Danh sách các vùng nhận dạng sẽ xuất hiện:
    myzone1
    myzone2
  2. Nhập tên của một khu vực tại dấu nhắc:
    Enter a zone name: myzone1

    Danh sách người dùng máy trong vùng nhận dạng sẽ xuất hiện:

    Machine users in the zone:
    machineuser1@mycompany.com
        

Đặt lại mật khẩu cho người dùng máy trong một vùng nhận dạng

Đặt lại mật khẩu cho người dùng máy trong một vùng nhận dạng bằng lệnh usermgmt_platform reset. Hãy xem phần Sử dụng CLI để biết danh sách các nền tảng được hỗ trợ.

  1. Nhập lệnh sau:
    usermgmt_platform reset

    Danh sách các vùng nhận dạng sẽ xuất hiện:

    myzone1
    myzone2
  2. Nhập tên của một khu vực tại dấu nhắc:
    Enter a zone name: myzone1
  3. Nhập tên người dùng của người dùng máy mà bạn muốn đặt lại mật khẩu:
    Reset User Password
    Enter the username for the machine user
    Username: machineuser1@mycompany.com
  4. Nhập mật khẩu mới cho người dùng máy. Nhập lại mật khẩu khi được nhắc.
    Enter the new password: password
    Re-enter password: password

    Mật khẩu sẽ được đặt lại.

    Reset password for machine user machineuser1@mycompany.com

Xoá người dùng máy trong một vùng nhận dạng

Xoá người dùng máy trong một vùng nhận dạng bằng lệnh usermgmt_platform delete. Hãy xem phần Sử dụng CLI để biết danh sách các nền tảng được hỗ trợ.

  1. Nhập lệnh sau:
    usermgmt_platform delete
    Danh sách các vùng nhận dạng sẽ xuất hiện:
    myzone1
    myzone2
  2. Nhập tên của một khu vực tại dấu nhắc:
    Enter a zone name: myzone1
  3. Nhập tên người dùng của người dùng máy mà bạn muốn xoá:
    Delete User
    Enter the username for the machine user
    Username: machineuser1@mycompany.com 

    Người dùng máy sẽ bị xoá.

    Deleted user machineuser1@mycompany.com

Chỉ định các vai trò bắt buộc cho người dùng thiết bị trong tổ chức Edge của bạn

Sử dụng giao diện người dùng, hãy thêm người dùng máy vào tổ chức Edge có SAML và chỉ định cho người dùng đó các vai trò cần thiết (chẳng hạn như quản trị viên tổ chức), như mô tả trong phần Thêm người dùng.

Lấy mã thông báo OAuth2 của người dùng máy

Bạn có thể tự động hoá quy trình tạo mã thông báo và xử lý việc lưu mã thông báo vào bộ nhớ đệm cho người dùng máy bằng các tiện ích acurl(1)get_token(1), như mô tả trong phần OAuth2 cho người dùng máyNgười dùng máy trong các vùng SAML.

Cách lấy mã thông báo OAuth2 của người dùng máy theo cách thủ công bằng curl:

  1. Sử dụng công cụ mã hoá URL mà bạn muốn để mã hoá tên người dùng và mật khẩu của người dùng máy.

    Cảnh báo: Sử dụng công cụ mã hoá URL nội bộ để đảm bảo thông tin đăng nhập của người dùng máy sẽ không bị xâm phạm.

  2. Tạo mã truy cập và mã làm mới ban đầu bằng cách gọi điểm cuối mã thông báo SAML, như trong ví dụ sau:
    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'

    Để uỷ quyền, hãy truyền thông tin đăng nhập của ứng dụng OAuth2 đã đặt trước, ZWRnZWNsaTplZGdlY2xpc2VjcmV0, trong tiêu đề Authorization. Lệnh gọi này in mã truy cập và mã làm mới vào stdout.

  3. Truyền mã truy cập đến một lệnh gọi API quản lý Edge dưới dạng tiêu đề Bearer:
    curl -H "Authorization: Bearer ACCESS_TOKEN" \
      https://api.enterprise.apigee.com/v1/organizations/orgName
  4. Khi mã truy cập hết hạn, bạn có thể làm mới mã này bằng cách gửi mã làm mới đến điểm cuối mã thông báo SAML, như ví dụ sau đây:
    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) Bản quyền 2023 Google LLC
Các công cụ usermgmt, acurlget_token được cung cấp dưới dạng "Phần mềm" theo thoả thuận chi phối việc bạn sử dụng Google Cloud Platform, bao gồm cả Điều khoản dành riêng cho dịch vụ có tại https://cloud.google.com/terms/service-terms.