Agen Agent Development Kit (ADK) berinteraksi dengan layanan eksternal di luar Google Cloud. Baik identitas agen maupun Identity and Access Management (IAM) memungkinkan Anda melakukan autentikasi dengan layanan Google Cloud. Namun, mereka tidak dapat membuktikan identitas ke platform eksternal yang tidak mendukung federasi identitas Google.
Agen ADK memerlukan akses ke berbagai kredensial untuk berinteraksi dengan entitas eksternal seperti layanan MCP, alat ADK, dan API. Contoh umum meliputi:
- Kunci API untuk platform pemrosesan pembayaran
- Kombinasi nama pengguna dan sandi untuk database lokal lama
- Kunci pribadi untuk koneksi mutual TLS (mTLS)
SecretManagerClient
dalam paket google.adk.integrations.secret_manager.secret_client. Modul ini menyediakan antarmuka standar bagi agen untuk mengambil secret dari Secret Manager saat runtime.
Dokumen ini menjelaskan cara mengelola secret untuk layanan eksternal di ADK menggunakan Secret Manager.
Keuntungan menggunakan Secret Manager dengan ADK
Pengelolaan secret secara manual dapat menimbulkan risiko keamanan dan meningkatkan kesulitan developer. Secret Manager dapat membantu mengatasi masalah ini melalui hal berikut:
- Jika menyematkan secret dalam kode agen, Anda akan menimbulkan risiko keamanan yang signifikan. Praktik ini dapat menyebabkan akses tidak sah ke sistem produksi. Menggunakan Secret Manager akan menghapus data sensitif dari kode sumber Anda. Hal ini membantu membuat aplikasi Anda lebih aman.
- Jika Anda menyematkan secret statis melalui variabel lingkungan, rotasi kredensial menjadi rumit. Untuk menerapkan update, Anda harus memulai ulang penampung deployment. Secret Manager mengambil kredensial secara dinamis saat runtime, yang memungkinkan pembaruan tanpa waktu non-operasional sistem.
- Jika Anda menulis kode boilerplate
SecretManagerServiceClientkustom untuk setiap alat, Anda meningkatkan kerja keras developer dan risiko error. Integrasi ADK yang standar memberikan pendekatan yang bersih dan dapat digunakan kembali untuk mengambil kredensial.
Sebelum memulai
Sebelum Anda mengintegrasikan Secret Manager dengan ADK, selesaikan langkah-langkah berikut:
- Siapkan agen menggunakan ADK. Fitur ini memerlukan ADK versi 1.29 atau yang lebih baru untuk Python.
- Berikan peran IAM
Secret Manager Secret Accessorke identitas agen. Peran ini memungkinkan agen Anda mengambil secret saat runtime. - Buat secret dan tambahkan versi secret, seperti kunci API, di Secret Manager.
Cara agen ADK mengambil secret saat runtime
Modul secret_client.SecretManagerClient mengambil kredensial
ke dalam logika kode agen Python saat runtime. Logika orkestrasi agen
mengirimkan perintah ke model bahasa besar (LLM) untuk memutuskan alat mana yang akan dijalankan,
tetapi sistem tidak mengirimkan rahasia ke LLM.
Agen menjalankan langkah-langkah berikut selama fase runtime:
- Sebelum agen ADK memanggil alat pihak ketiga, agen menginisialisasi
modul
SecretManagerClientdan memanggil fungsiget_secret(). - Agen ADK menggunakan identitas agen untuk mengautentikasi dengan Secret Manager.
- Modul
SecretManagerClientmenampilkan secret teks biasa ke agen ADK. - Agen ADK menggunakan rahasia untuk melakukan panggilan yang diautentikasi ke alat pihak ketiga.
Mengambil secret dalam agen ADK saat runtime
Contoh kode berikut menunjukkan cara menggunakan
modul SecretManagerClient untuk mengambil rahasia secara aman dalam agen
ADK. Agen mengambil rahasia secara internal untuk mencegah tereksposnya kredensial sensitif ke jendela konteks atau histori percakapan LLM.
Python
Untuk menjalankan kode ini, pertama-tama siapkan lingkungan pengembangan Python dan instal Secret Manager Python SDK. Di Compute Engine atau GKE, Anda harus melakukan autentikasi dengan cakupan cloud-platform.
Langkah berikutnya
- Jelajahi Agent Development Kit.