全部产品
Search
文档中心

Tablestore:Gunakan kredensial akses sementara yang diperoleh dari STS untuk mengakses Tablestore

更新时间:Jul 18, 2025

Anda dapat menggunakan Layanan Token Keamanan (STS) untuk menerbitkan kredensial akses sementara yang memungkinkan pengguna lain mengakses Tablestore dalam periode validitas tertentu. Kredensial akses sementara tidak mengharuskan Anda mengekspos kunci jangka panjang dan secara otomatis kedaluwarsa setelah periode validitas berakhir, meningkatkan keamanan dan fleksibilitas saat mengakses Tablestore.

Informasi Latar Belakang

Peran RAM adalah pengguna virtual yang dapat diberikan izin untuk mengakses sumber daya tertentu. Berbeda dengan pengguna RAM, peran RAM tidak memiliki kredensial identitas permanen seperti kata sandi logon atau pasangan AccessKey. Sebagai gantinya, peran tersebut harus diasumsikan oleh entitas tepercaya, seperti pengguna RAM. Setelah berhasil diasumsikan, entitas tepercaya memperoleh kredensial identitas sementara dalam bentuk Token Layanan Keamanan (STS). Token ini kemudian dapat digunakan untuk mengakses Tablestore sebagai peran RAM.

Peran RAM dengan entitas tepercayanya sebagai akun Alibaba Cloud digunakan untuk menerapkan akses lintas akun dan otorisasi sementara. Topik ini menggunakan contoh pengguna RAM yang mengasumsikan peran RAM di akun Alibaba Cloud yang sama untuk menjelaskan cara menggunakan kredensial akses sementara dari STS untuk mengakses sumber daya Tablestore.

Prosedur

Untuk menggunakan kredensial akses sementara yang diperoleh dari STS untuk mengakses Tablestore, pertama-tama buat peran RAM yang akan diasumsikan dan berikan izin untuk mengakses Tablestore. Selanjutnya, buat pengguna RAM untuk mengasumsikan peran RAM dan memperoleh kredensial akses sementara dari STS. Terakhir, gunakan kredensial akses sementara yang diperoleh untuk memulai permintaan untuk mengakses sumber daya Tablestore.

Langkah 1: Buat Peran RAM

  1. Masuk ke Konsol RAM menggunakan akun Alibaba Cloud atau administrator RAM.

  2. Di panel navigasi di sebelah kiri, pilih Identities > Roles. Halaman Roles ditampilkan.

  3. Klik Create Role, konfigurasikan informasi entitas tepercaya, dan klik OK.

    Parameter

    Nilai Contoh

    Tipe Principal

    Akun cloud

    Nama Principal

    Akun Saat Ini

  4. Di kotak dialog Create Role, atur Role Name menjadi RamTablestore, dan klik OK.

Untuk mendapatkan kredensial akses sementara dari STS, Anda harus menentukan ARN dari peran RAM. Untuk mendapatkan ARN, klik nama peran dalam daftar peran untuk masuk ke halaman detail peran. Kemudian, temukan dan salin ARN di bagian Basic Information.

image

Langkah 2: Berikan Izin Peran RAM Tablestore Izin

Gunakan Kebijakan Default

Dalam contoh ini, kebijakan AliyunOTSFullAccess dilampirkan ke peran RAM untuk memberikan izin mengakses Tablestore.

Catatan

Kebijakan AliyunOTSFullAccess berisi izin akses penuh pada Tablestore. Anda juga dapat memberikan izin dengan cara berikut:

  • Untuk memberikan akses hanya-baca, lampirkan kebijakan AliyunOTSReadOnlyAccess ke peran RAM.

  • Jika Anda memerlukan izin hanya-tulis, berikan izin AliyunOTSWriteOnlyAccess kepada peran RAM.

  1. Di panel navigasi di sebelah kiri, pilih Identities > Roles.

  2. Di halaman Roles, temukan peran RAM target.

  3. Klik Grant Permission di kolom Tindakan peran RAM, atau klik nama peran untuk masuk ke halaman detail peran dan klik Grant Permission di bagian Permission Management.

  4. Di bagian Policy panel Grant Permission, cari dan pilih AliyunOTSFullAccess.

  5. Klik Grant Permissions.

Gunakan Kebijakan Kustom

  1. Buat kebijakan Manajemen Akses Sumber Daya (RAM) kustom.

    1. Di panel navigasi di sebelah kiri, pilih Permission Management > Policies.

    2. Di halaman Policies, klik Create Policy.

    3. Di halaman Create Policy, klik Script Editor, tulis skrip di kotak teks, lalu klik OK.

      Skrip contoh berikut memungkinkan peran RAM mengakses instans tertentu. Anda dapat menentukan skrip kebijakan kustom berdasarkan kebutuhan bisnis Anda. Misalnya, Anda dapat memberikan izin kepada peran RAM untuk mengakses tabel atau memanggil operasi API. Anda juga dapat memberikan izin kepada peran RAM untuk mengakses Tablestore hanya dari alamat IP tertentu atau sebelum titik waktu tertentu. Untuk informasi lebih lanjut tentang kebijakan RAM, lihat Buat kebijakan kustom.
      {
        "Version": "1",
        "Statement": [
          {
            "Effect": "Allow",
            "Action": "ots:*",
            "Resource": "acs:ots:*:*:instance/your_instance_name*"
          }
        ]
      }
    4. Di kotak dialog Create Policy, masukkan nama kebijakan, misalnya, TestRAMPolicy, dan klik OK.

  1. Lampirkan kebijakan kustom ke peran RAM.

    1. Di panel navigasi di sebelah kiri, pilih Identities > Roles.

    2. Di halaman Roles, cari peran RAM yang dituju.

    3. Klik Grant Permission di sebelah kanan peran RAM, atau klik nama peran untuk masuk ke halaman detail peran dan klik Grant Permission di area Permission Management.

    4. Di bagian Policy panel Grant Permission, cari dan pilih kebijakan kustom yang Anda buat.

    5. Klik Grant Permissions.

Anda dapat mengklik nama peran dalam daftar peran untuk masuk ke halaman detail peran. Di tab Permissions, Anda dapat melihat kebijakan izin yang dilampirkan.

