โทเค็นการให้สิทธิ์

โทเค็นของผู้ถือ (JWT: RFC 7516) ที่ Google ออกเพื่อยืนยันว่าผู้เรียกใช้ได้รับอนุญาตให้เข้ารหัสหรือถอดรหัสทรัพยากร

เพื่อป้องกันการละเมิด บริการรายการควบคุมการเข้าถึงคีย์ (KACLS) ควรตรวจสอบว่าผู้เรียกใช้ได้รับอนุญาตให้เข้ารหัสออบเจ็กต์ (ไฟล์หรือเอกสาร) ก่อนที่จะรวมคีย์และถอดรหัสก่อนที่จะแยก DEK

โทเค็นการให้สิทธิ์สําหรับการเข้ารหัสฝั่งไคลเอ็นต์ของ Google เอกสารและไดรฟ์ ปฏิทิน และ Meet (CSE)

การแสดง JSON
{
  "aud": string,
  "email": string,
  "email_type": string,
  "exp": string,
  "iat": string,
  "iss": string,
  "kacls_url": string,
  "perimeter_id": string,
  "resource_name": string,
  "role": string
}
ช่อง
aud

string

กลุ่มเป้าหมายตามที่ Google ระบุไว้ ควรตรวจสอบกับการกำหนดค่าภายในเครื่อง

email

string (UTF-8)

อีเมลของผู้ใช้

email_type

string

มีค่าใดค่าหนึ่งต่อไปนี้

  • google: อีเมลนี้เป็นของบัญชี Google
  • google-visitor: อีเมลนี้ไม่ได้เป็นของบัญชี Google แต่ได้รับการยืนยันรหัส PIN โดย Google แล้ว
  • customer-idp: อีเมลนี้ไม่ได้เป็นของบัญชี Google แต่ดึงข้อมูลอีเมลของผู้ใช้โดยใช้ IdP ที่ลูกค้ากำหนดค่าไว้
  • ยกเลิกการอ้างสิทธิ์ได้ ในกรณีนี้ ค่าเริ่มต้นจะเป็น "google"
exp

string

เวลาหมดอายุ

iat

string

เวลาในการออกบัตร

iss

string

ผู้ออกโทเค็น ควรตรวจสอบกับชุดผู้ออกการตรวจสอบสิทธิ์ที่เชื่อถือได้

kacls_url

string

URL ฐานของ KACLS ที่กำหนดค่าไว้ ซึ่งใช้เพื่อป้องกันการโจมตีแบบ Person-in-the-middle (PITM)

perimeter_id

string (UTF-8)

(ไม่บังคับ) ค่าที่ผูกกับตำแหน่งของเอกสารซึ่งสามารถใช้เพื่อเลือกว่าจะตรวจสอบขอบเขตใดเมื่อแยกข้อมูล ขนาดสูงสุด: 128 ไบต์

resource_name

string (UTF-8)

ตัวระบุสำหรับออบเจ็กต์ที่เข้ารหัสโดย DEK ขนาดสูงสุด: 128 ไบต์

role

string

มีค่าใดค่าหนึ่งต่อไปนี้

  • reader: อนุญาตให้เรียกใช้ unwrap เท่านั้น
  • writer: อนุญาตให้เรียกใช้ทั้ง wrap และ unwrap

โทเค็นการให้สิทธิ์สำหรับ CSE ของ Gmail

การแสดง JSON
{
  "aud": string,
  "email": string,
  "exp": string,
  "iat": string,
  "message_id": string,
  "iss": string,
  "kacls_url": string,
  "perimeter_id": string,
  "resource_name": string,
  "role": string,
  "spki_hash": string,
  "spki_hash_algorithm": string
}
ช่อง
aud

string

กลุ่มเป้าหมายตามที่ Google ระบุไว้ ควรตรวจสอบกับการกำหนดค่าภายในเครื่อง

email

string (UTF-8)

อีเมลของผู้ใช้

exp

string

เวลาหมดอายุ

iat

string

เวลาในการออกบัตร

message_id

string

ตัวระบุสำหรับข้อความที่มีการดำเนินการถอดรหัสหรือลงนาม ใช้เป็นเหตุผลของลูกค้าเพื่อวัตถุประสงค์ในการตรวจสอบ

iss

string

ผู้ออกโทเค็น ควรตรวจสอบกับชุดผู้ออกการตรวจสอบสิทธิ์ที่เชื่อถือได้

kacls_url

string

URL ฐานของ KACLS ที่กำหนดค่าไว้ ซึ่งใช้เพื่อป้องกันการโจมตีแบบ Person-in-the-middle (PITM)

perimeter_id

string (UTF-8)

(ไม่บังคับ) ค่าที่ผูกกับตำแหน่งของเอกสารซึ่งสามารถใช้เลือกว่าจะเลือกขอบเขตใดเมื่อแยกเอกสาร ขนาดสูงสุด: 128 ไบต์

resource_name

string (UTF-8)

ตัวระบุสำหรับออบเจ็กต์ที่เข้ารหัสโดย DEK ขนาดสูงสุด: 512 ไบต์

role

string

มีค่าใดค่าหนึ่งต่อไปนี้

  • decrypter: ถอดรหัสได้
  • signer: ลงนามได้
spki_hash

string

ไดเจสต์ที่เข้ารหัสแบบ Base64 แบบมาตรฐานของ SubjectPublicKeyInfo ที่เข้ารหัสแบบ DER ของคีย์ส่วนตัวที่กำลังเข้าถึง

spki_hash_algorithm

string

อัลกอริทึมที่ใช้ในการสร้าง spki_hash อาจเป็น SHA-256

โทเค็นการให้สิทธิ์สำหรับบริการย้ายข้อมูล KACLS

การแสดง JSON
{
  "aud": string,
  "email": string,
  "exp": string,
  "iat": string,
  "iss": string,
  "kacls_url": string,
  "resource_name": string,
  "role": string
}
ช่อง
aud

string

กลุ่มเป้าหมายตามที่ Google ระบุไว้ ควรตรวจสอบกับการกำหนดค่าภายในเครื่อง

email

string (UTF-8)

อีเมลของผู้ใช้

exp

string

เวลาหมดอายุ

iat

string

เวลาในการออกบัตร

iss

string

ผู้ออกโทเค็น ควรตรวจสอบกับชุดผู้ออกการตรวจสอบสิทธิ์ที่เชื่อถือได้

kacls_url

string

URL ฐานของ KACLS ที่กำหนดค่าไว้ ซึ่งใช้เพื่อป้องกันการโจมตีแบบ Person-in-the-middle (PITM)

role

string

มีค่าใดค่าหนึ่งต่อไปนี้

  • migrator: อนุญาตให้เรียกใช้ rewrap เท่านั้น
  • verifier: อนุญาตให้เรียกใช้ digest เท่านั้น