การใช้ SAML กับงานอัตโนมัติ

Edge for Private Cloud v4.19.01

เมื่อใช้ SAML กับ Edge API กระบวนการที่คุณใช้เพื่อรับสิทธิ์เข้าถึง OAuth2 และ การรีเฟรชโทเค็นจากการยืนยัน SAML จะเรียกว่าขั้นตอนรหัสผ่าน ในขั้นตอนรหัสผ่าน ใช้เบราว์เซอร์เพื่อรับรหัสผ่านแบบใช้ครั้งเดียว ซึ่งคุณจะใช้รับโทเค็น OAuth2

อย่างไรก็ตาม สภาพแวดล้อมในการพัฒนาซอฟต์แวร์ของคุณอาจรองรับระบบอัตโนมัติสำหรับงานการพัฒนาทั่วไป เช่น การทดสอบการทำงานอัตโนมัติ หรือการรวมอย่างต่อเนื่อง/การติดตั้งใช้งานอย่างต่อเนื่อง (CI/CD) ให้ทำงานอัตโนมัติ งานเหล่านี้เมื่อเปิดใช้ SAML คุณจะต้องหาวิธีรับและรีเฟรชโทเค็น OAuth2 ต้องคัดลอก/วางรหัสผ่านจากเบราว์เซอร์

Edge รองรับการสร้างโทเค็นอัตโนมัติผ่านการใช้ผู้ใช้เครื่องภายใน SAML องค์กร ผู้ใช้เครื่องสามารถ รับโทเค็น OAuth2 โดยไม่ต้องระบุรหัสผ่าน คุณจึงดำเนินการแบบอัตโนมัติ กระบวนการรับและรีเฟรชโทเค็น OAuth2 โดยใช้ Edge Management API

การสร้างผู้ใช้เครื่องสำหรับองค์กร SAML ทำได้ 2 วิธีดังนี้

วิธีการเหล่านี้จะอธิบายไว้ในส่วนถัดไป

คุณไม่สามารถสร้างผู้ใช้เครื่องสำหรับองค์กรที่ไม่ใช่ SAML

สร้างผู้ใช้เครื่องด้วย apigee-ssoadminapi.sh

ใช้ apigee-ssoadminapi.sh เพื่อสร้างผู้ใช้เครื่องภายในองค์กร SAML ดูการใช้ apigee-ssoadminapi.sh เพื่อดูข้อมูลเพิ่มเติม คุณสามารถสร้างผู้ใช้เครื่อง 1 รายที่ใช้โดย องค์กร หรือสร้างผู้ใช้เครื่องแยกกันสำหรับแต่ละองค์กร

มีการสร้างผู้ใช้เครื่องและจัดเก็บไว้ในพื้นที่เก็บข้อมูล Edge ไม่ใช่ในข้อมูลระบุตัวตน SAML ดังนั้น คุณไม่ต้องรับผิดชอบในการดูแลรักษาผู้ใช้เครื่องโดยใช้ Edge API การจัดการ Ui และ Edge

เมื่อสร้างผู้ใช้เครื่อง คุณต้องระบุอีเมลและรหัสผ่าน หลัง ที่สร้างผู้ใช้เครื่อง คุณจะต้องกำหนดผู้ใช้ให้กับองค์กรอย่างน้อย 1 แห่ง

วิธีสร้างผู้ใช้เครื่องด้วย apigee-ssoadminapi.sh

  1. ใช้คำสั่ง apigee-ssoadminapi.sh ต่อไปนี้เพื่อสร้างผู้ใช้เครื่อง วันที่
    apigee-ssoadminapi.sh saml machineuser add --admin SSO_ADMIN_NAME \
      --secret SSO_ADMIN_SECRET --host Edge_SSO_IP_or_DNS \
      -u machine_user_email -p machine_user_password

    สถานที่:

    • SSO_ADMIN_NAME คือชื่อผู้ใช้ของผู้ดูแลระบบที่กำหนดโดย ที่พัก SSO_ADMIN_NAME แห่งใน ไฟล์การกำหนดค่าที่ใช้กำหนดค่าโมดูล SSO ของ Edge ค่าเริ่มต้นคือ ssoadmin
    • SSO_ADMIN_SECRET คือรหัสผ่านของผู้ดูแลระบบตามที่ระบุโดย SSO_ADMIN_SECRET ในไฟล์การกำหนดค่า
    • ในตัวอย่างนี้ คุณสามารถละค่าสำหรับ --port และ --sslเนื่องจากโมดูล apigee-sso ใช้ค่าเริ่มต้น ค่า 9099 สำหรับ --port และ http สำหรับ --ssl หาก การติดตั้งไม่ได้ใช้ค่าเริ่มต้นเหล่านี้ โปรดระบุตามความเหมาะสม

  2. เข้าสู่ระบบ Edge UI และเพิ่มอีเมลของผู้ใช้เครื่องในองค์กร และกำหนด ผู้ใช้เครื่องให้มีบทบาทที่จำเป็น โปรดดูการเพิ่มผู้ใช้ทั่วโลกสำหรับ และอีกมากมาย