image

Langkah 3: Buat Pengguna RAM

Buat pengguna RAM untuk mengasumsikan peran RAM.

  1. Masuk ke Konsol Manajemen Akses Sumber Daya (RAM) menggunakan akun Alibaba Cloud Anda atau pengguna RAM yang memiliki hak administratif.

  2. Di panel navigasi di sebelah kiri, pilih Identities > Users.

  3. Di halaman Users, klik Create User.

  4. Di bagian User Account Information halaman Create User, konfigurasikan parameter berikut:

    • Logon Name: Nama logon dapat berisi hingga 64 karakter dan dapat mencakup huruf, angka, titik (.), tanda hubung (-), dan garis bawah (_).

    • Display Name: Nama tampilan dapat berisi hingga 128 karakter.

    • Tag: Klik edit dan masukkan kunci tag dan nilai tag. Anda dapat menambahkan satu atau lebih tag ke pengguna RAM. Ini memungkinkan Anda mengelola pengguna RAM berdasarkan tag.

    Catatan

    Anda dapat mengklik Add User untuk membuat beberapa Pengguna RAM sekaligus.

  5. Di bagian Access Mode, pilih Programmatic Access, dan klik OK.

    Catatan

    Jika Anda ingin masuk dan mengakses Konsol Manajemen Alibaba Cloud sebagai pengguna RAM, pilih Console Access.

  6. Di kolom Actions, klik Copy untuk menyimpan informasi tentang pengguna RAM. Anda dapat menyalin ID AccessKey dan Rahasia AccessKey secara terpisah.

    Penting

    Rahasia AccessKey pengguna RAM hanya ditampilkan saat Anda membuat pasangan AccessKey. Setelah halaman Buat Pengguna ditutup, Anda tidak dapat menanyakan Rahasia AccessKey. Catat dan simpan Rahasia AccessKey Anda di lokasi yang aman.

Langkah 4: Berikan Izin AssumeRole kepada Pengguna RAM

Izin AssumeRole diperlukan agar pengguna RAM dapat mengasumsikan peran RAM.

  1. Di panel navigasi di sebelah kiri, pilih Identities > Users.

  2. Di halaman Users, temukan pengguna RAM target.

  3. Klik Add Permissions di sebelah kanan pengguna RAM, atau klik nama pengguna untuk masuk ke halaman detail pengguna dan di tab Permission Management, klik Grant Permission.

  4. Di bagian Policy panel Grant Permission, cari dan pilih AliyunSTSAssumeRoleAccess.

  5. Klik Grant Permissions.

Langkah 5: Asumsikan Peran RAM sebagai Pengguna RAM untuk Mendapatkan Kredensial Akses Sementara dari STS

Sebelum mengakses sumber daya Tablestore, Anda harus mengasumsikan peran RAM sebagai pengguna RAM untuk mendapatkan kredensial akses sementara dari STS. Kredensial ini valid selama periode tertentu. Bagian ini menggunakan Java sebagai contoh untuk menjelaskan operasi spesifik.

Anda juga dapat memperoleh kredensial akses sementara dengan memanggil operasi AssumeRole di OpenAPI Explorer.

Persiapan

  1. Tambahkan dependensi berikut ke proyek Maven:

    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>sts20150401</artifactId>
        <version>1.1.6</version>
    </dependency>
  2. Konfigurasikan variabel lingkungan. Setelah konfigurasi selesai, restart atau segarkan lingkungan kompilasi dan runtime Anda, termasuk IDE, antarmuka baris perintah, aplikasi desktop lainnya, dan layanan latar belakang untuk memastikan bahwa variabel lingkungan sistem terbaru berhasil dimuat.

    Linux
    1. Jalankan perintah berikut di antarmuka baris perintah untuk menambahkan pengaturan variabel lingkungan ke file ~/.bashrc.

      echo "export ALIBABA_CLOUD_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.bashrc
      echo "export ALIBABA_CLOUD_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.bashrc
      echo "export TABLESTORE_STS_ROLE_ARN='YOUR_RAM_ROLE_ARN'" >> ~/.bashrc
    2. Jalankan perintah berikut untuk memungkinkan perubahan berlaku:

      source ~/.bashrc
    3. Jalankan perintah berikut untuk memeriksa apakah variabel lingkungan berlaku:

      echo $ALIBABA_CLOUD_ACCESS_KEY_ID
      echo $ALIBABA_CLOUD_ACCESS_KEY_SECRET
      echo $TABLESTORE_STS_ROLE_ARN
    macOS
    1. Jalankan perintah berikut di terminal untuk memeriksa tipe Shell default.

      echo $SHELL
    2. Lakukan operasi berdasarkan tipe Shell default.

      Zsh
      1. Jalankan perintah berikut untuk menambahkan pengaturan variabel lingkungan ke file ~/.zshrc.

        echo "export ALIBABA_CLOUD_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.zshrc
        echo "export ALIBABA_CLOUD_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.zshrc
        echo "export TABLESTORE_STS_ROLE_ARN='YOUR_RAM_ROLE_ARN'" >> ~/.zshrc
      2. Jalankan perintah berikut untuk memungkinkan perubahan berlaku:

        source ~/.zshrc
      3. Jalankan perintah berikut untuk memeriksa apakah variabel lingkungan berlaku:

        echo $ALIBABA_CLOUD_ACCESS_KEY_ID
        echo $ALIBABA_CLOUD_ACCESS_KEY_SECRET
        echo $TABLESTORE_STS_ROLE_ARN
      Bash
      1. Jalankan perintah berikut untuk menambahkan pengaturan variabel lingkungan ke file ~/.bash_profile.

        echo "export ALIBABA_CLOUD_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.bash_profile
        echo "export ALIBABA_CLOUD_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.bash_profile
        echo "export TABLESTORE_STS_ROLE_ARN='YOUR_RAM_ROLE_ARN'" >> ~/.bash_profile
      2. Jalankan perintah berikut untuk memungkinkan perubahan diterapkan:

        source ~/.bash_profile
      3. Jalankan perintah berikut untuk memeriksa apakah variabel lingkungan telah berlaku:

        echo $ALIBABA_CLOUD_ACCESS_KEY_ID
        echo $ALIBABA_CLOUD_ACCESS_KEY_SECRET
        echo $TABLESTORE_STS_ROLE_ARN
    Windows
    CMD
    1. Jalankan perintah berikut di CMD untuk menetapkan variabel lingkungan.

      setx ALIBABA_CLOUD_ACCESS_KEY_ID "YOUR_ACCESS_KEY_ID"
      setx ALIBABA_CLOUD_ACCESS_KEY_SECRET "YOUR_ACCESS_KEY_SECRET"
      setx TABLESTORE_STS_ROLE_ARN "YOUR_RAM_ROLE_ARN"
    2. Setelah me-restart CMD, jalankan perintah berikut untuk memeriksa apakah variabel lingkungan telah berlaku:

      echo %ALIBABA_CLOUD_ACCESS_KEY_ID%
      echo %ALIBABA_CLOUD_ACCESS_KEY_SECRET%
      echo %TABLESTORE_STS_ROLE_ARN%
    PowerShell
    1. Jalankan perintah berikut di PowerShell:

      [Environment]::SetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID", "YOUR_ACCESS_KEY_ID", [EnvironmentVariableTarget]::User)
      [Environment]::SetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET", "YOUR_ACCESS_KEY_SECRET", [EnvironmentVariableTarget]::User)
      [Environment]::SetEnvironmentVariable("TABLESTORE_STS_ROLE_ARN", "YOUR_RAM_ROLE_ARN", [EnvironmentVariableTarget]::User)
    2. Jalankan perintah berikut untuk memeriksa apakah variabel lingkungan telah berlaku:

      [Environment]::GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID", [EnvironmentVariableTarget]::User)
      [Environment]::GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET", [EnvironmentVariableTarget]::User)
      [Environment]::GetEnvironmentVariable("TABLESTORE_STS_ROLE_ARN", [EnvironmentVariableTarget]::User)

