全部产品
Search
文档中心

Key Management Service:Plug-in kredensial RAM

更新时间:Dec 05, 2025

Setelah menyimpan AccessKey Pengguna RAM di Key Management Service (KMS), Anda dapat menginstal plug-in kredensial RAM. Saat menggunakan Alibaba Cloud SDK, cukup merujuk nama kredensial RAM untuk mengambil AccessKey guna autentikasi API—tanpa perlu mengelola atau memutar AccessKey secara manual. Topik ini menjelaskan cara kerja plug-in kredensial RAM, serta cara menginstal dan menggunakannya.

Cara kerja

Plug-in kredensial RAM mengambil nilai kredensial RAM dari KMS berdasarkan nama kredensial tersebut dan menyimpannya dalam cache di memori aplikasi. Saat aplikasi menggunakan Alibaba Cloud SDK, permintaan dikirim ke layanan Alibaba Cloud menggunakan AccessKey dari cache lokal plug-in.

Jika AccessKey yang di-cache secara lokal menjadi tidak valid karena rotasi kredensial atau alasan lain, plug-in segera mengambil kembali kredensial dari KMS dan memperbarui cache lokal. Berdasarkan perilaku pengulangan (retry) yang dikonfigurasi, plug-in kemudian mencoba ulang panggilan layanan Alibaba Cloud dengan kredensial RAM yang baru diperoleh. Secara default, plug-in mengenali AccessKey tidak valid berdasarkan kode kesalahan InvalidAccessKeyId dan InvalidAccessKeyId.NotFound dalam respons layanan.

Alibaba Cloud SDK yang didukung

KMS menyediakan plug-in kredensial RAM untuk Alibaba Cloud SDK yang tercantum dalam tabel berikut.

Penting

Plug-in kredensial RAM dikembangkan secara terpisah untuk setiap Alibaba Cloud SDK. Jika plug-in RAM tidak memenuhi kebutuhan Anda, Anda dapat menggunakan credentials client atau Alibaba Cloud SDK. Untuk informasi selengkapnya tentang setiap SDK, lihat Referensi SDK. Anda juga dapat menghubungi helpdesk untuk memberikan masukan.

SDK untuk Java (hanya mendukung Java 8 ke atas)

Nama Alibaba Cloud SDK

Nama modul plug-in kredensial RAM

Alibaba Cloud SDK for Java (V2.0)

aliyun-java-tea-openapi-sdk-managed-credentials-provider

Alibaba Cloud SDK for Java (V1.0)

aliyun-java-sdk-managed-credentials-provider

OSS SDK for Java V1

aliyun-oss-java-sdk-managed-credentials-provider

Message Queue Commercial Edition TCP Protocol SDK for Java

ons-client-managed-credentials-provider

SDK untuk Python

Nama Alibaba Cloud SDK

Nama modul plug-in kredensial RAM

Catatan

Alibaba Cloud SDK for Python (V1.0)

aliyun-openapi-python-sdk-managed-credentials-provider

Hanya V1.0 yang didukung. V2.0 tidak didukung. Untuk V2.0, gunakan credentials client atau Alibaba Cloud SDK.

OSS SDK for Python

aliyun-oss-python-sdk-managed-credentials-provider

Tidak ada.

SDK untuk Go

Nama Alibaba Cloud SDK

Nama modul plug-in kredensial RAM

Catatan

Alibaba Cloud SDK for Go (V1.0)

alibaba-cloud-sdk-go-managed-credentials-provider

Hanya V1.0 yang didukung. V2.0 tidak didukung. Untuk V2.0, gunakan credentials client atau Alibaba Cloud SDK.

OSS SDK for Go

aliyun-oss-go-sdk-managed-credentials-provider

Tidak ada.

Langkah 1: Buat kredensial akses

Skenario 1: Dapatkan nilai kredensial melalui gateway bersama

Skenario ini berlaku untuk jenis jaringan publik dan jaringan VPC. Kredensial akses yang didukung mencakup role RAM instans ECS dan ClientKey.

Role RAM instans ECS

ClientKey

