الرموز المميزة للمصادقة
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
رمز مميّز لحامل البطاقة (JWT: RFC 7516)
صادر عن شريك الهوية (IdP) لإثبات هوية المستخدم.
تمثيل JSON |
{
"aud": string,
"email": string,
"exp": string,
"iat": string,
"iss": string,
"google_email": string,
...
}
|
الحقول |
aud |
string
الجمهور، كما يحدّده موفّر الهوية يجب التحقّق من ذلك مقارنةً بالإعدادات على الجهاز.
|
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)
وهو رمز مميّز للمصادقة.
في بعض الأحيان، لا يمكن للمستخدم إجراء المصادقة على جهاز العميل مباشرةً.
في هذه الحالات، يمكن للمستخدم تفويض العميل بالوصول إلى مورد معيّن. ويتم ذلك من خلال إصدار رمز مميز جديد للمصادقة المفوضة يحدّ من نطاق رمز المصادقة الأصلي.
يشبه رمز المصادقة المفوَّض رمز المصادقة العادي مع إضافة مطالبة واحدة:
ادعاء، مطالبة |
delegated_to |
string
معرّف للكيان الذي سيتم تفويض المصادقة إليه
|
يُستخدَم الادعاء resource_name
في رمز المصادقة المميز، في سياق التفويض، لتحديد العنصر المشفّر بواسطة مفتاح تشفير البيانات (DEK) الذي يكون التفويض صالحًا له.
يتم إصدار الرمز المميز من خلال خدمة قائمة التحكّم بالوصول إلى مفاتيح التشفير (KACLS) باستخدام طلب Delegate
. قد تكون هذه الرموز المميزة JWT ذاتية التوقيع
التي يمكن لخدمة KACLS التحقّق من صحتها، أو قد تستخدم خدمة KACLS أي موفّر هوية آخر لإجراء ذلك
من خلال مكالمة موثوقة.
لكي يتم اعتبار رمز المصادقة المفوض صالحًا، يجب تقديم رمز تفويض مفوض لنفس العملية. يشبه رمز التفويض المفوض رمز التفويض العادي، ولكنّه يتضمّن المطالبة الإضافية 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
الجمهور، كما يحدّده موفّر الهوية يجب التحقّق من ذلك مقارنةً بالإعدادات على الجهاز.
|
exp |
string
يجب التحقّق من وقت انتهاء الصلاحية.
|
iat |
string
يجب التحقّق من وقت الإصدار.
|
delegated_to |
string
معرّف للكيان الذي سيتم تفويض المصادقة إليه
|
resource_name |
string
معرّف للعنصر المشفّر باستخدام مفتاح تشفير البيانات، والذي يكون التفويض صالحًا له.
|
... |
يمكن لنظام KACLS استخدام أي مطالبات أخرى (الموقع الجغرافي، والمطالبة المخصّصة، وما إلى ذلك) لتقييم المحيط.
|
رمز المصادقة KACLS الخاص بـ PrivilegedUnwrap
رمز مميّز لحامل البطاقة (JWT: RFC 7516)
صادر عن شريك الهوية (IdP) لإثبات هوية المستخدم.
يتم استخدام هذا الخيار فقط على PrivilegedUnwrap
. أثناء PrivilegedUnwrap
، إذا تم استخدام رمز JWT من KACLS بدلاً من رمز مصادقة من موفّر الهوية، يجب أن يسترد KACLS الخاص بالمستلِم أولاً مجموعة مفاتيح JSON الخاصة بجهة الإصدار، ثم يتحقّق من توقيع الرمز المميز، قبل التحقّق من المطالبات.
تمثيل JSON |
{
"aud": string,
"exp": string,
"iat": string,
"iss": string,
"kacls_url": string,
"resource_name": string
...
}
|
الحقول |
aud |
string
الجمهور، كما يحدّده موفّر الهوية بالنسبة إلى عمليات PrivilegedUnwrap في ميزة "التشفير من جهة العميل" (CSE) في Drive، يجب أن تكون القيمة kacls-migration .
|
exp |
string
وقت انتهاء الصلاحية
|
iat |
string
وقت الإصدار
|
iss |
string
تمثّل هذه السمة جهة إصدار الرمز المميّز. يجب التحقّق من صحة هذا المعرّف استنادًا إلى مجموعة موثوق بها من جهات إصدار المصادقة. يجب أن تتطابق مع KACLS_URL لخدمة KACLS التي يتم إرسال الطلب منها. يمكن العثور على مجموعة المفاتيح العامة الخاصة بالجهة المصدرة على /certs .
|
kacls_url |
string
عنوان URL لخدمة KACLS الحالية التي يتم فك تشفير البيانات عليها
|
resource_name |
string
معرّف للعنصر المشفّر باستخدام مفتاح تشفير البيانات الحد الأقصى للحجم: 128 بايت.
|
... |
يمكن لخدمة قائمة التحكّم بالوصول إلى مفاتيح التشفير (KACLS) استخدام أي مطالبات أخرى (الموقع الجغرافي، والمطالبة المخصّصة، وما إلى ذلك) لتقييم المحيط بدون أي تكلفة.
|
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-08-04 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-08-04 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\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. |"]]