Kode contoh

Kode contoh berikut menunjukkan cara memperoleh kredensial akses sementara dari STS dengan mengasumsikan Peran RAM sebagai Pengguna RAM dan menampilkan kredensial akses sementara di konsol Tablestore. Dalam contoh ini, periode validitas kredensial akses sementara adalah 1 jam.

Untuk informasi tentang titik akhir STS, lihat Titik Akhir.
import com.aliyun.sts20150401.models.AssumeRoleResponse;
import com.aliyun.tea.*;

public class AssumeRoleSample {
    public static com.aliyun.sts20150401.Client createClient() throws Exception {
        // Jika kode proyek bocor, pasangan AccessKey dapat terungkap, yang berpotensi membahayakan keamanan semua sumber daya dalam akun Anda. Kode contoh berikut disediakan hanya untuk referensi.
        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
                // Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dikonfigurasi.
                .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
                // Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET dikonfigurasi.
                .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
        // Tentukan titik akhir STS.
        config.endpoint = "sts.cn-hangzhou.aliyuncs.com";
        return new com.aliyun.sts20150401.Client(config);
    }

    public static void main(String[] args) throws Exception {
        com.aliyun.sts20150401.Client client = AssumeRoleSample.createClient();
        com.aliyun.sts20150401.models.AssumeRoleRequest assumeRoleRequest = new com.aliyun.sts20150401.models.AssumeRoleRequest()
                // Tentukan periode validitas kredensial akses sementara. Unit: detik. Periode validitas minimum adalah 900 detik. Periode validitas maksimum sama dengan durasi sesi maksimum yang ditentukan untuk peran saat ini. Durasi sesi maksimum untuk peran saat ini berkisar antara 3.600 hingga 43.200 detik. Durasi sesi maksimum default untuk peran saat ini adalah 3.600 detik.
                .setDurationSeconds(3600L)
                // Wajib. Pastikan variabel lingkungan TABLESTORE_STS_ROLE_ARN dikonfigurasi. Variabel lingkungan tersebut menentukan ARN dari Peran RAM.
                .setRoleArn(System.getenv("TABLESTORE_STS_ROLE_ARN"))
                // Wajib. Tentukan nama sesi untuk peran untuk membedakan token yang berbeda.
                .setRoleSessionName("RAMTablestore");
        com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
        try {
            // Dapatkan kredensial akses sementara dari STS dan tampilkan kredensial akses sementara. Simpan kredensial akses sementara di lokasi yang aman.
            AssumeRoleResponse response = client.assumeRoleWithOptions(assumeRoleRequest, runtime);
            System.out.println("Kedaluwarsa: " + response.getBody().getCredentials().getExpiration());
            System.out.println("Access Key Id: " + response.getBody().getCredentials().getAccessKeyId());
            System.out.println("Access Key Secret: " + response.getBody().getCredentials().getAccessKeySecret());
            System.out.println("Security Token: " + response.getBody().getCredentials().getSecurityToken());
        } catch (TeaException error) {
            // Tangani pengecualian dengan hati-hati dalam skenario bisnis aktual dan jangan abaikan pengecualian dalam proyek Anda. Dalam contoh ini, pengecualian disediakan hanya untuk referensi.
            // Pesan kesalahan.
            System.out.println(error.getMessage());
            // URL 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 dalam skenario bisnis aktual dan jangan abaikan pengecualian dalam proyek Anda. Dalam contoh ini, pengecualian disediakan hanya untuk referensi.
            // Pesan kesalahan.
            System.out.println(error.getMessage());
            // URL untuk pemecahan masalah.
            System.out.println(error.getData().get("Recommend"));
            com.aliyun.teautil.Common.assertAsString(error.message);
        }
    }
}

Untuk informasi lebih lanjut tentang SDK STS dan contoh kode untuk bahasa pemrograman lainnya, lihat Ringkasan SDK STS.

Langkah 6: Gunakan kredensial akses sementara untuk mengakses Tablestore