Skenario 2: Dapatkan nilai kredensial melalui gateway khusus (tidak disarankan)

Skenario ini berlaku untuk jenis jaringan pribadi KMS. Hanya ClientKey yang didukung sebagai kredensial akses.

Langkah 2: Konfigurasikan parameter runtime plug-in kredensial RAM dalam file konfigurasi

Plug-in kredensial RAM memerlukan file konfigurasi untuk mengatur parameter runtime. Anda dapat membuat file konfigurasi bernama managed_credentials_providers.properties di direktori runtime aplikasi Anda dan menambahkan konten berdasarkan metode autentikasi.

Catatan

Jika aplikasi Anda tidak dapat membaca file managed_credentials_providers.properties secara otomatis, lihat contoh kode untuk mempelajari cara membaca file tersebut dengan mengatur jalur file dalam kode Anda.

Role RAM instans ECS

Berikut adalah isi file konfigurasi.

credentials_type=ecs_ram_role
## Nama Role RAM ECS
credentials_role_name=#credentials_role_name#
## Wilayah layanan KMS terkait
cache_client_region_id=[{"regionId":"#regionId#"}]

ClientKey (gateway bersama)

Anda dapat memperoleh nilai kredensial melalui titik akhir gateway bersama KMS. Berikut adalah isi file konfigurasi.

## Jenis kredensial akses.
credentials_type=client_key

## Kata sandi kredensial untuk client key. Anda dapat membacanya dari variabel lingkungan atau file.
## Kata sandi kredensial (ClientKeyPassword) yang Anda simpan saat membuat ClientKey di titik akses aplikasi (AAP).
client_key_password_from_env_variable=#nama variabel lingkungan kata sandi kunci privat client key Anda#
client_key_password_from_file_path=#jalur file kata sandi kunci privat client key Anda#

# Jalur ke file ClientKey.
# File ClientKey adalah konten kredensial identitas aplikasi (ClientKeyContent) yang Anda unduh saat membuat ClientKey di AAP.
# Nama file default setelah diunduh adalah ClientKey_******.json.
client_key_private_key_path=#jalur file kunci privat client key Anda#

## Wilayah layanan KMS terkait.
cache_client_region_id=[{"regionId":"#regionId#"}]

ClientKey (gateway khusus)

Anda dapat memperoleh nilai kredensial melalui titik akhir gateway khusus KMS. Berikut adalah isi file konfigurasi.

Parameter konfigurasi adalah cache_client_dkms_config_info. cache_client_dkms_config_info menggunakan format array JSON. Anda dapat mengonfigurasi beberapa instans KMS untuk mencapai ketersediaan layanan dan pemulihan bencana yang lebih tinggi.

  • Metode 1: Ambil kata sandi ClientKey dari variabel lingkungan

    Isi file konfigurasi adalah:

    cache_client_dkms_config_info=[{"regionId":"<your dkms regionId >","endpoint":"<your dkms endpoint>","passwordFromEnvVariable":"<YOUR_PASSWORD_ENV_VARIABLE>","clientKeyFile":"<your ClientKey file path>","ignoreSslCerts":false,"caFilePath":"<your CA certificate file path>"}]

    Dengan metode ini, Anda juga perlu mengonfigurasi variabel lingkungan dengan nama kustom untuk Credential Password (ClientKeyPassword). Setelah dikonfigurasi, ganti <YOUR_PASSWORD_ENV_VARIABLE> dengan nama variabel tersebut. Contohnya:

    cache_client_dkms_config_info=[{"regionId":"cn-hangzhou","endpoint":"kst-hzz634e67d126u9p9****.cryptoservice.kms.aliyuncs.com","passwordFromEnvVariable":"passwordFromEnvVariable","clientKeyFile":"C:\RamSecretPlugin\src\main\resources\clientKey_KAAP.json","ignoreSslCerts":false,"caFilePath":"C:\RamSecretPlugin\src\main\resources\PrivateKmsCA_kst-hzz634e67d126u9p9****.pem"}]
  • Metode 2: Ambil kata sandi ClientKey dari file

    Secara default, file yang diunduh untuk Credential Password (ClientKeyPassword) ClientKey diberi nama clientKey_****_Password.txt. Jika Anda mengubah nama file tersebut, Anda harus mengganti <your Client Key file path> dalam nilai cache_client_dkms_config_info dengan jalur file baru.

    Isi file konfigurasi adalah:

    cache_client_dkms_config_info=[{"regionId":"<your dkms regionId >","endpoint":"<your dkms endpoint>","passwordFromFilePath":"< your password file path >","clientKeyFile":"<your Client Key file path>","ignoreSslCerts":false,"caFilePath":"<your CA certificate file path>"}]

    Contohnya:

    cache_client_dkms_config_info=[{"regionId":"cn-hangzhou","endpoint":"kst-hzz634e67d126u9p9****.cryptoservice.kms.aliyuncs.com","passwordFromFilePath":"C:\RamSecretPlugin\src\main\resources\clientKeyPassword.txt","clientKeyFile":"C:\RamSecretPlugin\src\main\resources\clientKey_KAAP.json","ignoreSslCerts":false,"caFilePath":"C:\RamSecretPlugin\src\main\resources\PrivateKmsCA_kst-hzz634e67d126u9p9****.pem"}]

