โทเค็นการตรวจสอบสิทธิ์
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
โทเค็น Bearer (JWT: RFC 7516)
ที่ออกโดยพาร์ทเนอร์ด้านข้อมูลประจำตัว (IdP) เพื่อยืนยันตัวตนของผู้ใช้
การแสดง JSON |
{
"aud": string,
"email": string,
"exp": string,
"iat": string,
"iss": string,
"google_email": string,
...
}
|
ช่อง |
aud |
string
กลุ่มเป้าหมายตามที่ IdP ระบุ ควรตรวจสอบกับการกำหนดค่าในเครื่อง
|
email |
string (UTF-8)
อีเมลของผู้ใช้
|
exp |
string
เวลาหมดอายุ
|
iat |
string
เวลาในการออกบัตร
|
iss |
string
ผู้ออกโทเค็น ควรได้รับการตรวจสอบกับชุดผู้ออกใบรับรองการตรวจสอบสิทธิ์ที่เชื่อถือได้
|
google_email |
string
การอ้างสิทธิ์ที่ไม่บังคับ ซึ่งจะใช้เมื่อการอ้างสิทธิ์อีเมลใน JWT นี้แตกต่างจากรหัสอีเมล Google Workspace ของผู้ใช้ การอ้างสิทธิ์นี้
ระบุตัวตนทางอีเมล Google Workspace ของผู้ใช้
|
... |
บริการรายการควบคุมการเข้าถึงคีย์ (KACLS) ของคุณสามารถใช้การอ้างสิทธิ์อื่นๆ (ตำแหน่ง การอ้างสิทธิ์ที่กำหนดเอง ฯลฯ) ได้โดยไม่มีค่าใช้จ่ายเพื่อประเมินขอบเขต
|
โทเค็นการตรวจสอบสิทธิ์ KACLS สำหรับ delegate
โทเค็นการตรวจสอบสิทธิ์มีโทเค็นเว็บ JSON (JWT) (JWT: RFC 7516)
ซึ่งเป็นโทเค็นการตรวจสอบสิทธิ์แบบ Bearer
บางครั้งผู้ใช้อาจตรวจสอบสิทธิ์ในไคลเอ็นต์โดยตรงไม่ได้
ในกรณีเหล่านี้ ผู้ใช้สามารถมอบสิทธิ์การเข้าถึง
ทรัพยากรที่เฉพาะเจาะจงให้กับไคลเอ็นต์นั้นได้ ซึ่งทำได้โดยการออก
โทเค็นการตรวจสอบสิทธิ์ที่มอบสิทธิ์ใหม่ซึ่งจำกัดขอบเขตของ
โทเค็นการตรวจสอบสิทธิ์เดิม
โทเค็นการตรวจสอบสิทธิ์ที่มอบสิทธิ์จะคล้ายกับโทเค็นการตรวจสอบสิทธิ์ทั่วไป แต่จะมีคำกล่าวอ้างเพิ่มเติม 1 รายการ ดังนี้
อ้างสิทธิ์ |
delegated_to |
string
ตัวระบุสำหรับเอนทิตีที่จะมอบสิทธิ์การตรวจสอบสิทธิ์ให้
|
ในบริบทการมอบสิทธิ์ ระบบจะใช้resource_name
การอ้างสิทธิ์ในโทเค็นการตรวจสอบสิทธิ์เพื่อระบุออบเจ็กต์ที่เข้ารหัสโดยคีย์การเข้ารหัสข้อมูล (DEK) ซึ่งการมอบสิทธิ์นั้นใช้ได้
โทเค็นออกโดยบริการรายการควบคุมการเข้าถึงคีย์ (KACLS)
โดยใช้การเรียก Delegate
อาจเป็น JWT ที่ลงนามด้วยตนเอง
ซึ่ง KACLS สามารถตรวจสอบได้ หรือ KACLS อาจใช้ IdP อื่นเพื่อดำเนินการดังกล่าว
ผ่านการเรียกที่เชื่อถือได้
หากต้องการให้ระบบพิจารณาว่าโทเค็นการตรวจสอบสิทธิ์ที่มอบสิทธิ์นั้นถูกต้อง คุณต้องระบุโทเค็นการให้สิทธิ์ที่มอบสิทธิ์สำหรับการดำเนินการเดียวกัน
โทเค็นการให้สิทธิ์ที่มอบหมายจะคล้ายกับโทเค็นการให้สิทธิ์ทั่วไป
แต่จะมีอ้างสิทธิ์เพิ่มเติม delegated_to
ค่าของการอ้างสิทธิ์ delegated_to
และ resource_name
ต้องตรงกับค่าในโทเค็นการตรวจสอบสิทธิ์ที่มอบสิทธิ์
เราขอแนะนำให้คุณตั้งค่ามูลค่าตลอดอายุการใช้งานเป็น 15 นาทีสำหรับโทเค็นการตรวจสอบสิทธิ์ที่มอบสิทธิ์เพื่อหลีกเลี่ยงการนำกลับมาใช้ซ้ำในกรณีที่เกิดการรั่วไหล
การแสดง JSON |
{
"email": string,
"iss": string,
"aud": string,
"exp": string,
"iat": string,
"google_email": string,
"delegated_to": string,
"resource_name": string
...
}
|
ช่อง |
email |
string (UTF-8)
อีเมลของผู้ใช้ในรูปแบบ UTF-8
|
iss |
string
ควรตรวจสอบผู้ออกโทเค็นกับชุดผู้ออกการตรวจสอบสิทธิ์ที่เชื่อถือได้
|
aud |
string
กลุ่มเป้าหมายตามที่ IdP ระบุ ควรตรวจสอบกับการกำหนดค่าในเครื่อง
|
exp |
string
ควรตรวจสอบเวลาหมดอายุ
|
iat |
string
ควรตรวจสอบเวลาที่ออก
|
delegated_to |
string
ตัวระบุสำหรับเอนทิตีที่จะมอบสิทธิ์การตรวจสอบสิทธิ์ให้
|
resource_name |
string
ตัวระบุสำหรับออบเจ็กต์ที่เข้ารหัสโดย DEK ซึ่งการมอบสิทธิ์ใช้ได้
|
... |
KACLS สามารถใช้การอ้างสิทธิ์อื่นๆ (สถานที่ตั้ง การอ้างสิทธิ์ที่กำหนดเอง ฯลฯ) เพื่อประเมินขอบเขตได้โดยไม่มีค่าใช้จ่าย
|
โทเค็นการตรวจสอบสิทธิ์ KACLS สำหรับ PrivilegedUnwrap
โทเค็น Bearer (JWT: RFC 7516)
ที่ออกโดยพาร์ทเนอร์ด้านข้อมูลประจำตัว (IdP) เพื่อยืนยันตัวตนของผู้ใช้
โดยจะใช้ใน PrivilegedUnwrap
เท่านั้น ในระหว่าง PrivilegedUnwrap
หากใช้ JWT ของ KACLS แทนโทเค็นการตรวจสอบสิทธิ์ของ IdP ผู้รับ KACLS ต้อง
ดึงข้อมูล JWKS ของผู้ออกก่อน จากนั้นจึงยืนยันลายเซ็นโทเค็นก่อน
ตรวจสอบการอ้างสิทธิ์
การแสดง JSON |
{
"aud": string,
"exp": string,
"iat": string,
"iss": string,
"kacls_url": string,
"resource_name": string
...
}
|
ช่อง |
aud |
string
กลุ่มเป้าหมายตามที่ IdP ระบุ สำหรับการดำเนินการ PrivilegedUnwrap การเข้ารหัสฝั่งไคลเอ็นต์ (CSE) ของไดรฟ์
ค่านี้ควรเป็น kacls-migration
|
exp |
string
เวลาหมดอายุ
|
iat |
string
เวลาในการออกบัตร
|
iss |
string
ผู้ออกโทเค็น ควรได้รับการตรวจสอบกับชุดผู้ออกใบรับรองการตรวจสอบสิทธิ์ที่เชื่อถือได้ ต้องตรงกับ KACLS_URL ของ KACLS ที่ขอ คุณดูชุดคีย์สาธารณะของผู้รับรองได้ที่ /certs
|
kacls_url |
string
URL ของ KACLS ปัจจุบันที่ใช้ถอดรหัสข้อมูล
|
resource_name |
string
ตัวระบุสำหรับออบเจ็กต์ที่เข้ารหัสโดย DEK ขนาดสูงสุด: 128 ไบต์
|
... |
บริการรายการควบคุมการเข้าถึงคีย์ (KACLS) ของคุณสามารถใช้การอ้างสิทธิ์อื่นๆ (ตำแหน่ง การอ้างสิทธิ์ที่กำหนดเอง ฯลฯ) ได้โดยไม่มีค่าใช้จ่ายเพื่อประเมินขอบเขต
|
เนื้อหาของหน้าเว็บนี้ได้รับอนุญาตภายใต้ใบอนุญาตที่ต้องระบุที่มาของครีเอทีฟคอมมอนส์ 4.0 และตัวอย่างโค้ดได้รับอนุญาตภายใต้ใบอนุญาต Apache 2.0 เว้นแต่จะระบุไว้เป็นอย่างอื่น โปรดดูรายละเอียดที่นโยบายเว็บไซต์ Google Developers Java เป็นเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-08-04 UTC
[null,null,["อัปเดตล่าสุด 2025-08-04 UTC"],[[["\u003cp\u003eKACLS uses bearer tokens (JWTs) issued by an identity provider (IdP) to verify user identity and authorize access.\u003c/p\u003e\n"],["\u003cp\u003eJWTs contain essential claims like audience, email, expiration, issuance, issuer, and potentially a Google Workspace email for specific scenarios.\u003c/p\u003e\n"],["\u003cp\u003eFor \u003ccode\u003ePrivilegedUnwrap\u003c/code\u003e operations, a KACLS JWT is used, requiring the recipient KACLS to verify the token signature and claims after fetching the issuer's JWKS.\u003c/p\u003e\n"],["\u003cp\u003eKACLS JWTs include specific claims like \u003ccode\u003ekacls_url\u003c/code\u003e and \u003ccode\u003eresource_name\u003c/code\u003e relevant to the decryption process.\u003c/p\u003e\n"],["\u003cp\u003eKACLS offers flexibility by allowing the use of additional claims for perimeter evaluation and custom authorization logic.\u003c/p\u003e\n"]]],["The document outlines two types of Bearer tokens (JWTs) used for user identity and KACLS authentication. User identity tokens, issued by the IdP, include fields like `aud`, `email`, `exp`, `iat`, `iss`, and `google_email` for email verification. KACLS authentication tokens, used during `PrivilegedUnwrap`, contain `aud` (specifically `kacls-migration`), `exp`, `iat`, `iss`, `kacls_url`, and `resource_name`. KACLS must verify the KACLS JWT's signature and claims after fetching the issuer's JWKS. Both types allow for custom claims.\n"],null,["# Authentication tokens\n\nBearer token ([JWT: RFC 7516](https://tools.ietf.org/html/rfc7516))\nissued by the identity partner (IdP) to attest a user's identity.\n\n| JSON representation ||\n|----------------------------------------------------------------------------------------------------------------------|---|\n| ``` { \"aud\": string, \"email\": string, \"exp\": string, \"iat\": string, \"iss\": string, \"google_email\": string, ... } ``` |\n\n| Fields ||\n|----------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `aud` | `string` The audience, as identified by the IdP. Should be checked against the local configuration. |\n| `email` | `string (UTF-8)` The user's email address. |\n| `exp` | `string` Expiration time. |\n| `iat` | `string` Issuance time. |\n| `iss` | `string` The token issuer. Should be validated against the trusted set of authentication issuers. |\n| `google_email` | `string` An optional claim, to be used when the email claim in this JWT is different from the user's Google Workspace email ID. This claim carries the user's Google Workspace email identity. |\n| `...` | Your Key Access Control List Service (KACLS) is free to use any other claims (location, custom claim, etc) to evaluate the perimeter. |\n\nKACLS authentication token for `delegate`\n-----------------------------------------\n\nThe authentication token contains a JSON Web Token (JWT) ([JWT: RFC 7516](https://tools.ietf.org/html/rfc7516))\nthat is a bearer authentication token.\n\nSometimes a user is not able to authenticate on a client directly.\nIn these cases the user can delegate their access to a specific\nresource to that client. This is achieved through issuing a new\ndelegated authentication token that limits the scope of the original\nauthentication token.\n\nThe delegated authentication token is similar to the ordinary\nauthentication token with one additional claim:\n\n| claim ||\n|----------------|----------------------------------------------------------------------|\n| `delegated_to` | `string` An identifier for the entity to delegate authentication to. |\n\nThe `resource_name` claim in the authentication token is, in a\ndelegation context, used for identifying the object encrypted by the\nData Encryption Key (DEK) for which the delegation is valid.\n\nThe token is issued by the Key Access Control List Service (KACLS)\nusing the `Delegate` call. It may be either self-signed JWTs\nthat KACLS is able to validate, or KACLS may use any other IdP to do\nthat, through a trusted call.\n\nIn order for the delegated authentication token to be considered valid, a\ndelegated authorization token must be provided for the same operation. The\ndelegated authorization token is similar to the ordinary authorization token,\nbut contains the additional claim `delegated_to`. The values of the\n`delegated_to` and `resource_name` claims must match the values in the\ndelegated authentication token.\n\nWe recommend that you set a lifetime value of 15 minutes for the delegated\nauthentication tokens to avoid potential reuse in case of leakage.\n\n| JSON representation ||\n|----------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|\n| ``` { \"email\": string, \"iss\": string, \"aud\": string, \"exp\": string, \"iat\": string, \"google_email\": string, \"delegated_to\": string, \"resource_name\": string ... } ``` |\n\n| Fields ||\n|-----------------|-------------------------------------------------------------------------------------------------------|\n| `email` | `string (UTF-8)` The user's UTF-8 formatted email address. |\n| `iss` | `string` The token issuer, should be validated against the trusted set of authentication issuers. |\n| `aud` | `string` The audience, as identified by the IdP. Should be checked against the local configuration. |\n| `exp` | `string` Expiration time, should be checked. |\n| `iat` | `string` Issuance time, should be checked. |\n| `delegated_to` | `string` An identifier for the entity to delegate authentication to. |\n| `resource_name` | `string` An identifier for the object encrypted by the DEK, for which the delegation is valid. |\n| `...` | The KACLS is free to use any other claims (location, custom claim, etc...) to evaluate the perimeter. |\n\nKACLS authentication token for `PrivilegedUnwrap`\n-------------------------------------------------\n\nBearer token ([JWT: RFC 7516](https://tools.ietf.org/html/rfc7516))\nissued by the identity partner (IdP) to attest a user's identity.\n\nThis is only used on `PrivilegedUnwrap`. During `PrivilegedUnwrap`, if a KACLS\nJWT is used in place of an IDP authentication token, the recipient KACLS must\nfirst fetch the JWKS of the issuer, then verify the token signature, before\nchecking the claims.\n\n| JSON representation ||\n|--------------------------------------------------------------------------------------------------------------------------|---|\n| ``` { \"aud\": string, \"exp\": string, \"iat\": string, \"iss\": string, \"kacls_url\": string, \"resource_name\": string ... } ``` |\n\n| Fields ||\n|-----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `aud` | `string` The audience, as identified by the IdP. For Drive client-side encryption (CSE) `PrivilegedUnwrap` operations, this should be `kacls-migration`. |\n| `exp` | `string` Expiration time. |\n| `iat` | `string` Issuance time. |\n| `iss` | `string` The token issuer. Should be validated against the trusted set of authentication issuers. Must match the `KACLS_URL` of the requesting KACLS. The public key set of the issuer can be found at /certs. |\n| `kacls_url` | `string` URL of current KACLS, that the data is being decrypted on. |\n| `resource_name` | `string` An identifier for the object encrypted by the DEK. Maximum size: 128 bytes. |\n| `...` | Your Key Access Control List Service (KACLS) is free to use any other claims (location, custom claim, etc) to evaluate the perimeter. |"]]