Persiapan

  1. Buat instans dan tabel data di konsol Tablestore.

  2. Dapatkan nama instans, titik akhir instans, dan ID wilayah.

    Penting

    Secara default, akses jaringan publik dinonaktifkan untuk instans baru. Jika Anda perlu mengakses sumber daya dalam instans melalui jaringan publik, Anda harus mengaktifkan akses jaringan publik untuk instans.

  3. Konfigurasikan variabel lingkungan. Setelah konfigurasi selesai, restart atau segarkan lingkungan kompilasi dan runtime Anda, termasuk IDE, antarmuka baris perintah, aplikasi desktop lainnya, dan layanan latar belakang untuk memastikan bahwa variabel lingkungan sistem terbaru berhasil dimuat.

    Linux
    1. Jalankan perintah berikut di antarmuka baris perintah untuk menambahkan pengaturan variabel lingkungan ke file ~/.bashrc.

      echo "export TABLESTORE_ACCESS_KEY_ID='YOUR_STS_ACCESS_KEY_ID'" >> ~/.bashrc
      echo "export TABLESTORE_ACCESS_KEY_SECRET='YOUR_STS_ACCESS_KEY_SECRET'" >> ~/.bashrc
      echo "export TABLESTORE_SESSION_TOKEN='YOUR_STS_TOKEN'" >> ~/.bashrc
    2. Jalankan perintah berikut untuk membuat perubahan berlaku:

      source ~/.bashrc
    3. Jalankan perintah berikut untuk memeriksa apakah variabel lingkungan telah diterapkan:

      echo $TABLESTORE_ACCESS_KEY_ID
      echo $TABLESTORE_ACCESS_KEY_SECRET
      echo $TABLESTORE_SESSION_TOKEN
    macOS
    1. Jalankan perintah berikut di terminal untuk memeriksa jenis Shell default.

      echo $SHELL
    2. Lakukan operasi berdasarkan jenis Shell default.

      Zsh
      1. Jalankan perintah berikut untuk menambahkan pengaturan variabel lingkungan ke file ~/.zshrc.

        echo "export TABLESTORE_ACCESS_KEY_ID='YOUR_STS_ACCESS_KEY_ID'" >> ~/.zshrc
        echo "export TABLESTORE_ACCESS_KEY_SECRET='YOUR_STS_ACCESS_KEY_SECRET'" >> ~/.zshrc
        echo "export TABLESTORE_SESSION_TOKEN='YOUR_STS_TOKEN'" >> ~/.zshrc
      2. Jalankan perintah berikut untuk membuat perubahan berlaku:

        source ~/.zshrc
      3. Jalankan perintah berikut untuk memeriksa apakah variabel lingkungan telah diterapkan:

        echo $TABLESTORE_ACCESS_KEY_ID
        echo $TABLESTORE_ACCESS_KEY_SECRET
        echo $TABLESTORE_SESSION_TOKEN
      Bash
      1. Jalankan perintah berikut untuk menambahkan pengaturan variabel lingkungan ke file ~/.bash_profile.

        echo "export TABLESTORE_ACCESS_KEY_ID='YOUR_STS_ACCESS_KEY_ID'" >> ~/.bash_profile
        echo "export TABLESTORE_ACCESS_KEY_SECRET='YOUR_STS_ACCESS_KEY_SECRET'" >> ~/.bash_profile
        echo "export TABLESTORE_SESSION_TOKEN='YOUR_STS_TOKEN'" >> ~/.bash_profile
      2. Jalankan perintah berikut untuk membuat perubahan berlaku:

        source ~/.bash_profile
      3. Jalankan perintah berikut untuk memeriksa apakah variabel lingkungan telah diterapkan:

        echo $TABLESTORE_ACCESS_KEY_ID
        echo $TABLESTORE_ACCESS_KEY_SECRET
        echo $TABLESTORE_SESSION_TOKEN
    Windows
    CMD
    1. Jalankan perintah berikut di CMD untuk mengatur variabel lingkungan.

      setx TABLESTORE_ACCESS_KEY_ID "YOUR_STS_ACCESS_KEY_ID"
      setx TABLESTORE_ACCESS_KEY_SECRET "YOUR_STS_ACCESS_KEY_SECRET"
      setx TABLESTORE_SESSION_TOKEN "YOUR_STS_TOKEN"
    2. Setelah me-restart CMD, jalankan perintah berikut untuk memeriksa apakah variabel lingkungan telah diterapkan:

      echo %TABLESTORE_ACCESS_KEY_ID%
      echo %TABLESTORE_ACCESS_KEY_SECRET%
      echo %TABLESTORE_SESSION_TOKEN%
    PowerShell
    1. Jalankan perintah berikut di PowerShell:

      [Environment]::SetEnvironmentVariable("TABLESTORE_ACCESS_KEY_ID", "YOUR_STS_ACCESS_KEY_ID", [EnvironmentVariableTarget]::User)
      [Environment]::SetEnvironmentVariable("TABLESTORE_ACCESS_KEY_SECRET", "YOUR_STS_ACCESS_KEY_SECRET", [EnvironmentVariableTarget]::User)
      [Environment]::SetEnvironmentVariable("TABLESTORE_SESSION_TOKEN", "YOUR_STS_TOKEN", [EnvironmentVariableTarget]::User)
    2. Jalankan perintah berikut untuk memeriksa apakah variabel lingkungan telah diterapkan:

      [Environment]::GetEnvironmentVariable("TABLESTORE_ACCESS_KEY_ID", [EnvironmentVariableTarget]::User)
      [Environment]::GetEnvironmentVariable("TABLESTORE_ACCESS_KEY_SECRET", [EnvironmentVariableTarget]::User)
      [Environment]::GetEnvironmentVariable("TABLESTORE_SESSION_TOKEN", [EnvironmentVariableTarget]::User)
  4. Instal SDK Tablestore untuk bahasa pemrograman yang diperlukan.

    Java

    Jika Anda menggunakan Maven untuk mengelola proyek Java, tambahkan dependensi berikut ke file pom.xml:

    <dependency>
        <groupId>com.aliyun.openservices</groupId>
        <artifactId>tablestore</artifactId>
        <version>5.17.4</version>
    </dependency>                 

    Untuk informasi lebih lanjut, lihat Instal Tablestore Java SDK.

    Go

    Jalankan perintah go mod init <DIRNAME> di direktori proyek untuk menghasilkan file go.mod. Kemudian, jalankan perintah berikut untuk menginstal Tablestore SDK untuk Go:

    Catatan

    <DIRNAME> menunjukkan jalur direktori proyek. Ganti <DIRNAME> dengan jalur direktori proyek aktual.

    go get github.com/aliyun/aliyun-tablestore-go-sdk/tablestore

    Untuk informasi lebih lanjut, lihat Instal Tablestore Go SDK.

    Python

    Jalankan perintah berikut untuk menggunakan pip menginstal Tablestore SDK untuk Python:

    sudo pip install tablestore

    Untuk informasi lebih lanjut, lihat Instal Tablestore Python SDK.

    Node.js

    Gunakan npm untuk menjalankan perintah berikut untuk menginstal Tablestore SDK untuk Node.js:

    npm install tablestore

    Untuk informasi lebih lanjut, lihat Instal Tablestore Node.js SDK.

    .NET

    Untukinformasi lebih lanjut, lihat Instal Tablestore .NET SDK.

    PHP

    Untuk informasi lebih lanjut, lihat Instal Tablestore PHP SDK.

