Yöntem: delegate
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Bu çağrı, bir tüzel kişinin orijinal kimlik doğrulama JWT'sinde kimliği doğrulanmış kullanıcı adına belirtilen bir kaynağa erişmesine olanak tanıyan yeni bir kimlik doğrulama JSON Web Token'ı (JWT) döndürür. Bu, kullanıcının adına hareket etmesi gerektiğinde başka bir tüzel kişiye sarma veya sarmayı açma için kapsamlı erişim yetkisi vermek üzere kullanılır.
HTTP isteği
POST https://<base_url>/delegate
<base_url>
yerine Anahtar Erişim Kontrol Listesi Hizmeti (KACLS) URL'sini girin.
Yol parametreleri
Yok.
İstek içeriği
İstek metni, isteğin JSON gösterimini içerir:
JSON gösterimi |
{
"authentication": string,
"authorization": string,
"reason": string
}
|
Alanlar |
authentication |
string
Kullanıcının kim olduğunu onaylayan bir üçüncü tarafça verilen JWT. Ayrıntılar için kimlik doğrulama bölümüne bakın.
|
authorization |
string
delegated_to ve resource_name taleplerini içeren bir JWT. delegated_to talebiyle tanımlanan varlığın, kullanıcı adına resource_name 'ye erişmesine izin verildiğini belirtir. Daha fazla bilgi için Yetkilendirme jetonları başlıklı makaleyi inceleyin.
|
reason |
string (UTF-8)
İşlemle ilgili ek bağlam sağlayan bir geçiş JSON dizesi. Sağlanan JSON, gösterilmeden önce temizlenmelidir. Maks. boyut: 1 KB.
|
Gerekli işleme adımları
KACLS en azından şu adımları uygulamalıdır:
- Hem yetkilendirme hem de kimlik doğrulama jetonlarını doğrulayın. Daha fazla bilgi için Yetkilendirme jetonları ve Kimlik doğrulama jetonları başlıklı makaleleri inceleyin.
- Yetkilendirme ve kimlik doğrulama jetonlarının aynı kullanıcıya ait olduğunu kontrol edin.
Daha fazla bilgi için Verileri şifreleme ve şifre çözme başlıklı makaleyi inceleyin.
- Yetkilendirme jetonundaki
kacls_url
talebinin, mevcut KACLS URL'siyle eşleştiğinden emin olun. Bu sayede, kuruluş içinden kişiler veya kötü niyetli alan yöneticileri tarafından yapılandırılan olası ortadaki adam sunucularının algılanması sağlanır.
- Yetkilendirme jetonunda
kacls_owner_domain
iddiası varsa değerin KACLS sahibinin Google Workspace alanıyla eşleştiğini kontrol edin. Bu, yetkisiz kullanıcıların KACLS'nizi Google'a kaydetmesini önlemeye yardımcı olur.
- İşlemi, başlatan kullanıcı,
delegated_to
, resource_name
ve istekte iletilen neden de dahil olmak üzere kaydedin.
- Yetkilendirme jetonundan
delegated_to
ve resource_name
taleplerini içeren bir JWT jetonu oluşturun, imzalayın ve döndürün.
KACLS, JWT talebine dayalı olanlar da dahil olmak üzere ek güvenlik kontrollerini ücretsiz olarak gerçekleştirebilir.
Yanıt gövdesi
Başarılı olursa bu yöntem, delegated_to
ve resource_name
taleplerini içeren bir kimlik doğrulama JWT'si döndürür. Bu jeton daha sonra Wrap ve Unwrap yöntemlerine yapılan çağrılarda kimlik doğrulama için kullanılabilir. Hata durumunda yapılandırılmış hata yanıtı döndürülmelidir.
JSON gösterimi |
{
"delegated_authentication": string
}
|
Alanlar |
delegated_authentication |
string
Orijinal kimlik doğrulama JWT'sinde belirtilen kullanıcı tarafından resource_name erişimi için geçerli olan, temsilci kimlik doğrulama JWT'si. Daha fazla bilgi için delegate için KACLS kimlik doğrulama jetonu başlıklı makaleyi inceleyin.
|
Örnek
İstek
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'}"
}
Yanıt
{
"delegated_authentication": "eyJhbGciOi...delegated_to_from_authz_token...resource_name_from_authz_token...}"
}
Aksi belirtilmediği sürece bu sayfanın içeriği Creative Commons Atıf 4.0 Lisansı altında ve kod örnekleri Apache 2.0 Lisansı altında lisanslanmıştır. Ayrıntılı bilgi için Google Developers Site Politikaları'na göz atın. Java, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-26 UTC.
[null,null,["Son güncelleme tarihi: 2025-07-26 UTC."],[],[],null,["# Method: delegate\n\nThis call returns a new authentication JSON Web Token (JWT) that allows\nan entity to access a specified resource on behalf of the user\nauthenticated in the original authentication JWT. It is used to delegate\nscoped access to [wrap](/workspace/cse/reference/wrap) or\n[unwrap](/workspace/cse/reference/unwrap) to another entity when that\nentity needs to act on behalf of the user.\n\n### HTTP request\n\n`POST https://\u003cbase_url\u003e/delegate`\n\nReplace `\u003cbase_url\u003e` with the Key Access Control List Service (KACLS) URL.\n\n### Path parameters\n\nNone.\n\n### Request body\n\nThe request body contains a JSON representation of the request:\n\n| JSON representation ||\n|---------------------------------------------------------------------------------|---|\n| ``` { \"authentication\": string, \"authorization\": string, \"reason\": string } ``` |\n\n| Fields ||\n|------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `authentication` | `string` A JWT issued by a third-party asserting who the user is. See the authentication section for details. |\n| `authorization` | `string` A JWT with `delegated_to` and `resource_name` claims asserting that the entity identified by `delegated_to` claim is allowed to access `resource_name` on behalf of the user. For more information, see [Authorization Tokens](/workspace/cse/reference/authorization-tokens). |\n| `reason` | `string (UTF-8)` A passthrough JSON string providing additional context about the operation. The JSON provided should be sanitized before being displayed. Max size: 1 KB. |\n\n### Required processing steps\n\nThe KACLS must perform at least these steps:\n\n- Validate both authorization and authentication tokens. For more information, see [Authorization Tokens](/workspace/cse/reference/authorization-tokens) and [Authentication Tokens](/workspace/cse/reference/authentication-tokens).\n- Check that authorization and authentication tokens are for the same user. For more information, see [Encrypt and decrypt data](/workspace/cse/guides/encrypt-and-decrypt-data).\n- Check that the `kacls_url` claim in the authorization token matches the current KACLS URL. This allows detection of potential man-in-the-middle servers configured by insiders or rogue domain admins.\n- If the `kacls_owner_domain` claim exists in the authorization token, check that the value matches the KACLS owner's Google Workspace domain. This helps prevent unauthorized users from registering your KACLS with Google.\n- Log the operation, including the user originating it, the `delegated_to`, the `resource_name`, and the reason passed in the request.\n- Generate, sign, and return a JWT token containing `delegated_to` and `resource_name` claims from the authorization token.\n\nThe KACLS is free to perform additional security checks, including JWT claim\nbased ones.\n\n### Response body\n\nIf successful, this method returns an authentication JWT containing\n`delegated_to` and `resource_name` claims. This token can later be used for\nauthentication in calls to the Wrap and Unwrap methods. In case of an error, a\n[structured error reply](/workspace/cse/reference/structured-errors)\nshould be returned.\n\n| JSON representation ||\n|------------------------------------------------|---|\n| ``` { \"delegated_authentication\": string } ``` |\n\n| Fields ||\n|----------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `delegated_authentication` | `string` A delegated authentication JWT valid for accessing `resource_name` by the user mentioned in the original authentication JWT. For more information, see [KACLS authentication token for `delegate`](/workspace/cse/reference/authentication-tokens#kacls_authentication_token_for_delegate). |\n\n### Example\n\n#### Request\n\n POST https://mykacls.example.com/v1/delegate\n {\n \"authentication\": \"eyJhbGciOi...\",\n \"authorization\": \"eyJhbGciOi...delegated_to\\\":\\\"other_entity_id\\\",\\\"resource_name\\\":\\\"meeting_id\\\"...}\",\n \"reason\": \"{client:'meet' op:'delegate_access'}\"\n }\n\n#### Response\n\n {\n \"delegated_authentication\": \"eyJhbGciOi...delegated_to_from_authz_token...resource_name_from_authz_token...}\"\n }"]]