Menyematkan informasi sensitif seperti password database dan API keys secara langsung dalam aplikasi dapat menyebabkan kebocoran kredensial. Key Management Service (KMS) Credential Manager memungkinkan Anda menyimpan dan mengenkripsi data sensitif secara terpusat. Aplikasi dapat mengambil nilai kredensial secara dinamis melalui jaringan VPC menggunakan SDK, sehingga tidak perlu menyematkan data sensitif dalam kode. Topik ini menjelaskan cara membuat kredensial dan mengintegrasikannya ke dalam aplikasi Anda.
Jenis kredensial
KMS menyediakan manajemen siklus hidup penuh untuk kredensial, termasuk pembuatan, pembaruan, rotasi, dan penghapusan. Aplikasi mengambil nilai kredensial secara dinamis melalui SDK untuk menghindari hardcoding data sensitif dalam kode.
Credential type | Scenario | Description |
Generic credential | Simpan data sensitif apa pun dalam format pasangan kunci-nilai atau teks biasa | Cocok untuk API keys, connection strings, teks sertifikat, dan lainnya. Data sensitif harus memiliki panjang maksimal 30.720 byte (30 KB). |
RAM credential | Manage AccessKey pairs of RAM users | Pilih RAM user yang sudah ada untuk mengelola pasangan AccessKey-nya. Nama kredensial dibuat otomatis berdasarkan username RAM. Mendukung rotasi otomatis. |
Database credential (RDS) | Manage RDS database accounts and passwords | Asosiasikan dengan instans RDS untuk mengelola akun database. Mendukung mode dual-account agar rotasi berjalan lancar tanpa gangguan koneksi. |
Database credential (PolarDB) | Manage PolarDB database accounts and passwords | Asosiasikan dengan instans PolarDB MySQL/PostgreSQL. Hanya mendukung mode dual-account dan pembuatan akun satu klik. |
Database credential (Redis) | Manage Redis/Tair instance accounts and passwords | Asosiasikan dengan instans Redis atau Tair. Hanya mendukung mode dual-account. KMS secara otomatis membuat dua akun dengan hak akses identik di database. |
ECS credential | Manage logon passwords or SSH key pairs for ECS instances | Asosiasikan dengan instans ECS dan pengguna sistem. Mendukung format password maupun pasangan kunci SSH. |
Prasyarat
Kunci simetris telah dibuat dalam instans KMS Anda untuk mengenkripsi kredensial. Kunci dan kredensial harus berada dalam instans KMS yang sama. Untuk informasi lebih lanjut, lihat Create a key.
Langkah 1: Buat kredensial
Anda dapat mengaktifkan rotasi otomatis saat membuat kredensial. KMS akan memperbarui nilai kredensial secara berkala untuk mengurangi risiko kebocoran kredensial. Berikut ini penjelasan cara membuat masing-masing jenis kredensial.
Generic credential
Generic credentials tidak mendukung pengaturan rotasi saat pembuatan. Untuk merotasi generic credential, lihat Rotate a generic secret.
Login ke Key Management Service console. Di bilah navigasi atas, pilih wilayah. Di panel navigasi kiri, pilih .
Di tab Customer-managed Secrets, klik tab Type, lalu klik Generic Secrets.
Klik Create Generic Secret di bagian atas daftar sebelah kanan. Lengkapi konfigurasi berikut, lalu klik OK.
Parameter
Description
Secret Name
Nama kredensial kustom. Harus unik dalam wilayah saat ini.
Secret Value
Pilih Secret Key/Value atau Plain Text dan masukkan data sensitif yang akan disimpan. Nilainya harus memiliki panjang maksimal 30.720 byte (30 KB).
Initial Version
Nomor versi awal. Nilai default: v1. Nilai kustom didukung.
CMK
Pilih kunci simetris yang digunakan untuk mengenkripsi nilai kredensial. Kunci dan kredensial harus berada dalam instans KMS yang sama.
PentingKunci dan kredensial harus berada dalam instans KMS yang sama, dan kuncinya harus berupa kunci simetris. Untuk informasi lebih lanjut tentang kunci simetris yang didukung oleh KMS, lihat Key types and specifications.
Jika menggunakan RAM user atau RAM role, entitas tersebut harus memiliki izin untuk menjalankan operasi GenerateDataKey menggunakan encryption master key.
Description
Deskripsi opsional untuk kredensial guna identifikasi dan manajemen.
Atur kebijakan akses untuk kredensial guna mengontrol RAM user atau role mana yang dapat membaca atau mengubahnya.
Anda dapat memilih kebijakan default terlebih dahulu dan mengubahnya nanti sesuai kebutuhan.
RAM credential
Login ke Key Management Service console. Di bilah navigasi atas, pilih wilayah. Di panel navigasi kiri, pilih .
Di tab Customer-managed Secrets, klik tab Type, lalu klik RAM Secrets.
Klik Create RAM Secret di bagian atas daftar sebelah kanan. Lengkapi konfigurasi berikut, lalu klik OK.
Parameter
Description
Select RAM User
Pilih RAM user yang kredensialnya ingin Anda kelola. Pengguna tersebut harus memiliki setidaknya satu pasangan AccessKey. Nama kredensial dibuat otomatis berdasarkan username RAM.
Jika pengguna belum memiliki pasangan AccessKey, buat terlebih dahulu.
Secret Value
Masukkan rahasia AccessKey. Nilainya harus memiliki panjang maksimal 30.720 byte (30 KB).
CMK
Pilih kunci simetris yang digunakan untuk mengenkripsi nilai kredensial. Kunci dan kredensial harus berada dalam instans KMS yang sama.
PentingKunci dan kredensial harus berada dalam instans KMS yang sama, dan kuncinya harus berupa kunci simetris. Untuk informasi lebih lanjut tentang kunci simetris yang didukung oleh KMS, lihat Key types and specifications.
Jika menggunakan RAM user atau RAM role, entitas tersebut harus memiliki izin untuk menjalankan operasi GenerateDataKey menggunakan encryption master key.
Automatic Rotation
Pilih apakah akan mengaktifkan rotasi otomatis. Jika diaktifkan, KMS akan memperbarui nilai kredensial secara berkala untuk mengurangi risiko kebocoran kredensial.
Days (7 Days to 365 Days)
Atur parameter ini hanya jika rotasi otomatis diaktifkan. Menentukan interval rotasi.
Description
Deskripsi opsional untuk kredensial guna identifikasi dan manajemen.
Atur kebijakan akses untuk kredensial guna mengontrol RAM user atau role mana yang dapat membaca atau mengubahnya.
Anda dapat memilih kebijakan default terlebih dahulu dan mengubahnya nanti sesuai kebutuhan.
Database credential (RDS)
Hanya Create Single Secret yang didukung.
Login ke Key Management Service console. Di bilah navigasi atas, pilih wilayah. Di panel navigasi kiri, pilih .
Di tab Customer-managed Secrets, klik tab Type, lalu klik Database Secrets.
Klik Create Database Secret > Create Single Secret di bagian atas daftar sebelah kanan. Lengkapi konfigurasi berikut, lalu klik OK.
Parameter
Description
Database Type
Pilih ApsaraDB RDS Secrets.
Secret Name
Nama kredensial kustom. Harus unik dalam wilayah saat ini.
ApsaraDB RDS Instance
Pilih instans RDS di bawah Akun Alibaba Cloud Anda.
Account Management
Manage Dual Accounts (Direkomendasikan): Cocok untuk akses database terprogram. KMS mengelola dua akun dengan hak akses identik untuk menghindari gangguan koneksi selama rotasi.
Klik Create Account untuk mengonfigurasi nama akun, memilih database, dan menentukan hak akses.
CatatanPembuatan dan otorisasi satu klik tidak langsung membuat akun baru. Akun tersebut dibuat setelah Anda meninjau dan mengonfirmasi informasi kredensial.
Untuk RDS PostgreSQL, Anda tidak dapat memperoleh nama database selama pembuatan. Anda harus mengatur DBName secara manual.
Klik Import Existing Accounts untuk memilih username dan mengonfigurasi password.
CatatanKami menyarankan Anda mengatur password sesuai dengan yang digunakan saat membuat akun pengguna instans RDS. Jika username dan password yang diimpor tidak cocok, Anda dapat memperoleh akun dan password yang benar setelah rotasi kredensial pertama.
Manage Single Account: Cocok untuk akun istimewa atau skenario hosting akun O&M manual. Versi kredensial saat ini mungkin sementara tidak tersedia segera setelah reset password.
Klik Create Account untuk mengonfigurasi nama akun dan memilih jenis akun.
Mendukung Standard Account dan Privileged Account. Saat memilih Standard Account, Anda juga harus memilih database dan menentukan hak akses.
Klik tab Import Existing Accounts untuk memilih username dan mengonfigurasi password.
CMK
Pilih kunci simetris yang digunakan untuk mengenkripsi nilai kredensial. Kunci dan kredensial harus berada dalam instans KMS yang sama.
PentingKunci dan kredensial harus berada dalam instans KMS yang sama, dan kuncinya harus berupa kunci simetris. Untuk informasi lebih lanjut tentang kunci simetris yang didukung oleh KMS, lihat Key types and specifications.
Jika menggunakan RAM user atau RAM role, entitas tersebut harus memiliki izin untuk menjalankan operasi GenerateDataKey menggunakan encryption master key.
Automatic Rotation
Pilih apakah akan mengaktifkan rotasi otomatis. Jika diaktifkan, KMS akan memperbarui nilai kredensial secara berkala untuk mengurangi risiko kebocoran kredensial.
Rotation Period
Atur parameter ini hanya jika rotasi otomatis diaktifkan. Nilai valid: 6 jam hingga 365 hari.
Menentukan interval rotasi. KMS akan memperbarui nilai kredensial secara berkala berdasarkan pengaturan ini.
Description
Deskripsi opsional untuk kredensial guna identifikasi dan manajemen.
Atur kebijakan akses untuk kredensial guna mengontrol RAM user atau role mana yang dapat membaca atau mengubahnya.
Anda dapat memilih kebijakan default terlebih dahulu dan mengubahnya nanti sesuai kebutuhan.
Database credential (PolarDB)
Hanya Create Single Secret yang didukung, dan hanya untuk PolarDB MySQL/PostgreSQL dengan Create Account dan Manage Dual Accounts. Import Existing Accounts dan Manage Single Account tidak didukung.
Login ke Key Management Service console. Di bilah navigasi atas, pilih wilayah. Di panel navigasi kiri, pilih .
Di tab Customer-managed Secrets, klik tab Type, lalu klik Database Secrets.
Klik Create Database Secret > Create Single Secret di bagian atas daftar sebelah kanan. Lengkapi konfigurasi berikut, lalu klik OK.
Parameter
Description
Database Type
Pilih PolarDB Secret.
Secret Name
Nama kredensial kustom. Harus unik dalam wilayah saat ini.
PolarDB Cluster
Pilih instans PolarDB di bawah Akun Alibaba Cloud Anda.
Account Management
Manage Dual Accounts: Cocok untuk akses database terprogram. KMS membuat dua akun standar dengan hak akses identik untuk menghindari gangguan koneksi selama rotasi.
Create Account: Konfigurasikan nama akun dan hak akses. Hanya Standard Account yang didukung. Untuk MySQL, Anda juga harus memilih database dan menentukan hak akses.
CatatanPembuatan dan otorisasi satu klik tidak langsung membuat akun baru. Akun tersebut dibuat setelah Anda meninjau dan mengonfirmasi informasi kredensial.
Nama akun harus unik. Jika nama akun sudah ada, akun tersebut tidak dapat di-host sebagai kredensial.
CMK
Pilih kunci simetris yang digunakan untuk mengenkripsi nilai kredensial. Kunci dan kredensial harus berada dalam instans KMS yang sama.
PentingKunci dan kredensial harus berada dalam instans KMS yang sama, dan kuncinya harus berupa kunci simetris. Untuk informasi lebih lanjut tentang kunci simetris yang didukung oleh KMS, lihat Key types and specifications.
Jika menggunakan RAM user atau RAM role, entitas tersebut harus memiliki izin untuk menjalankan operasi GenerateDataKey menggunakan encryption master key.
Automatic Rotation
Pilih apakah akan mengaktifkan rotasi otomatis. Jika diaktifkan, KMS akan memperbarui nilai kredensial secara berkala untuk mengurangi risiko kebocoran kredensial.
Rotation Period
Atur parameter ini hanya jika rotasi otomatis diaktifkan. Nilai valid: 6 jam hingga 365 hari.
Menentukan interval rotasi. KMS akan memperbarui nilai kredensial secara berkala berdasarkan pengaturan ini.
Description
Deskripsi opsional untuk kredensial guna identifikasi dan manajemen.
Atur kebijakan akses untuk kredensial guna mengontrol RAM user atau role mana yang dapat membaca atau mengubahnya.
Anda dapat memilih kebijakan default terlebih dahulu dan mengubahnya nanti sesuai kebutuhan.
Database credential (Redis)
Kedua opsi Create Single Secret dan Create Bulk Secrets didukung. Contoh berikut menggunakan Create single secret.
Login ke Key Management Service console. Di bilah navigasi atas, pilih wilayah. Di panel navigasi kiri, pilih .
Di tab Customer-managed Secrets, klik tab Type, lalu klik Database Secrets.
Klik Create Database Secret > Create Single Secret di bagian atas daftar sebelah kanan. Lengkapi konfigurasi berikut, lalu klik OK.
Parameter
Description
Database Type
Pilih ApsaraDB for Redis/Tair Instance.
Secret Name
Nama kredensial kustom. Harus unik dalam wilayah saat ini.
ApsaraDB for Redis/Tair Instance
Pilih instans Redis atau Tair di bawah Akun Alibaba Cloud Anda.
Account Management
Hanya Manage Dual Accounts yang didukung.
Secret Value
Hanya akun baru yang didukung. Akun Redis/Tair yang sudah ada tidak dapat di-host.
Account Name: Tentukan awalan username. KMS membuat dua akun database dengan hak akses identik dengan memanggil API. Misalnya, jika Anda menentukan
user, KMS membuatuserdanuser_clone.Permissions: Atur ke Read/Write atau Read-Only. Kedua akun baru memiliki hak akses yang sama.
CMK
Pilih kunci simetris yang digunakan untuk mengenkripsi nilai kredensial. Kunci dan kredensial harus berada dalam instans KMS yang sama.
PentingKunci dan kredensial harus berada dalam instans KMS yang sama, dan kuncinya harus berupa kunci simetris. Untuk informasi lebih lanjut tentang kunci simetris yang didukung oleh KMS, lihat Key types and specifications.
Jika menggunakan RAM user atau RAM role, entitas tersebut harus memiliki izin untuk menjalankan operasi GenerateDataKey menggunakan encryption master key.
Automatic Rotation
Pilih apakah akan mengaktifkan rotasi otomatis. Jika diaktifkan, KMS akan memperbarui nilai kredensial secara berkala untuk mengurangi risiko kebocoran kredensial.
Rotation Period
Atur parameter ini hanya jika rotasi otomatis diaktifkan. Nilai valid: 6 jam hingga 365 hari.
Menentukan interval rotasi. KMS akan memperbarui nilai kredensial secara berkala berdasarkan pengaturan ini.
Description
Deskripsi opsional untuk kredensial guna identifikasi dan manajemen.
Atur kebijakan akses untuk kredensial guna mengontrol RAM user atau role mana yang dapat membaca atau mengubahnya.
Anda dapat memilih kebijakan default terlebih dahulu dan mengubahnya nanti sesuai kebutuhan.
ECS credential
Login ke Key Management Service console. Di bilah navigasi atas, pilih wilayah. Di panel navigasi kiri, pilih .
Di tab Customer-managed Secrets, klik tab Type, lalu klik ECS Secrets.
Klik Create ECS Secret di bagian atas daftar sebelah kanan. Lengkapi konfigurasi berikut, lalu klik OK.
Parameter
Description
Secret Name
Nama kredensial kustom. Harus unik dalam wilayah saat ini.
Managed Instance
Pilih instans ECS di bawah Akun Alibaba Cloud Anda.
Managed User
Masukkan username pengguna yang sudah ada di instans ECS, seperti
root(Linux) atauAdministrator(Windows).Initial Secret Value
Nilai kredensial harus memiliki panjang maksimal 30.720 byte (30 KB).
Password: Kata sandi logon pengguna di instans ECS.
Key pair: Pasangan kunci SSH yang digunakan untuk login ke instans ECS.
CatatanNilai kredensial harus dikonfigurasi dengan benar. Jika nilai kredensial salah, password atau pasangan kunci yang diambil dari KMS tidak dapat digunakan untuk login ke instans ECS hingga kredensial tersebut diputar pertama kali.
CMK
Pilih kunci simetris yang digunakan untuk mengenkripsi nilai kredensial. Kunci dan kredensial harus berada dalam instans KMS yang sama.
PentingKunci dan kredensial harus berada dalam instans KMS yang sama, dan kuncinya harus berupa kunci simetris. Untuk informasi lebih lanjut tentang kunci simetris yang didukung oleh KMS, lihat Key types and specifications.
Jika menggunakan RAM user atau RAM role, entitas tersebut harus memiliki izin untuk menjalankan operasi GenerateDataKey menggunakan encryption master key.
Automatic Rotation
Pilih apakah akan mengaktifkan rotasi otomatis. Jika diaktifkan, KMS akan memperbarui nilai kredensial secara berkala untuk mengurangi risiko kebocoran kredensial.
Rotation Period
Atur parameter ini hanya jika rotasi otomatis diaktifkan. Nilai valid: 1 jam hingga 365 hari.
Menentukan interval rotasi. KMS akan memperbarui nilai kredensial secara berkala berdasarkan pengaturan ini.
Description
Deskripsi opsional untuk kredensial guna identifikasi dan manajemen.
Atur kebijakan akses untuk kredensial guna mengontrol RAM user atau role mana yang dapat membaca atau mengubahnya.
Anda dapat memilih kebijakan default terlebih dahulu dan mengubahnya nanti sesuai kebutuhan.
Setelah kredensial dibuat, kredensial tersebut muncul dalam daftar kredensial. Verifikasi bahwa nama dan jenis kredensial sudah benar serta statusnya "Enabled".
Langkah 2: Ambil kredensial dalam aplikasi Anda
Contoh ini menggunakan Alibaba Cloud SDK untuk Java guna mengambil kredensial secara dinamis.
Persiapan
Siapkan lingkungan runtime SDK.
Requirement: Java 8 atau yang lebih baru telah diinstal.
Verification: Jalankan
java -versiondi terminal untuk memastikan versinya.Instal SDK. Tambahkan dependensi Maven berikut ke proyek Anda menggunakan Alibaba Cloud SDK V2.0.
PentingKami menyarankan Anda menggunakan versi terbaru. Kunjungi kms-20160120 untuk informasi versi terbaru dan kode sumber.
<dependency> <groupId>com.aliyun</groupId> <artifactId>kms20160120</artifactId> <version>1.4.0</version> </dependency>Buat kredensial autentikasi. Alibaba Cloud SDK mendukung beberapa metode autentikasi. Contoh ini menggunakan pasangan AccessKey RAM user.
Buat pasangan AccessKey untuk RAM user di RAM console. Lewati langkah ini jika Anda sudah memiliki pasangan AccessKey.
Berikan izin kepada RAM user untuk mengakses KMS. Untuk mengambil nilai kredensial, lampirkan kebijakan sistem
AliyunKMSSecretUserAccessdanAliyunKMSCryptoUserAccess. Untuk informasi lebih lanjut, lihat Configure policies.CatatanKMS menyediakan dua metode konfigurasi izin akses:
Kebijakan berbasis identitas: Mengontrol akses dengan mengaitkan identitas dengan izin yang sesuai. Untuk informasi lebih lanjut, lihat Identity-based policy configuration.
Kebijakan berbasis resource: Termasuk kebijakan kunci dan kebijakan kredensial yang langsung dikaitkan dengan resource untuk menentukan aturan akses ke resource tertentu. Untuk informasi lebih lanjut, lihat Key policy configuration dan Credential policy configuration.
Dapatkan sertifikat CA untuk instans KMS Anda.
Di halaman Instances, klik tab Software Key Management atau Hardware Key Management, lalu pilih instans KMS target.
Klik ID instans atau klik Details di kolom Actions. Di halaman Details, di bagian Instance CA Certificate, klik Download dan simpan sertifikat dengan aman.
CatatanFile sertifikat CA yang diunduh secara default diberi nama
PrivateKmsCA_kst-******.pem.
Dapatkan titik akhir VPC instans KMS Anda.
Di halaman Instances, klik tab Software Key Management atau Hardware Key Management, lalu pilih instans KMS target.
Klik ID instans untuk membuka halaman detail dan lihat Instance VPC Endpoint.
Ambil kredensial
Inisialisasi klien SDK.
CatatanSebelum menjalankan kode contoh, ganti placeholder berikut dengan nilai aktual:
<VPC endpoint>: Ganti dengan titik akhir VPC instans KMS Anda.<CA certificate>: Ganti dengan konten aktual sertifikat CA instans KMS.<SecretName>: Ganti dengan nama kredensial yang dibuat di Langkah 1.
public static com.aliyun.kms20160120.Client createClient() throws Exception { // Code leaks may cause AccessKey compromise and threaten the security of all resources under your account. The following sample code is for reference only. // We recommend that you use STS for more secure authentication. For more information, see https://www.alibabacloud.com/help/document_detail/378657.html. com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config() // Required. Make sure the ALIBABA_CLOUD_ACCESS_KEY_ID environment variable is set. .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")) // Required. Make sure the ALIBABA_CLOUD_ACCESS_KEY_SECRET environment variable is set. .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")); // Enter the VPC endpoint of your KMS instance, for example, kst-hzz65f176a0ogplgq****.cryptoservice.kms.aliyuncs.com config.endpoint = "<VPC endpoint>"; // Enter the CA certificate content of your KMS instance config.ca = "<CA certificate>"; return new com.aliyun.kms20160120.Client(config); }Panggil operasi
GetSecretValueuntuk mengambil nilai kredensial.// This file is auto-generated, don't edit it. Thanks. package com.aliyun.sample; import com.aliyun.tea.*; public class Sample { public static com.aliyun.kms20160120.Client createClient() throws Exception { // Code leaks may cause AccessKey compromise and threaten the security of all resources under your account. The following sample code is for reference only. // We recommend that you use STS for more secure authentication. For more information, see https://www.alibabacloud.com/help/document_detail/378657.html. com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config() // Required. Make sure the ALIBABA_CLOUD_ACCESS_KEY_ID environment variable is set. .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")) // Required. Make sure the ALIBABA_CLOUD_ACCESS_KEY_SECRET environment variable is set. .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")); // Enter the VPC endpoint of your KMS instance, for example, kst-hzz65f176a0ogplgq****.cryptoservice.kms.aliyuncs.com config.endpoint = "<VPC endpoint>"; // Enter the CA certificate content of your KMS instance config.ca = "<CA certificate>"; return new com.aliyun.kms20160120.Client(config); } public static void main(String[] args_) throws Exception { java.util.List<String> args = java.util.Arrays.asList(args_); com.aliyun.kms20160120.Client client = Sample.createClient(); com.aliyun.kms20160120.models.GetSecretValueRequest getSecretValueRequest = new com.aliyun.kms20160120.models.GetSecretValueRequest() .setSecretName("<SecretName>"); com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions(); try { // Replace with your own logic to process the API response client.getSecretValueWithOptions(getSecretValueRequest, runtime); } catch (TeaException error) { // Print for demonstration only. Handle exceptions carefully in production. // Error message System.out.println(error.getMessage()); // Diagnostic URL System.out.println(error.getData().get("Recommend")); com.aliyun.teautil.Common.assertAsString(error.message); } catch (Exception _error) { TeaException error = new TeaException(_error.getMessage(), _error); // Print for demonstration only. Handle exceptions carefully in production. // Error message System.out.println(error.getMessage()); // Diagnostic URL System.out.println(error.getData().get("Recommend")); com.aliyun.teautil.Common.assertAsString(error.message); } } }
Setelah pemanggilan berhasil, SDK mengembalikan objek respons yang berisi field seperti SecretName dan SecretData. Cetak response.body.secretData untuk melihat nilai kredensial, lalu gunakan dalam aplikasi Anda untuk mengakses layanan yang sesuai guna memverifikasi konektivitas.