Model Kolom Lebar

Saat menggunakan model Kolom Lebar, Anda harus menggunakan kredensial akses sementara yang diperoleh dari STS untuk menginisialisasi klien untuk model Kolom Lebar dan memulai permintaan.

Java
(Direkomendasikan) Gunakan tanda tangan V4

Kode contoh Java berikut memberikan contoh cara menggunakan tanda tangan V4 untuk menginisialisasi klien dan menanyakan daftar tabel data dalam instans:

import com.alicloud.openservices.tablestore.ClientConfiguration;
import com.alicloud.openservices.tablestore.SyncClient;
import com.alicloud.openservices.tablestore.core.ResourceManager;
import com.alicloud.openservices.tablestore.core.auth.*;
import com.alicloud.openservices.tablestore.model.AlwaysRetryStrategy;
import com.alicloud.openservices.tablestore.model.ListTableResponse;

public class InitClientV4 {
    public static void main(String[] args) {
        // Tentukan wilayah tempat instans Anda berada. Contoh: cn-hangzhou.
        final String region = "yourRegion";
        // Tentukan nama instans.
        final String instanceName = "yourInstanceName";
        // Tentukan titik akhir instans.
        final String endpoint = "yourEndpoint";
        // Dapatkan ID AccessKey sementara, rahasia AccessKey sementara, dan token keamanan dari variabel lingkungan.
        final String accessKeyId = System.getenv("TABLESTORE_ACCESS_KEY_ID");
        final String accessKeySecret = System.getenv("TABLESTORE_ACCESS_KEY_SECRET");
        final String securityToken = System.getenv("TABLESTORE_SESSION_TOKEN");

        // Buat tanda tangan V4.
        DefaultCredentials credentials = new DefaultCredentials(accessKeyId, accessKeySecret, securityToken);
        V4Credentials credentialsV4 = V4Credentials.createByServiceCredentials(credentials, region);
        CredentialsProvider provider = new DefaultCredentialProvider(credentialsV4);

        // Inisialisasi klien Tablestore.
        SyncClient client = new SyncClient(endpoint, provider, instanceName, null, new ResourceManager(null, null));

        /*
        // Anda dapat menggunakan ClientConfiguration untuk memodifikasi konfigurasi default. Contoh berikut mencakup beberapa konfigurasi kustom.
        ClientConfiguration clientConfiguration = new ClientConfiguration();
        clientConfiguration.setConnectionTimeoutInMillisecond(5000); // Tentukan periode timeout untuk membangun koneksi. Unit: milidetik.
        clientConfiguration.setSocketTimeoutInMillisecond(5000); // Tentukan periode timeout soket. Unit: milidetik.
        clientConfiguration.setRetryStrategy(new AlwaysRetryStrategy()); // Tentukan kebijakan ulang. Jika tidak menentukan kebijakan ulang, kebijakan ulang default digunakan.
        SyncClient client = new SyncClient(endpoint, provider, instanceName, clientConfiguration, new ResourceManager(null, null));
         */

        // Tanyakan daftar tabel data dalam instans dan tampilkan daftarnya di konsol Tablestore.
        ListTableResponse listTableResponse = client.listTable();
        listTableResponse.getTableNames().forEach(System.out::println);

        // Matikan klien Tablestore.
        client.shutdown();
    }
}
Gunakan tanda tangan V2

Kode contoh Java berikut memberikan contoh cara menggunakan tanda tangan V2 untuk menginisialisasi klien dan menanyakan daftar tabel data dalam instans:

import com.alicloud.openservices.tablestore.ClientConfiguration;
import com.alicloud.openservices.tablestore.SyncClient;
import com.alicloud.openservices.tablestore.core.ResourceManager;
import com.alicloud.openservices.tablestore.core.auth.CredentialsProvider;
import com.alicloud.openservices.tablestore.core.auth.DefaultCredentialProvider;
import com.alicloud.openservices.tablestore.core.auth.DefaultCredentials;
import com.alicloud.openservices.tablestore.model.AlwaysRetryStrategy;
import com.alicloud.openservices.tablestore.model.ListTableResponse;

public class InitClientV2 {
    public static void main(String[] args) {
        // Tentukan nama instans.
        final String instanceName = "yourInstanceName";
        // Tentukan titik akhir instans.
        final String endpoint = "yourEndpoint";
        // Dapatkan ID AccessKey sementara, rahasia AccessKey sementara, dan token keamanan dari variabel lingkungan.
        final String accessKeyId = System.getenv("TABLESTORE_ACCESS_KEY_ID");
        final String accessKeySecret = System.getenv("TABLESTORE_ACCESS_KEY_SECRET");
        final String securityToken = System.getenv("TABLESTORE_SESSION_TOKEN");

        // Buat tanda tangan V2.
        DefaultCredentials credentials = new DefaultCredentials(accessKeyId, accessKeySecret, securityToken);
        CredentialsProvider provider = new DefaultCredentialProvider(credentials);

        // Inisialisasi klien.
        SyncClient client = new SyncClient(endpoint, provider, instanceName, null, new ResourceManager(null, null));

        /*
        // Anda dapat menggunakan ClientConfiguration untuk memodifikasi konfigurasi default. Contoh berikut mencakup konfigurasi kustom tertentu.
        ClientConfiguration clientConfiguration = new ClientConfiguration();
        clientConfiguration.setConnectionTimeoutInMillisecond(5000); // Tentukan periode timeout untuk membangun koneksi. Unit: milidetik.
        clientConfiguration.setSocketTimeoutInMillisecond(5000); // Tentukan periode timeout soket. Unit: milidetik.
        clientConfiguration.setRetryStrategy(new AlwaysRetryStrategy()); // Tentukan kebijakan ulang. Jika tidak menentukan kebijakan ulang, kebijakan ulang default digunakan.
        SyncClient client = new SyncClient(endpoint, provider, instanceName, clientConfiguration, new ResourceManager(null, null));
         */

        // Tanyakan daftar tabel data dalam instans dan tampilkan daftarnya di konsol Tablestore.
        ListTableResponse listTableResponse = client.listTable();
        listTableResponse.getTableNames().forEach(System.out::println);

        // Matikan klien Tablestore.
        client.shutdown();
    }
}
Go