Deskripsi setiap item konfigurasi:

Item Konfigurasi

Deskripsi parameter

Penjelasan

Region ID

ID wilayah tempat instans KMS berada.

Untuk daftar ID wilayah spesifik, lihat Wilayah dan zona.

Endpoint

Nama domain instans KMS. Formatnya adalah {instance ID}.kms.aliyuncs.com.

Buka halaman Instances. Di halaman detail instans, Instance VPC Endpoint adalah endpoint-nya.

clientKeyFile

Jalur absolut atau relatif file ClientKey dalam format JSON.

  • File ClientKey berisi Application Access Secret (ClientKeyContent), yang diunduh saat ClientKey dibuat di titik akses aplikasi (AAP). Nama file default-nya adalah ClientKey_******.json.

  • Kata sandi kredensial: Credential Password (ClientKeyPassword) yang diunduh saat Anda membuat ClientKey di AAP. Secara default, kata sandi ini berada di file ClientKey_******_password.txt.

Penting

File ClientKey dan kata sandi kredensial memiliki hubungan satu-ke-satu. Anda hanya bisa mendapatkannya saat membuat ClientKey. Jika Anda tidak menyimpannya saat pembuatan, Anda harus membuat ClientKey baru di AAP. Untuk informasi selengkapnya, lihat Buat titik akses aplikasi.

passwordFromFilePath atau passwordFromEnvVariable

  • passwordFromFilePath: Jalur absolut atau relatif ke file yang berisi kata sandi kredensial.

  • passwordFromEnvVariable: Nilainya adalah nama variabel lingkungan yang berisi kata sandi kredensial.

Ignore SSL certificates

Menentukan apakah akan mengabaikan pemeriksaan validitas sertifikat SSL instans KMS. Instans KMS memiliki sertifikat SSL bawaan dan menggunakan protokol SSL/TLS untuk autentikasi dan komunikasi terenkripsi. Nilai yang valid adalah:

  • true: Mengabaikan pemeriksaan validitas.

    Catatan

    Jika nilainya diatur ke true, Anda tidak perlu mengonfigurasi caFilePath.

  • false: Melakukan pemeriksaan validitas.

Di lingkungan produksi, Anda harus mengatur parameter ini ke false.

caFilePath

Jalur absolut atau relatif file sertifikat CA instans KMS.

Sertifikat CA instans KMS digunakan untuk memeriksa validitas sertifikat SSL instans KMS. Misalnya, memeriksa apakah sertifikat SSL dikeluarkan oleh CA yang sesuai, masih dalam periode validitas, dan sesuai dengan nama domain instans KMS (endpoint).

Buka halaman Instances. Di halaman detail instans, klik Download di bagian Instance CA Certificate.

Langkah 3: Gunakan plug-in kredensial RAM dalam Alibaba Cloud SDK

Java

Alibaba Cloud SDK for Java (V2.0)

Kompatibilitas Java 9+

