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, đây là quy trình mà bạn dùng để lấy quyền truy cập OAuth2 và mã làm mới từ xác nhận SAML được gọi là quy trình mật mã. Với mật mã quy trình này, bạn dùng trình duyệt để lấy mật mã một lần mà sau đó dùng để lấy OAuth2 mã thông báo.

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 công việc phát triển phổ biến, chẳng hạn như tự động hoá thử nghiệm 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 SAML được bật, bạn cần có cách nào đó để lấy và làm mới mã thông báo OAuth2 mà không phải 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 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 thể tiếp cận 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 mã. Điều đó có nghĩa là bạn có thể tự động hoá hoàn toàn quy trình lấy và làm mới mã thông báo OAuth2 bằng cách sử dụng API Edge.

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

Video: Xem video ngắn để tìm hiểu cách tự động hoá quyền truy cập vào các API Apigee Edge bằng thông tin đăng nhập 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 ở máy (CLI) để tạo và quản lý tài khoản người dùng ở máy. Các bước sử dụng giao diện dòng lệnh (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 xuống và giải nén 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 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ể chỉ định.

Lệnh Thông tin khác
create Tạo người dùng máy trong vùng nhận dạng
delete Xoá người dùng máy ở vùng nhận dạng
help Nhận trợ giúp về 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 vùng nhận dạng

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

Đăng nhập vào CLI

Vào lần đầu tiên chạy CLI trong vòng 24 giờ, bạn sẽ được nhắc nhập thông tin đăng nhập cho 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ộ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 trong mỗi 24 giờ.

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

Hiện thông tin về mức sử dụng CLI bằng lệnh usermgmt_platform trợ giúp. 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 sẽ hiển thị:

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ị thông tin trợ giúp về 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ụ: để nhận trợ giúp về lệnh danh sách:

usermgmt_platform list -h

Thông tin trợ giúp sau sẽ hiển thị:

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 người dùng máy ở vùng nhận dạng bằng lệnh usermgmt_platform create (tạo người dùng). 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 vùng nhận dạng sẽ hiển thị:

    myzone1
    myzone2
  2. Nhập tên của một khu vực 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 vùng nhận dạng bằng lệnh usergpt_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 vùng nhận dạng sẽ hiển thị:
    myzone1
    myzone2
  2. Nhập tên của một khu vực 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 vùng nhận dạng

Đặt lại mật khẩu cho người dùng máy ở vùng nhận dạng bằng lệnh usermgmt_platform set (đặt lại). 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 vùng nhận dạng sẽ hiển thị:

    myzone1
    myzone2
  2. Nhập tên của một khu vực 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

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

    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 ở vùng nhận dạng bằng lệnh usermgmt_platform delete (xoá). 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 vùng nhận dạng sẽ hiển thị:
    myzone1
    myzone2
  2. Nhập tên của một khu vực 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 xóa:
    Delete User
    Enter the username for the machine user
    Username: machineuser1@mycompany.com 

    Người dùng máy đã bị xoá.

    Deleted user machineuser1@mycompany.com

Chỉ định các vai trò cần thiết cho người dùng máy 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ó bật SAML và chỉ định các vai trò cần thiết cho người dùng này (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 đối với người dùng máy bằng Các tiện ích acurl(1)get_token(1), theo mô tả trong OAuth2 cho người dùng máyNgười dùng máy trong 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 ư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 rằng 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 ban đầu và mã làm mới 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 chuyển thông tin đăng nhập dành riêng cho ứng dụng OAuth2, ZWRnZWNsaTplZGdlY2xpc2VjcmV0, vào Tiêu đề Authorization. Lệnh gọi in mã truy cập và mã làm mới để stdout.

  3. Truyền mã truy cập vào 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 bằng cách gửi mã làm mới tới SAML điểm cuối mã thông báo, 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" trong thoả thuận chi phối việc bạn sử dụng Google Cloud Platform, bao gồm cả Dịch vụ Điều khoản cụ thể có tại https://cloud.google.com/terms/service-terms.