Kode contoh Go berikut memberikan contoh cara menginisialisasi klien dan menanyakan daftar tabel data dalam instans:

package main

import (
	"fmt"
	"os"
	"github.com/aliyun/aliyun-tablestore-go-sdk/tablestore"
)

func main() {
	// Tentukan nama instans.
	instanceName := "yourInstanceName"
	// Tentukan titik akhir instans.
	endpoint := "yourEndpoint"
	// Dapatkan ID AccessKey sementara, rahasia AccessKey sementara, dan token keamanan dari variabel lingkungan.
	accessKeyId := os.Getenv("TABLESTORE_ACCESS_KEY_ID")
	accessKeySecret := os.Getenv("TABLESTORE_ACCESS_KEY_SECRET")
	securityToken := os.Getenv("TABLESTORE_SESSION_TOKEN")

	// Inisialisasi klien.
	client := tablestore.NewClientWithConfig(endpoint, instanceName, accessKeyId, accessKeySecret, securityToken, nil)	

	// Tanyakan daftar tabel data dalam instans dan tampilkan daftarnya di konsol Tablestore.
	tables, err := client.ListTable()
    if err != nil {
        fmt.Println("Gagal menampilkan tabel.")
    } else {
        for _, table := range (tables.TableNames) {
            fmt.Println(table)
        }
    }
}
Python

Kode contoh Python berikut memberikan contoh cara menginisialisasi klien dan menanyakan daftar tabel data dalam instans:

# -*- coding: utf-8 -*-
import os
from tablestore import OTSClient

# Tentukan nama instans.
instance_name = "yourInstanceName"
# Tentukan titik akhir instans.
endpoint = "yourEndpoint"
# Dapatkan ID AccessKey sementara, rahasia AccessKey sementara, dan token keamanan dari variabel lingkungan.
access_key_id = os.getenv("TABLESTORE_ACCESS_KEY_ID")
access_key_secret = os.getenv("TABLESTORE_ACCESS_KEY_SECRET")
sts_token = os.getenv("TABLESTORE_SESSION_TOKEN")

# Inisialisasi klien.
client = OTSClient(endpoint, access_key_id, access_key_secret, instance_name, sts_token=sts_token)

# Tanyakan daftar tabel data dalam instans dan tampilkan daftarnya di konsol Tablestore.
resp = client.list_table()
for table_name in resp:
    print(table_name)
Node.js

Kode contoh Node.js berikut memberikan contoh cara menginisialisasi klien dan menanyakan daftar tabel data dalam instans:

// Dalam contoh ini, jalurnya adalah jalur relatif. Modifikasi jalur berdasarkan kebutuhan bisnis Anda.
var TableStore = require('../index.js');

// Tentukan nama instans.
var instancename = 'yourInstanceName';
// Tentukan titik akhir instans.
var endpoint = 'yourEndpoint';
// Dapatkan ID AccessKey sementara, rahasia AccessKey sementara, dan token keamanan dari variabel lingkungan.
var accessKeyId = process.env.TABLESTORE_ACCESS_KEY_ID;
var accessKeySecret = process.env.TABLESTORE_ACCESS_KEY_SECRET;
var stsToken = process.env.TABLESTORE_SESSION_TOKEN;

// Inisialisasi klien Tablestore.
var client = new TableStore.Client({
  accessKeyId: accessKeyId,
  secretAccessKey: accessKeySecret,
  stsToken: stsToken,
  endpoint: endpoint,
  instancename: instancename 
});

// Tanyakan daftar tabel data dalam instans dan tampilkan daftarnya di konsol Tablestore.
client.listTable({}, function (err, data) {
    if (err) {
        console.log('error:', err);
        return;
    }
    console.log('success:', data);
});
PHP

Kode contoh PHP berikut memberikan contoh cara menginisialisasi klien dan menanyakan daftar tabel data dalam instans:

<?php
// Dalam contoh ini, jalurnya adalah jalur relatif. Modifikasi jalur berdasarkan kebutuhan bisnis Anda.
require (__DIR__ . '/../../vendor/autoload.php');

use Aliyun\OTS\OTSClient as OTSClient;

// Tentukan nama instans.
$instanceName = "yourInstanceName";
// Tentukan titik akhir instans.
$endpoint = "yourEndpoint";
// Dapatkan ID AccessKey sementara, rahasia AccessKey sementara, dan token keamanan dari variabel lingkungan.
$accessKeyId = getenv('TABLESTORE_ACCESS_KEY_ID');
$accessKeySecret = getenv('TABLESTORE_ACCESS_KEY_SECRET');
$stsToken = getenv('TABLESTORE_SESSION_TOKEN');


// Inisialisasi klien Tablestore.
$otsClient = new OTSClient(array(
    'EndPoint' => $endpoint,
    'AccessKeyID' => $accessKeyId,
    'AccessKeySecret' => $accessKeySecret,
    'InstanceName' => $instanceName,
    'StsToken' => $stsToken,
));

// Tanyakan daftar tabel data dalam instans dan tampilkan daftarnya di konsol Tablestore.
$response = $otsClient->listTable (array ());
print json_encode ($response);

Model TimeSeries