สร้างผู้ใช้เครื่องด้วย Edge API การจัดการ

คุณสร้างผู้ใช้เครื่องได้โดยใช้ Edge Management API แทนที่จะใช้ ยูทิลิตี apigee-ssoadminapi.sh

วิธีสร้างผู้ใช้เครื่องด้วย Management API

  1. ใช้คำสั่ง curl ต่อไปนี้เพื่อรับโทเค็นสำหรับผู้ใช้ ssoadmin ชื่อผู้ใช้ของบัญชีผู้ดูแลระบบสำหรับ apigee-sso:
    curl "http://Edge_SSO_IP_DNS:9099/oauth/token" -i -X POST \
      -H 'Accept: application/json' / -H 'Content-Type: application/x-www-form-urlencoded' \
      -d "response_type=token" -d "grant_type=client_credentials" \
      --data-urlencode "client_secret=SSO_ADMIN_SECRET" \
      --data-urlencode "client_id=ssoadmin"

    โดย SSO_ADMIN_SECRET คือรหัสผ่านของผู้ดูแลระบบที่คุณตั้งค่าไว้เมื่อติดตั้ง apigee-sso ตามที่ระบุโดยพร็อพเพอร์ตี้ SSO_ADMIN_SECRET ใน ไฟล์การกำหนดค่าเซิร์ฟเวอร์

    คำสั่งนี้จะแสดงโทเค็นที่คุณต้องทำการเรียกครั้งถัดไป

  2. ใช้คำสั่ง curl ต่อไปนี้เพื่อสร้างผู้ใช้เครื่อง โดยส่งผ่านโทเค็นที่คุณ ที่ได้รับในขั้นตอนก่อนหน้า: วันที่
    curl "http://edge_sso_IP_DNS:9099/Users" -i -X POST \
      -H "Accept: application/json" -H "Content-Type: application/json" \
      -d '{"userName" : "machine_user_email", "name" :
        {"formatted":"DevOps", "familyName" : "last_name", "givenName" :
        "first_name"}, "emails" : [ {"value" :
        "machine_user_email", "primary" : true } ], "active" : true,
        "verified" : true, "password" : "machine_user_password" }' \
      -H "Authorization: Bearer token"

    คุณต้องใช้รหัสผ่านผู้ใช้เครื่องในขั้นตอนถัดไป

  3. ลงชื่อเข้าสู่ระบบ Edge UI
  4. เพิ่มอีเมลของผู้ใช้เครื่องในองค์กร และกำหนดผู้ใช้เครื่องให้กับ บทบาทที่จำเป็น ดูการเพิ่ม ผู้ใช้ทั่วโลกให้มากยิ่งขึ้น

รับและรีเฟรชโทเค็นผู้ใช้เครื่อง

ใช้ Edge API เพื่อรับและรีเฟรชโทเค็น OAuth2 โดยส่งต่อ ข้อมูลเข้าสู่ระบบ แทนรหัสผ่าน

หากต้องการรับโทเค็น OAuth2 สำหรับผู้ใช้เครื่อง ให้ทำดังนี้

  1. ใช้การเรียก API ต่อไปนี้เพื่อสร้างโทเค็นการเข้าถึงเริ่มต้นและรีเฟรชโทเค็น
    วันที่
    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 \
      http://Edge_SSO_IP_DNS:9099/oauth/token -s \
      -d 'grant_type=password&username=m_user_email&password=m_user_password'

    บันทึกโทเค็นไว้ใช้ในภายหลัง

  2. ส่งโทเค็นเพื่อการเข้าถึงไปยังการเรียก Edge Management API เป็นส่วนหัวสำหรับผู้ถือ:
    วันที่
    curl -H "Authorization: Bearer access_token" \
      http://MS_IP_DNS:8080/v1/organizations/org_name

    โดยที่ org_name คือชื่อขององค์กรที่มีผู้ใช้เครื่อง

  3. หากต้องการรีเฟรชโทเค็นเพื่อการเข้าถึงในภายหลัง ให้ใช้การเรียกต่อไปนี้ที่มีการรีเฟรช โทเค็น:
    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 \
      http://edge_sso_IP_DNS:9099/oauth/token \
      -d 'grant_type=refresh_token&refresh_token=refreshToken'