Anda dapat mengambil nilai rahasia menggunakan Alibaba Cloud SDK melalui gateway bersama atau gateway khusus. Dokumen ini menjelaskan cara melakukannya.
OpenAPI Terkait
GetSecretValue: Mengambil nilai rahasia.
Perbedaan konfigurasi antara gateway bersama dan gateway khusus
Satu-satunya perbedaan antara penggunaan gateway bersama dan gateway khusus terletak pada konfigurasi saat inisialisasi klien:
Parameter | Gateway bersama | Gateway khusus |
endpoint | Titik akhir gateway bersama harus dikonfigurasi dengan salah satu format berikut:
| Titik akhir gateway khusus harus dikonfigurasi sesuai format: |
ca | Tidak diperlukan. |
|
Mendapatkan nilai rahasia melalui gateway bersama
Contoh lengkap
package com.aliyun.sample;
import com.aliyun.tea.*;
public class Sample {
/**
* :
* <p>Gunakan ID AccessKey dan Rahasia AccessKey Anda untuk menginisialisasi klien.</p>
* @return Client
*
* @throws Exception
*/
public static com.aliyun.kms20160120.Client createClient() throws Exception {
// Jika kode proyek bocor, pasangan AccessKey mungkin bocor dan sumber daya di akun Anda menjadi tidak aman. Kode berikut hanya untuk referensi.
// Kami menyarankan Anda menggunakan Token Layanan Keamanan (STS), yang memberikan keamanan lebih tinggi. Untuk informasi lebih lanjut tentang metode otentikasi, lihat https://www.alibabacloud.com/help/en/sdk/developer-reference/v2-manage-access-credentials.
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
// Diperlukan. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dikonfigurasi dalam lingkungan runtime kode.
.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
// Diperlukan. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET dikonfigurasi dalam lingkungan runtime kode.
.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
// Untuk informasi lebih lanjut tentang titik akhir, lihat https://api.alibabacloud.com/product/Kms.
config.endpoint = "kms.ap-southeast-1.aliyuncs.com";
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("test****");
com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
try {
// Jika Anda menyalin dan menjalankan kode contoh, tulis kode Anda sendiri untuk menampilkan respons dari operasi API jika diperlukan.
client.getSecretValueWithOptions(getSecretValueRequest, runtime);
} catch (TeaException error) {
// Tangani pengecualian dengan hati-hati berdasarkan skenario bisnis aktual Anda dan jangan abaikan pengecualian dalam proyek Anda. Pesan kesalahan yang ditampilkan dalam contoh ini hanya untuk referensi.
// Cetak pesan kesalahan
System.out.println(error.getMessage());
// Berikan URL yang digunakan untuk pemecahan masalah.
System.out.println(error.getData().get("Recommend"));
com.aliyun.teautil.Common.assertAsString(error.message);
} catch (Exception _error) {
TeaException error = new TeaException(_error.getMessage(), _error);
// Tangani pengecualian dengan hati-hati berdasarkan skenario bisnis aktual Anda dan jangan abaikan pengecualian dalam proyek Anda. Pesan kesalahan yang ditampilkan dalam contoh ini hanya untuk referensi.
// Cetak pesan kesalahan
System.out.println(error.getMessage());
// Berikan URL yang digunakan untuk pemecahan masalah.
System.out.println(error.getData().get("Recommend"));
com.aliyun.teautil.Common.assertAsString(error.message);
}
}
}Analisis contoh
Inisialisasi klien
Panggil operasi GetSecretValue untuk mendapatkan nilai rahasia
Memperoleh nilai rahasia melalui gateway khusus
Contoh lengkap
package com.aliyun.sample;
import com.aliyun.tea.*;
public class Sample {
/**
* :
* <p>Gunakan ID AccessKey dan Rahasia AccessKey Anda untuk menginisialisasi klien.</p>
* @return Client
*
* @throws Exception
*/
public static com.aliyun.kms20160120.Client createClient() throws Exception {
// Jika kode proyek bocor, pasangan AccessKey mungkin bocor dan sumber daya di akun Anda menjadi tidak aman. Kode berikut hanya untuk referensi.
// Kami menyarankan Anda menggunakan Token Layanan Keamanan (STS), yang memberikan keamanan lebih tinggi. Untuk informasi lebih lanjut tentang metode autentikasi, lihat https://www.alibabacloud.com/help/en/sdk/developer-reference/v2-manage-access-credentials.
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
// Diperlukan. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dikonfigurasi dalam lingkungan waktu proses kode.
.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
// Diperlukan. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET dikonfigurasi dalam lingkungan waktu proses kode.
.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
// Titik akhir gateway khusus
config.endpoint = "kst-hzz65f176a0ogplgq****.cryptoservice.kms.aliyuncs.com";
// Sertifikat CA instance KMS
config.ca = "-----BEGIN CERTIFICATE-----MIIDuzCCAqOgAwIBAgIJALTKwWAjvbMiMA0GCS****";
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("test****");
com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
try {
// Jika Anda menyalin dan menjalankan kode contoh, tulis kode Anda sendiri untuk menampilkan respons dari Operasi API jika diperlukan.
client.getSecretValueWithOptions(getSecretValueRequest, runtime);
} catch (TeaException error) {
// Tangani pengecualian dengan hati-hati berdasarkan skenario bisnis aktual Anda dan jangan abaikan pengecualian dalam proyek Anda. Pesan kesalahan yang ditampilkan dalam contoh ini hanya untuk referensi.
// Cetak pesan kesalahan
System.out.println(error.getMessage());
// Berikan URL yang digunakan untuk pemecahan masalah.
System.out.println(error.getData().get("Recommend"));
com.aliyun.teautil.Common.assertAsString(error.message);
} catch (Exception _error) {
TeaException error = new TeaException(_error.getMessage(), _error);
// Tangani pengecualian dengan hati-hati berdasarkan skenario bisnis aktual Anda dan jangan abaikan pengecualian dalam proyek Anda. Pesan kesalahan yang ditampilkan dalam contoh ini hanya untuk referensi.
// Cetak pesan kesalahan
System.out.println(error.getMessage());
// Berikan URL yang digunakan untuk pemecahan masalah.
System.out.println(error.getData().get("Recommend"));
com.aliyun.teautil.Common.assertAsString(error.message);
}
}
}