توکن های احراز هویت
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
توکن حامل ( 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 ) است که یک نشانه تأیید هویت حامل است.
گاهی اوقات یک کاربر قادر به احراز هویت مستقیم روی یک کلاینت نیست. در این موارد کاربر می تواند دسترسی خود را به یک منبع خاص به آن مشتری واگذار کند. این امر از طریق صدور یک توکن احراز هویت واگذار شده جدید که دامنه توکن احراز هویت اصلی را محدود می کند به دست می آید.
توکن احراز هویت واگذار شده مشابه نشانه احراز هویت معمولی با یک ادعای اضافی است:
ادعا |
---|
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
توکن حامل ( JWT: RFC 7516 ) که توسط شریک هویت (IdP) برای تأیید هویت کاربر صادر شده است.
این فقط در PrivilegedUnwrap
استفاده می شود. در طول PrivilegedUnwrap
، اگر یک KACLS JWT به جای یک توکن تأیید هویت IDP استفاده شود، KACLS گیرنده باید ابتدا JWKS صادرکننده را واکشی کند، سپس امضای توکن را قبل از بررسی ادعاها تأیید کند.
نمایندگی JSON |
---|
{
"aud": string,
"exp": string,
"iat": string,
"iss": string,
"kacls_url": string,
"resource_name": string
...
} |
فیلدها |
---|
aud | string مخاطب، همانطور که توسط IdP شناسایی شده است. برای عملیات رمزگذاری سمت سرویس گیرنده Drive (CSE) PrivilegedUnwrap ، این باید kacls-migration باشد. |
exp | string زمان انقضا. |
iat | string زمان صدور. |
iss | string صادرکننده توکن باید در برابر مجموعه معتبر صادرکنندگان احراز هویت اعتبارسنجی شود. باید با KACLS_URL KACLS درخواست کننده مطابقت داشته باشد. مجموعه کلید عمومی صادرکننده را میتوانید در اینجا پیدا کنید /certs |
kacls_url | string آدرس اینترنتی KACLS فعلی، که دادهها روی آن رمزگشایی میشوند. |
resource_name | string یک شناسه برای شی رمزگذاری شده توسط DEK. حداکثر حجم: 128 بایت |
... | سرویس فهرست کنترل دسترسی کلید شما (KACLS) برای استفاده از هرگونه ادعای دیگر (مکان، ادعای سفارشی و غیره) برای ارزیابی محیط آزاد است. |
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده 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. |"]]