روش: تفویض اختیار

این فراخوانی یک JSON Web Token (JWT) احراز هویت جدید را برمی‌گرداند که به یک موجودیت اجازه می‌دهد از طرف کاربری که در JWT احراز هویت اصلی احراز هویت شده است، به یک منبع مشخص دسترسی پیدا کند. این برای واگذاری دسترسی محدود به wrap یا unwrap به موجودیت دیگری استفاده می‌شود، زمانی که آن موجودیت نیاز به اقدام از طرف کاربر دارد.

درخواست HTTP

POST https://<base_url>/delegate

<base_url> با آدرس اینترنتی سرویس فهرست کنترل دسترسی کلیدی (KACLS) جایگزین کنید.

پارامترهای مسیر

هیچ کدام.

درخواست بدنه

بدنه درخواست شامل یک نمایش JSON از درخواست است:

نمایش JSON
{
  "authentication": string,
  "authorization": string,
  "reason": string
}
فیلدها
authentication

string

یک JWT که توسط شخص ثالثی صادر شده و هویت کاربر را تأیید می‌کند. برای جزئیات بیشتر به بخش احراز هویت مراجعه کنید.

authorization

string

یک JWT با ادعاهای delegated_to و resource_name که ادعا می‌کند موجودیت شناسایی‌شده توسط ادعای delegated_to اجازه دسترسی به resource_name را از طرف کاربر دارد. برای اطلاعات بیشتر، به Authorization Tokens مراجعه کنید.

reason

string (UTF-8)

یک رشته JSON عبوری که زمینه بیشتری در مورد عملیات ارائه می‌دهد. JSON ارائه شده باید قبل از نمایش، پاکسازی شود. حداکثر اندازه: ۱ کیلوبایت.

مراحل پردازش مورد نیاز

KACLS باید حداقل این مراحل را انجام دهد:

  • اعتبارسنجی توکن‌های مجوز و احراز هویت را انجام دهید. برای اطلاعات بیشتر، به «توکن‌های مجوز» و «توکن‌های احراز هویت» مراجعه کنید.
  • بررسی کنید که توکن‌های مجوز و احراز هویت برای یک کاربر باشند. برای اطلاعات بیشتر، به رمزگذاری و رمزگشایی داده‌ها مراجعه کنید.
  • بررسی کنید که عبارت kacls_url در توکن مجوز با URL فعلی KACLS مطابقت داشته باشد. این کار امکان شناسایی سرورهای بالقوه‌ی man-in-the-middle که توسط افراد داخلی یا مدیران دامنه‌ی جعلی پیکربندی شده‌اند را فراهم می‌کند.
  • اگر عبارت kacls_owner_domain در توکن مجوز وجود دارد، بررسی کنید که مقدار آن با دامنه Google Workspace مالک KACLS مطابقت داشته باشد. این کار به جلوگیری از ثبت KACLS شما توسط کاربران غیرمجاز در گوگل کمک می‌کند.
  • عملیات، شامل نام کاربری که آن را آغاز کرده، 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...}"
}