Metode: delegate

Panggilan ini menampilkan Token Web JSON (JWT) autentikasi baru yang memungkinkan entitas mengakses resource tertentu atas nama pengguna yang diautentikasi di JWT autentikasi asli. Digunakan untuk mendelegasikan akses yang tercakup ke wrap atau unwrap ke entitas lain saat entitas tersebut perlu bertindak atas nama pengguna.

Permintaan HTTP

POST https://<base_url>/delegate

Ganti <base_url> dengan URL Layanan Daftar Kontrol Akses Kunci (KACLS).

Parameter jalur

Tidak ada.

Isi permintaan

Isi permintaan berisi representasi JSON dari permintaan:

Representasi JSON
{
  "authentication": string,
  "authorization": string,
  "reason": string
}
Kolom
authentication

string

JWT yang dikeluarkan oleh pihak ketiga yang menyatakan siapa pengguna tersebut. Lihat bagian autentikasi untuk mengetahui detailnya.

authorization

string

JWT dengan klaim delegated_to dan resource_name yang menyatakan bahwa entitas yang diidentifikasi oleh klaim delegated_to diizinkan untuk mengakses resource_name atas nama pengguna. Untuk mengetahui informasi selengkapnya, lihat Token Otorisasi.

reason

string (UTF-8)

String JSON passthrough yang memberikan konteks tambahan tentang operasi. JSON yang diberikan harus dibersihkan sebelum ditampilkan. Ukuran maks: 1 KB.

Langkah-langkah pemrosesan yang diperlukan

KACLS harus melakukan setidaknya langkah-langkah berikut:

  • Validasi token otorisasi dan autentikasi. Untuk mengetahui informasi selengkapnya, lihat Token Otorisasi dan Token Autentikasi.
  • Pastikan token otorisasi dan autentikasi adalah untuk pengguna yang sama. Untuk mengetahui informasi selengkapnya, lihat Mengenkripsi dan mendekripsi data.
  • Pastikan klaim kacls_url di token otorisasi cocok dengan URL KACLS saat ini. Hal ini memungkinkan deteksi potensi server man-in-the-middle yang dikonfigurasi oleh orang dalam atau admin domain jahat.
  • Jika klaim kacls_owner_domain ada di token otorisasi, periksa apakah nilai tersebut cocok dengan domain Google Workspace pemilik KACLS. Tindakan ini membantu mencegah pengguna yang tidak sah mendaftarkan KACLS Anda ke Google.
  • Mencatat operasi, termasuk pengguna yang memulainya, delegated_to, resource_name, dan alasan yang diteruskan dalam permintaan.
  • Buat, tandatangani, dan tampilkan token JWT yang berisi klaim delegated_to dan resource_name dari token otorisasi.

KACLS gratis untuk melakukan pemeriksaan keamanan tambahan, termasuk yang berbasis klaim JWT.

Isi respons

Jika berhasil, metode ini akan menampilkan JWT autentikasi yang berisi klaim delegated_to dan resource_name. Token ini nantinya dapat digunakan untuk autentikasi dalam panggilan ke metode Wrap dan Unwrap. Jika terjadi error, respons error terstruktur harus ditampilkan.

Representasi JSON
{
  "delegated_authentication": string
}
Kolom
delegated_authentication

string

JWT autentikasi yang didelegasikan yang valid untuk mengakses resource_name oleh pengguna yang disebutkan dalam JWT autentikasi asli. Untuk mengetahui informasi selengkapnya, lihat Token autentikasi KACLS untuk delegate.

Contoh

Permintaan

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'}"
}

Tanggapan

{
  "delegated_authentication": "eyJhbGciOi...delegated_to_from_authz_token...resource_name_from_authz_token...}"
}