Plug-in ini bergantung pada CGLIB untuk proxying kelas dinamis. Saat menjalankan program dengan Java 9 atau versi lebih baru, Anda mungkin mengalami error java.lang.reflect.InaccessibleObjectException.

Tambahkan parameter JVM berikut saat memulai aplikasi untuk mengizinkan CGLIB mengakses API yang dibatasi:

--add-opens java.base/java.lang=ALL-UNNAMED

Contohnya, saat menjalankan program dari command line:

java --add-opens java.base/java.lang=ALL-UNNAMED -jar your-application.jar

Jika Anda menjalankan program di IDE seperti IntelliJ IDEA atau Eclipse, tambahkan parameter ini ke opsi VM.

  1. Anda dapat mengimpor plug-in kredensial RAM ke proyek Anda menggunakan Maven.

    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>aliyun-java-tea-openapi-sdk-managed-credentials-provider</artifactId>
        <version>[1.3.5,]</version>
    </dependency>
    Catatan

    Kami menyarankan menginstal versi terbaru plug-in. Untuk informasi selengkapnya, lihat kode sumber.

  2. Ambil klien Alibaba Cloud SDK for Java dan panggil layanan Alibaba Cloud.

    Contoh berikut menunjukkan cara memanggil operasi ECS DescribeInstances.

    1. Tambahkan dependensi ecs20140526 untuk Elastic Compute Service.

      <dependency>
          <groupId>com.aliyun</groupId>
          <artifactId>ecs20140526</artifactId>
          <version>7.1.0</version>
      </dependency>
    2. Panggil operasi DescribeInstances.

      import com.aliyun.ecs20140526.Client;
      import com.aliyun.ecs20140526.models.DescribeInstancesResponse;
      import com.aliyun.kms.secretsmanager.plugin.tea.openapi.ProxyClientCreator;
      import com.google.gson.Gson;
      
      public class AliyunTeaOpenApiProviderSample {
      
          public static void main(String[] args) throws Exception {
              // Langkah 1: Tentukan nama rahasia terkelola (nama rahasia yang dibuat di KMS).
              String secretName = "your-secret-name";
      
              /*
                Jika aplikasi tidak dapat membaca file konfigurasi default (managed_credentials_providers.properties) dari classpath dan paket JAR eksekusi,
                atau untuk menyesuaikan nama file konfigurasi, Anda dapat memanggil kode berikut untuk mengatur file konfigurasi kustom. File dibaca dengan urutan berikut:
                1. Jika "your-config-name" adalah jalur absolut dengan nama file, file di jalur absolut tersebut dibaca.
                2. Jika "your-config-name" hanya berupa nama file, file pertama kali dibaca dari classpath, lalu dari paket JAR eksekusi.
              */
              //ConfigLoader.setConfigName("your-config-name");
      
              // Langkah 2: Konfigurasikan klien OpenAPI.
              com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
              config.endpoint = "your-product-endpoint"; // Ganti dengan endpoint layanan aktual.
      
              // Langkah 3: Buat instance klien.
              Client client = ProxyClientCreator.createClient(config, Client.class, secretName);
      
              // Langkah 4: Panggil API layanan Alibaba Cloud.
              com.aliyun.ecs20140526.models.DescribeInstancesRequest request = new com.aliyun.ecs20140526.models.DescribeInstancesRequest();
              request.setRegionId("cn-hangzhou"); // Atur ID wilayah.
              DescribeInstancesResponse response = client.describeInstances(request);
      
              // Langkah 5: Cetak hasilnya.
              System.out.println(new Gson().toJson(response.getBody()));
          }
      }