Saat menggunakan model TimeSeries, Anda harus menggunakan kredensial akses sementara yang diperoleh dari STS untuk menginisialisasi klien untuk model TimeSeries dan memulai permintaan. Hanya Tablestore SDK untuk Java, Tablestore SDK untuk Go, dan Tablestore SDK untuk Python yang mendukung model TimeSeries.

Java
(Direkomendasikan) Gunakan tanda tangan V4

Kode contoh Java berikut memberikan contoh cara menggunakan tanda tangan V4 untuk menginisialisasi klien dan menanyakan daftar tabel seri waktu dalam instans:

import com.alicloud.openservices.tablestore.ClientConfiguration;
import com.alicloud.openservices.tablestore.TimeseriesClient;
import com.alicloud.openservices.tablestore.core.ResourceManager;
import com.alicloud.openservices.tablestore.core.auth.CredentialsProvider;
import com.alicloud.openservices.tablestore.core.auth.DefaultCredentialProvider;
import com.alicloud.openservices.tablestore.core.auth.DefaultCredentials;
import com.alicloud.openservices.tablestore.core.auth.V4Credentials;
import com.alicloud.openservices.tablestore.model.AlwaysRetryStrategy;
import com.alicloud.openservices.tablestore.model.timeseries.ListTimeseriesTableResponse;

public class InitTimeseriesClientV4 {
    public static void main(String[] args) {
        // Tentukan wilayah tempat instans Anda berada. Contoh: cn-hangzhou.
        final String region = "yourRegion";
        // Tentukan nama instans.
        final String instanceName = "yourInstanceName";
        // Tentukan titik akhir instans Anda.
        final String endpoint = "yourEndpoint";
        // Dapatkan ID AccessKey sementara, rahasia AccessKey sementara, dan token keamanan dari variabel lingkungan.
        final String accessKeyId = System.getenv("TABLESTORE_ACCESS_KEY_ID");
        final String accessKeySecret = System.getenv("TABLESTORE_ACCESS_KEY_SECRET");
        final String securityToken = System.getenv("TABLESTORE_SESSION_TOKEN");

        // Buat tanda tangan V4.
        DefaultCredentials credentials = new DefaultCredentials(accessKeyId, accessKeySecret, securityToken);
        V4Credentials credentialsV4 = V4Credentials.createByServiceCredentials(credentials, region);
        CredentialsProvider provider = new DefaultCredentialProvider(credentialsV4);

        // Inisialisasi klien TimeSeries.
        TimeseriesClient client = new TimeseriesClient(endpoint, provider, instanceName, null, new ResourceManager(null, null));

        /*
        // Anda dapat menggunakan ClientConfiguration untuk memodifikasi konfigurasi default. Contoh berikut mencakup beberapa konfigurasi kustom.
        ClientConfiguration clientConfiguration = new ClientConfiguration();
        clientConfiguration.setConnectionTimeoutInMillisecond(5000); // Tentukan periode timeout untuk membangun koneksi. Unit: milidetik.
        clientConfiguration.setSocketTimeoutInMillisecond(5000); // Tentukan periode timeout soket. Unit: milidetik.
        clientConfiguration.setRetryStrategy(new AlwaysRetryStrategy()); // Tentukan kebijakan ulang. Jika tidak menentukan kebijakan ulang, kebijakan ulang default digunakan.
        TimeseriesClient client = new TimeseriesClient(endpoint, provider, instanceName, clientConfiguration, new ResourceManager(null, null));
         */

        // Tanyakan daftar tabel seri waktu dalam instans dan tampilkan daftarnya di konsol Tablestore.
        ListTimeseriesTableResponse listTimeseriesTableResponse = client.listTimeseriesTable();
        listTimeseriesTableResponse.getTimeseriesTableNames().forEach(System.out::println);

        // Matikan klien TimeSeries.
        client.shutdown();
    }
}
Gunakan tanda tangan V2

Kode contoh Java berikut memberikan contoh cara menggunakan tanda tangan V2 untuk menginisialisasi klien dan menanyakan daftar tabel seri waktu dalam instans:

import com.alicloud.openservices.tablestore.ClientConfiguration;
import com.alicloud.openservices.tablestore.TimeseriesClient;
import com.alicloud.openservices.tablestore.core.ResourceManager;
import com.alicloud.openservices.tablestore.core.auth.CredentialsProvider;
import com.alicloud.openservices.tablestore.core.auth.DefaultCredentialProvider;
import com.alicloud.openservices.tablestore.core.auth.DefaultCredentials;
import com.alicloud.openservices.tablestore.model.AlwaysRetryStrategy;
import com.alicloud.openservices.tablestore.model.timeseries.ListTimeseriesTableResponse;

public class InitTimeseriesClientV2 {
    public static void main(String[] args) {
        // Tentukan nama instans.
        final String instanceName = "yourInstanceName";
        // Tentukan titik akhir instans.
        final String endpoint = "yourEndpoint";
        // Dapatkan ID AccessKey sementara, rahasia AccessKey sementara, dan token keamanan dari variabel lingkungan.
        final String accessKeyId = System.getenv("TABLESTORE_ACCESS_KEY_ID");
        final String accessKeySecret = System.getenv("TABLESTORE_ACCESS_KEY_SECRET");
        final String securityToken = System.getenv("TABLESTORE_SESSION_TOKEN");

        // Buat tanda tangan V2.
        DefaultCredentials credentials = new DefaultCredentials(accessKeyId, accessKeySecret, securityToken);
        CredentialsProvider provider = new DefaultCredentialProvider(credentials);

        // Inisialisasi klien.
        TimeseriesClient client = new TimeseriesClient(endpoint, provider, instanceName, null, new ResourceManager(null, null));

        /*
        // Anda dapat menggunakan ClientConfiguration untuk memodifikasi konfigurasi default. Contoh berikut mencakup konfigurasi kustom tertentu. 
        ClientConfiguration clientConfiguration = new ClientConfiguration();
        clientConfiguration.setConnectionTimeoutInMillisecond(5000); // Tentukan periode timeout untuk membangun koneksi. Unit: milidetik. 
        clientConfiguration.setSocketTimeoutInMillisecond(5000); // Tentukan periode timeout soket. Unit: milidetik. 
        clientConfiguration.setRetryStrategy(new AlwaysRetryStrategy()); // Tentukan kebijakan ulang. Jika tidak menentukan kebijakan ulang, kebijakan ulang default digunakan. 
        TimeseriesClient client = new TimeseriesClient(endpoint, provider, instanceName, clientConfiguration, new ResourceManager(null, null));
         */

        // Tanyakan daftar tabel seri waktu dalam instans dan tampilkan daftarnya di konsol Tablestore.
        ListTimeseriesTableResponse listTimeseriesTableResponse = client.listTimeseriesTable();
        listTimeseriesTableResponse.getTimeseriesTableNames().forEach(System.out::println);

        // Matikan klien TimeSeries.
        client.shutdown();
    }
}
Go

