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

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về Apigee X.
thông tin

Khi dùng SAML với API Edge, quy trình mà bạn dùng để lấy mã truy cập và làm mới OAuth2 qua câu nhận định SAML được gọi là quy trình mã mật. 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 và sau đó dùng để lấy mã thông báo OAuth2.

Tuy nhiên, môi trường của bạn có thể hỗ trợ tính năng tự động hoá cho các tác vụ phát triển phổ biến, chẳng hạn như tự động 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á những tác vụ này khi tính năng SAML bật, bạn cần có một 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ã trên 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ó hỗ trợ SAML. Người dùng máy chỉ được sử dụng cho mục đích tự động hoá và con người không trực tiếp truy cập được.

Người dùng máy có thể lấy mã thông báo OAuth2 mà không cần phải chỉ định mật mã. Điều đó có nghĩa là bạn có thể hoàn toàn tự động hoá quá 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á quá trình tạo mã thông báo

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

Bước Nội dung 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ò cần thiết cho người dùng thiết bị trong tổ chức của bạn trên Edge
3 Lấy mã thông báo OAuth2 của người dùng trên máy

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

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

Apigee cung cấp giao diện dòng lệnh quản lý người dùng trên máy (CLI) để tạo và quản lý tài khoản người dùng trên máy. Các bước sử dụng CLI quản lý người dùng bằ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 của máy, trước tiên, hãy tải xuống rồi huỷ liên kết tệp sau: 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 của 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 có thể được chỉ định.

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

Nếu muốn, bạn có thể chuyển một trong các cờ sau đây để hiển thị thông tin trợ giúp về lệnh được chỉ định: -h hoặc --help

Đăng nhập vào CLI

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 sẽ lưu trữ một 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 mỗi 24 giờ.

Nhận trợ giúp khi sử dụng CLI

Hiển thị thông tin về việc sử dụng CLI bằng lệnh user tín_platform trợ giúp. Hãy xem phần Sử dụng CLI để biết danh sách 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ông tin trợ giúp trên một lệnh cụ thể bằng cách chuyển cả lệnh đó và cờ -h hoặc --help vào dòng lệnh.

Ví dụ: để yêu cầu trợ giúp về lệnh danh sách:

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 vùng nhận dạng

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

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

    Danh sách vùng nhận dạng sẽ hiển thị:

    myzone1
    myzone2
  2. Nhập tên của một vùng tại lời 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 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 useradmin_platform list (danh sách người dùng sử dụng). Hãy xem phần Sử dụng CLI để biết danh sách nền tảng được hỗ trợ.

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

    Danh sách người dùng máy trong vùng nhận dạng sẽ hiển thị:

    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 vùng nhận dạng bằng lệnh useradmin_platform đặt lại. Hãy xem phần Sử dụng CLI để biết danh sách nền tảng được hỗ trợ.

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

    Danh sách vùng nhận dạng sẽ hiển thị:

    myzone1
    myzone2
  2. Nhập tên của một vùng tại lời nhắc:
    Enter a zone name: myzone1
  3. Nhập tên người dùng cho 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

    Đã đặt lại mật khẩu.

    Reset password for machine user machineuser1@mycompany.com

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

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

  1. Nhập lệnh sau:
    usermgmt_platform delete
    Danh sách vùng nhận dạng sẽ hiển thị:
    myzone1
    myzone2
  2. Nhập tên của một vùng tại lời 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 

    Đã xoá người dùng máy.

    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

Bằng cách sử dụng giao diện người dùng, thêm người dùng máy vào tổ chức Edge có hỗ trợ SAML, rồi chỉ định cho họ các vai trò cần thiết (chẳng hạn như quản trị viên của 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 OAuth2 cho người dùng máyNgười dùng máy trong vùng SAML.

Cách nhận 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 ưa thích của bạ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: Hãy 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 trên máy sẽ không bị xâm phạm.

  2. Tạo mã truy cập và làm mới ban đầu bằng cách gọi điểm cuối của 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'

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

  3. Chuyển mã truy cập đến một lệnh gọi API Quản lý Edge dưới dạng tiêu đề Mang:
    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ã đó bằng cách gửi mã làm mới đến điểm cuối của 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 \
      -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.