Alibaba Cloud SDK for Java (V1.0)

  1. Gunakan Maven untuk mengimpor plug-in kredensial RAM ke proyek Anda.

    <dependency>
       <groupId>com.aliyun</groupId>
       <artifactId>aliyun-java-sdk-core</artifactId>
       <version>[4.3.2,5.0.0]</version>
    </dependency>
    <dependency>
      <groupId>com.aliyun</groupId>
      <artifactId>aliyun-java-sdk-core-managed-credentials-provider</artifactId>
      <version>[1.3.1,]</version>
    </dependency>
    Catatan

    Kami menyarankan menginstal versi terbaru plug-in. Untuk informasi selengkapnya, lihat kode sumber.

  2. Ambil klien Alibaba Cloud SDK for Java dan panggil layanan Alibaba Cloud.

    Contoh berikut menunjukkan cara memanggil operasi ECS DescribeInstanceStatus.

    1. Tambahkan dependensi aliyun-java-sdk-ecs untuk Elastic Compute Service.

      <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>aliyun-java-sdk-ecs</artifactId>
        <version>5.11.20</version>
      </dependency>
    2. Panggil operasi DescribeInstanceStatus.

      import com.aliyuncs.IAcsClient;
      import com.aliyuncs.ecs.model.v20140526.DescribeInstanceStatusRequest;
      import com.aliyuncs.ecs.model.v20140526.DescribeInstanceStatusResponse;
      import com.aliyun.kms.secretsmanager.plugin.sdkcore.ProxyAcsClient;
      import com.aliyuncs.exceptions.ClientException;
      import com.aliyuncs.exceptions.ServerException;
      
      public class AliyunSdkProviderSample {
          public static void main(String[]args) {
              String secretName="******";
              /*
                Jika aplikasi tidak dapat membaca file konfigurasi default (managed_credentials_providers.properties) dari classpath dan paket JAR eksekusi,
                atau untuk menyesuaikan nama file konfigurasi, Anda dapat memanggil kode berikut untuk mengatur file konfigurasi kustom. File dibaca dengan urutan berikut:
                1. Jika "your-config-name" adalah jalur absolut dengan nama file, file di jalur absolut tersebut dibaca.
                2. Jika "your-config-name" hanya berupa nama file, file pertama kali dibaca dari classpath, lalu dari paket JAR eksekusi.
              */
              //ConfigLoader.setConfigName("your-config-name");
              
              // 1. Dapatkan ACSClient menggunakan aliyun-java-sdk-managed-credentials-provider.
              IAcsClient client = null;
              try {
                  client = new ProxyAcsClient("<the regionId of ECS>", secretName);
              } catch (ClientException e) {
                   e.printStackTrace();
               }
              // 2. Panggil OpenAPI ECS untuk mengimplementasikan fitur bisnis.
              DescribeInstanceStatusRequest request = new DescribeInstanceStatusRequest();
              DescribeInstanceStatusResponse response;
              try {
                   response = client.getAcsResponse(request);
              } catch (ServerException e) {
                   e.printStackTrace();
               } catch (ClientException e) {
                   e.printStackTrace();
               }
              // 3. Panggil metode berikut untuk mematikan klien dan melepaskan sumber daya yang terkait dengan plug-in. 
              client.shutdown();
          }
      }

Penggunaan dalam OSS SDK

  1. Anda dapat mengimpor plug-in kredensial RAM ke proyek Anda menggunakan Maven.

    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>aliyun-java-sdk-core</artifactId>
        <version>4.5.17</version>
    </dependency>
    <dependency>
    <groupId>com.aliyun.oss</groupId>
    <artifactId>aliyun-sdk-oss</artifactId>
    <version>[2.1.0,3.10.2]</version>
    <exclusions>
        <exclusion>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-kms</artifactId>
        </exclusion>
    </exclusions>
    </dependency>
    <dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-sdk-oss-managed-credentials-provider</artifactId>
    <version>[1.3.1,]</version>
    </dependency>
    Catatan

    Kami menyarankan menginstal versi terbaru plug-in. Untuk informasi selengkapnya, lihat kode sumber.

  2. Ambil klien OSS SDK for Java dan panggil layanan Alibaba Cloud.

    Contoh berikut menunjukkan cara memanggil operasi OSS listBuckets:

    import com.aliyun.kms.secretsmanager.plugin.oss.ProxyOSSClientBuilder;
    import com.aliyun.oss.OSS;
    import com.aliyun.oss.model.Bucket;
    
    import java.util.List;
    
    public class OssProviderSample {
    
        public static void main(String[] args) throws Exception {
            String secretName = "******";
            String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
    
            /*
              Jika aplikasi tidak dapat membaca file konfigurasi default (managed_credentials_providers.properties) dari classpath dan paket JAR eksekusi,
              atau untuk menyesuaikan nama file konfigurasi, Anda dapat memanggil kode berikut untuk mengatur file konfigurasi kustom. File dibaca dengan urutan berikut:
              1. Jika "your-config-name" adalah jalur absolut dengan nama file, file di jalur absolut tersebut dibaca.
              2. Jika "your-config-name" hanya berupa nama file, file pertama kali dibaca dari classpath, lalu dari paket JAR eksekusi.
            */
            //ConfigLoader.setConfigName("your-config-name");
    
            // Dapatkan klien OSS.
            OSS ossClient = new ProxyOSSClientBuilder().build(endpoint, secretName);
    
    
            // Berikut adalah kode bisnis: Panggil layanan Alibaba Cloud OSS untuk mengimplementasikan fitur bisnis.
            List<Bucket> buckets = ossClient.listBuckets();
            for (Bucket bucket : buckets) {
                if (bucket != null) {
                    // ...
                }
            }
    
            // Panggil metode berikut untuk mematikan klien dan melepaskan sumber daya yang terkait dengan plug-in. 
            ossClient.shutdown();
        }
    
    }