Kode contoh Go berikut memberikan contoh cara menginisialisasi klien dan menanyakan daftar tabel seri waktu dalam instans:

package main

import (
    "fmt"
    "os"
    "github.com/aliyun/aliyun-tablestore-go-sdk/tablestore"
)

func main() {
    // Tentukan nama instans.
    instanceName := "yourInstanceName"
    // Tentukan titik akhir instans.
    endpoint := "yourEndpoint"
    // Dapatkan ID AccessKey sementara, rahasia AccessKey sementara, dan token keamanan dari variabel lingkungan.
    accessKeyId := os.Getenv("TABLESTORE_ACCESS_KEY_ID")
    accessKeySecret := os.Getenv("TABLESTORE_ACCESS_KEY_SECRET")
    securityToken := os.Getenv("TABLESTORE_SESSION_TOKEN")

    // Inisialisasi klien.
    client := tablestore.NewTimeseriesClientWithConfig(endpoint, instanceName, accessKeyId, accessKeySecret, securityToken, nil, nil)    

    // Tanyakan daftar tabel seri waktu dalam instans dan tampilkan daftarnya di konsol Tablestore.
    timeseriesTables, err := client.ListTimeseriesTable()
    if err != nil {
        fmt.Println("Gagal menampilkan tabel.")
    } else {
        for _, timeseriesTablesMeta := range (timeseriesTables.GetTimeseriesTableMeta()) {
            fmt.Println(timeseriesTablesMeta.GetTimeseriesTableName())
        }
    }
}
Python

Kode contoh Python berikut memberikan contoh cara menginisialisasi klien dan menanyakan daftar tabel seri waktu dalam instans:

# -*- coding: utf-8 -*-
import os
from tablestore import OTSClient

# Tentukan nama instans.
instance_name = "yourInstanceName"
# Tentukan titik akhir instans.
endpoint = "yourEndpoint"
# Dapatkan ID AccessKey sementara, rahasia AccessKey sementara, dan token keamanan dari variabel lingkungan.
access_key_id = os.getenv("TABLESTORE_ACCESS_KEY_ID")
access_key_secret = os.getenv("TABLESTORE_ACCESS_KEY_SECRET")
sts_token = os.getenv("TABLESTORE_SESSION_TOKEN")

# Inisialisasi klien.
client = OTSClient(endpoint, access_key_id, access_key_secret, instance_name, sts_token=sts_token)

# Tanyakan daftar tabel seri waktu dalam instans dan tampilkan daftarnya di konsol Tablestore.
response = client.list_timeseries_table()
for tableMeta in response:
    print(tableMeta.timeseries_table_name)

FAQ

Q: Apa yang harus saya lakukan jika pesan kesalahan Anda tidak memiliki otorisasi untuk melakukan tindakan ini. Anda harus diotorisasi oleh RAM. muncul?

Saat Anda mengasumsikan Peran RAM menggunakan Pengguna RAM untuk mendapatkan kredensial akses sementara, Anda harus menggunakan pasangan AccessKey (ID AccessKey dan Rahasia AccessKey) dari Pengguna RAM, bukan pasangan AccessKey dari akun Alibaba Cloud.

Q: Apa yang harus saya lakukan jika pesan kesalahan Nilai Min/Maks dari DurationSeconds adalah 15 menit/1 jam. muncul?

Kesalahan ini terjadi karena periode validitas kredensial akses sementara tidak berada dalam rentang yang diharapkan. Tentukan periode validitas berdasarkan aturan berikut:

  • Jika durasi sesi maksimum default (3.600 detik) digunakan, periode validitas minimum adalah 900 detik dan periode validitas maksimum adalah 3.600 detik untuk kredensial akses sementara.

  • Jika durasi sesi maksimum kustom ditentukan untuk peran, periode validitas minimum adalah 900 detik dan periode validitas maksimum sama dengan durasi sesi maksimum yang ditentukan. Durasi sesi maksimum untuk peran berkisar antara 3.600 hingga 43.200 detik.

Anda dapat melihat durasi sesi maksimum untuk peran di Konsol RAM.

Q: Apa yang harus saya lakukan jika pesan kesalahan Token keamanan yang Anda berikan tidak valid. muncul?

Pastikan bahwa Anda menentukan token keamanan lengkap yang diperoleh dari STS dan periksa apakah variabel lingkungan dikonfigurasi dengan benar.

Q: Bisakah saya memperoleh beberapa set kredensial akses sementara pada saat yang bersamaan?

Ya. Anda bisa mendapatkan satu set kredensial akses sementara dengan mengirimkan permintaan ke STS. Jika Anda ingin mendapatkan beberapa set kredensial akses sementara dari STS, Anda perlu mengirimkan beberapa permintaan ke STS. Anda dapat menggunakan beberapa set kredensial akses sementara secara bersamaan selama periode validitas mereka.

Q: Apa yang harus saya lakukan jika pengecualian Permintaan ditolak oleh kebijakan ACL instans terjadi saat saya menggunakan SDK untuk mengakses Tablestore?

Kesalahan ini menunjukkan bahwa jenis jaringan yang digunakan oleh klien Anda untuk mengakses sumber daya di instans Tablestore tidak didukung oleh instans tersebut. Anda harus pergi ke halaman Instance Management di konsol Tablestore, klik tab Network Management, dan kemudian konfigurasikan parameter Tipe Jaringan yang Diizinkan. Untuk informasi lebih lanjut, lihat Kesalahan "Permintaan ditolak oleh kebijakan ACL instans" saat Anda menggunakan SDK untuk mengakses Tablestore.