วิธีการ: delegate

การเรียกนี้จะแสดง JSON Web Token (JWT) การตรวจสอบสิทธิ์ใหม่ที่อนุญาตให้ เอนทิตีเข้าถึงทรัพยากรที่ระบุในนามของผู้ใช้ ที่ได้รับการตรวจสอบสิทธิ์ใน JWT การตรวจสอบสิทธิ์เดิม ใช้เพื่อมอบสิทธิ์ การเข้าถึงที่กำหนดขอบเขตเพื่อห่อหรือ แกะให้กับเอนทิตีอื่นเมื่อเอนทิตีนั้น ต้องดำเนินการในนามของผู้ใช้

คำขอ HTTP

POST https://<base_url>/delegate

แทนที่ <base_url> ด้วย URL ของบริการรายการควบคุมการเข้าถึงคีย์ (KACLS)

พารามิเตอร์เส้นทาง

ไม่มี

เนื้อความของคำขอ

เนื้อหาของคำขอมีการแสดงคำขอเป็น JSON ดังนี้

การแสดง JSON
{
  "authentication": string,
  "authorization": string,
  "reason": string
}
ช่อง
authentication

string

JWT ที่ออกโดยบุคคลที่สามซึ่งยืนยันตัวตนของผู้ใช้ ดูรายละเอียดได้ที่ส่วนการตรวจสอบสิทธิ์

authorization

string

JWT ที่มีคำกล่าวอ้าง delegated_to และ resource_name ซึ่งยืนยันว่าเอนทิตีที่ระบุโดยคำกล่าวอ้าง delegated_to ได้รับอนุญาตให้เข้าถึง resource_name ในนามของผู้ใช้ ดูข้อมูลเพิ่มเติมได้ที่โทเค็นการให้สิทธิ์

reason

string (UTF-8)

สตริง JSON แบบส่งผ่านที่ให้บริบทเพิ่มเติมเกี่ยวกับการดำเนินการ ควรล้างข้อมูล JSON ที่ระบุก่อนแสดง ขนาดสูงสุด: 1 KB

ขั้นตอนการประมวลผลที่จำเป็น

KACLS ต้องดำเนินการอย่างน้อยตามขั้นตอนต่อไปนี้

  • ตรวจสอบทั้งโทเค็นการให้สิทธิ์และโทเค็นการตรวจสอบสิทธิ์ ดูข้อมูลเพิ่มเติมได้ที่โทเค็นการให้สิทธิ์และโทเค็นการตรวจสอบสิทธิ์
  • ตรวจสอบว่าโทเค็นการให้สิทธิ์และการตรวจสอบสิทธิ์เป็นของผู้ใช้รายเดียวกัน ดูข้อมูลเพิ่มเติมได้ที่เข้ารหัสและถอดรหัสข้อมูล
  • ตรวจสอบว่าkacls_urlการอ้างสิทธิ์ในโทเค็นการให้สิทธิ์ตรงกับ URL ของ KACLS ปัจจุบัน ซึ่งจะช่วยให้ตรวจพบเซิร์ฟเวอร์ที่อาจเป็นแบบ Man-in-the-Middle ซึ่งกำหนดค่าโดยผู้ไม่หวังดีหรือผู้ดูแลโดเมนที่ไม่ซื่อสัตย์
  • หากมีคำกล่าวอ้าง kacls_owner_domain ในโทเค็นการให้สิทธิ์ ให้ตรวจสอบ ว่าค่าตรงกับโดเมน Google Workspace ของเจ้าของ KACLS ซึ่งจะช่วย ป้องกันไม่ให้ผู้ใช้ที่ไม่ได้รับอนุญาตลงทะเบียน KACLS กับ Google
  • บันทึกการดำเนินการ รวมถึงผู้ใช้ที่เริ่มการดำเนินการ delegated_to, resource_name และเหตุผลที่ส่งในคำขอ
  • สร้าง ลงนาม และส่งคืนโทเค็น JWT ที่มีอ้างสิทธิ์ delegated_to และ resource_name จากโทเค็นการให้สิทธิ์

KACLS สามารถทำการตรวจสอบความปลอดภัยเพิ่มเติมได้โดยไม่มีค่าใช้จ่าย ซึ่งรวมถึงการตรวจสอบที่อิงตามการอ้างสิทธิ์ JWT

เนื้อหาการตอบกลับ

หากสำเร็จ เมธอดนี้จะแสดงผล JWT การตรวจสอบสิทธิ์ที่มีการอ้างสิทธิ์ delegated_to และ resource_name คุณจะใช้โทเค็นนี้เพื่อ การตรวจสอบสิทธิ์ในการเรียกเมธอด Wrap และ Unwrap ได้ในภายหลัง ในกรณีที่เกิดข้อผิดพลาด ควรแสดงผล การตอบกลับข้อผิดพลาดที่มีโครงสร้าง

การแสดง JSON
{
  "delegated_authentication": string
}
ช่อง
delegated_authentication

string

JWT การตรวจสอบสิทธิ์ที่มอบสิทธิ์ซึ่งใช้ได้สำหรับการเข้าถึง resource_name โดยผู้ใช้ที่กล่าวถึงใน JWT การตรวจสอบสิทธิ์เดิม ดูข้อมูลเพิ่มเติมได้ที่โทเค็นการตรวจสอบสิทธิ์ KACLS สำหรับ delegate

ตัวอย่าง

ส่งคำขอ

POST https://mykacls.example.com/v1/delegate
{
  "authentication": "eyJhbGciOi...",
  "authorization": "eyJhbGciOi...delegated_to\":\"other_entity_id\",\"resource_name\":\"meeting_id\"...}",
  "reason": "{client:'meet' op:'delegate_access'}"
}

การตอบกลับ

{
  "delegated_authentication": "eyJhbGciOi...delegated_to_from_authz_token...resource_name_from_authz_token...}"
}