Python

Alibaba Cloud SDK for Python (V1.0)

  1. Jalankan perintah pip untuk menggunakan plug-in kredensial RAM dalam proyek Anda.

    pip install aliyun-openapi-python-sdk-managed-credentials-provider
    Catatan

    Pastikan versi plug-in minimal 0.1.0 atau lebih baru. Untuk informasi selengkapnya, lihat kode sumber.

  2. Ambil klien Alibaba Cloud SDK for Python dan panggil layanan Alibaba Cloud.

    from aliyun_sdk_secretsmanager_sdk_core_plugin.proxy_acs_client import ProxyAcsClient
    
       region="cn-hangzhou"
       secretName="******"
    
       # 1. Dapatkan ACSClient.
       client = ProxyAcsClient(region_id=region, secret_name=secretName )
    
       # 2. Kode bisnis: Gunakan klien untuk memanggil layanan Alibaba Cloud tanpa perubahan kode.
       ...
    
       # 3. Panggil metode berikut untuk mematikan klien dan melepaskan sumber daya yang terkait dengan plug-in.
       client.shutdown()

OSS SDK for Python

  1. Anda dapat menjalankan perintah pip untuk menggunakan plug-in kredensial RAM dalam proyek Anda.

    pip install aliyun-oss-python-sdk-managed-credentials-provider
    Catatan

    Pastikan versi plug-in minimal 0.1.0 atau lebih baru. Untuk informasi selengkapnya, lihat kode sumber.

  2. Ambil klien Alibaba Cloud OSS SDK for Python dan panggil layanan Alibaba Cloud.

    from aliyun_sdk_secretsmanager_oss_plugin.proxy_bucket import ProxyBucket
    from itertools import islice
    
    endpoint = "******"
    secret_name ="******"
    bucket_name = "******"
    bucket = ProxyBucket(secret_name=secret_name, endpoint=endpoint, bucket_name=bucket_name)
    objects = bucket.list_objects()
    for b in islice(objects.object_list, 10):
        print(b.key)
    bucket.shutdown()

Go

Alibaba Cloud SDK for Go (V1.0)

Peringatan

Karena keterbatasan pada SDK plug-in RAM untuk Go, pengulangan otomatis untuk kredensial yang kedaluwarsa tidak didukung. Untuk melakukan rotasi kredensial secara manual, Anda harus memastikan jendela rotasi minimal 13 jam agar tugas tidak terganggu akibat kedaluwarsa kredensial.

  1. Instal plug-in kredensial RAM untuk Alibaba Cloud SDK for Go.

    Penting
    • Kami menyarankan menginstal versi terbaru plug-in. Untuk informasi selengkapnya, lihat kode sumber.

    • Plug-in kredensial RAM untuk Go bergantung pada versi alibaba-cloud-sdk-go yang lebih lama dari v1.63.0. Anda harus memeriksa dan mengonfirmasi versi tersebut dalam file go.mod plug-in untuk menghindari potensi masalah kompatibilitas.

    • Metode 1: Gunakan go.mod untuk mengelola dependensi Anda.

      Tambahkan konten berikut ke file go.mod untuk menginstal paket dependensi.

      require (
          github.com/aliyun/aliyun-sdk-managed-credentials-providers-go/aliyun-sdk-managed-credentials-providers/alibaba-cloud-sdk-go-managed-credentials-provider vX.X.X
      )
    • Metode 2: Gunakan perintah go get untuk mengambil paket kode remote.

      go get -u github.com/aliyun/aliyun-sdk-mxanaged-credentials-providers-go/aliyun-sdk-managed-credentials-providers/alibaba-cloud-sdk-go-managed-credentials-provider
  2. Ambil klien untuk Alibaba Cloud SDK for Go dan panggil layanan Alibaba Cloud.

    Contoh berikut menunjukkan cara memanggil operasi ECS DescribeInstances:

    package sample
    
    import (
        "fmt"
        "github.com/aliyun/alibaba-cloud-sdk-go/services/ecs"
        sdkcoreprovider "github.com/aliyun/aliyun-sdk-managed-credentials-providers-go/aliyun-sdk-managed-credentials-providers/alibaba-cloud-sdk-go-managed-credentials-provider/sdk"
    )
    
    func main() {
        secretName := "********"
        regionId := "cn-hangzhou"
    
        client, err := sdkcoreprovider.GetClient(&ecs.Client{}, regionId, secretName)
        if err != nil {
            fmt.Println(err)
            return
        }
        ecsClient := client.(*ecs.Client)
    
        request := ecs.CreateDescribeInstancesRequest()
        instancesResponse, err := ecsClient.DescribeInstances(request)
        if err != nil {
            fmt.Println(err)
            return
        }
    
        for _, instance := range instancesResponse.Instances.Instance {
            // lakukan sesuatu dengan instance
        }
    }

OSS SDK for Go

  1. Instal plug-in kredensial RAM untuk OSS SDK for Go.

    Penting
    • Kami menyarankan menginstal versi terbaru plug-in. Untuk informasi selengkapnya, lihat kode sumber.

    • Plug-in kredensial RAM untuk Go bergantung pada versi alibaba-cloud-sdk-go yang lebih lama dari v1.63.0. Anda harus memeriksa dan mengonfirmasi versi tersebut dalam file go.mod plug-in untuk menghindari potensi masalah kompatibilitas.

    • Metode 1: Gunakan go.mod untuk mengelola dependensi Anda.

      Tambahkan konten berikut ke file go.mod untuk menginstal paket dependensi.

      require (
          github.com/aliyun/aliyun-sdk-managed-credentials-providers-go/aliyun-sdk-managed-credentials-providers/aliyun-oss-go-sdk-managed-credentials-provider vX.X.X
      )
    • Metode 2: Gunakan perintah go get untuk mengambil paket kode remote.

      go get -u github.com/aliyun/aliyun-sdk-managed-credentials-providers-go/aliyun-sdk-managed-credentials-providers/aliyun-oss-go-sdk-managed-credentials-provider
  2. Ambil klien untuk Alibaba Cloud OSS SDK for Go dan panggil layanan Alibaba Cloud.

    package sample
    
    import (
        "fmt"
        ossprovider "aliyun-oss-go-sdk-managed-credentials-provider/sdk"
    )
    
    func main() {
        secretName := "********"
        endpoint := "https://oss-cn-hangzhou.aliyuncs.com"
    
        // Dapatkan Proxy OSS Client.
        client, err := ossprovider.New(endpoint, secretName)
        if err != nil {
            fmt.Println(err)
            return
        }
    
        result, err := client.ListBuckets()
        if err != nil {
            fmt.Println(err)
            return
        }
        for _, bucket := range result.Buckets {
            // Kode bisnis
        }
    
        // Matikan klien untuk melepaskan sumber daya yang terkait dengan plug-in.
        client.Shutdown()
    }