All Products
Search
Document Center

Object Storage Service:0003-00000301

Last Updated:Aug 21, 2026

Deskripsi masalah

Permintaan ditolak oleh kebijakan yang dikonfigurasi untuk token keamanan yang dihasilkan oleh Security Token Service (STS).

Penyebab

Parameter policy dalam kode untuk memperoleh token keamanan dari STS menyebabkan masalah izin.

Contoh

Misalnya, dalam contoh kode Java berikut untuk memperoleh token keamanan, parameter policy menentukan izin yang terkait dengan token tersebut. Izin aktual yang diterapkan pada token keamanan merupakan irisan antara izin peran dan izin yang ditentukan dalam parameter policy pada kode tersebut:

String roleSessionName = "<session-name>";
String policy = "{\n" +
        "    \"Version\": \"1\", \n" +
        "    \"Statement\": [\n" +
        "        {\n" +
        "            \"Action\": [\n" +
        "                \"oss:*\"\n" +
        "            ], \n" +
        "            \"Resource\": [\n" +
        "                \"acs:oss:*:*:*\" \n" +
        "            ], \n" +
        "            \"Effect\": \"Allow\"\n" +
        "        }\n" +
        "    ]\n" +
        "}";
try {
    // Tambahkan endpoint. Endpoint STS digunakan langsung, sehingga biarkan dua parameter pertama kosong dan jangan tentukan region ID.
    DefaultProfile.addEndpoint("", "", "Sts", endpoint);
    // Buat profil default. Biarkan parameternya kosong dan jangan tentukan region ID.
    IClientProfile profile = DefaultProfile.getProfile("", accessKeyId, accessKeySecret);
    // Gunakan profil untuk membuat client.
    DefaultAcsClient client = new DefaultAcsClient(profile);
    final AssumeRoleRequest request = new AssumeRoleRequest();
    request.setMethod(MethodType.POST);
    request.setRoleArn(roleArn);
    request.setRoleSessionName(roleSessionName);
    request.setPolicy(policy); // Jika policy kosong, pengguna diberikan semua izin dari role tersebut.
    request.setDurationSeconds(1000L); // Tentukan periode validitas kredensial.

Solusi

Periksa izin yang ditentukan dalam parameter policy pada operasi API OSS. Untuk informasi selengkapnya, lihat Gunakan kredensial temporary yang disediakan oleh STS untuk mengakses OSS. Izin aktual yang diterapkan pada token keamanan merupakan irisan antara izin peran yang diberikan dalam Langkah 4: Berikan izin peran untuk mengunggah objek ke OSS dan izin yang ditentukan oleh parameter policy dalam Langkah 5: Peroleh kredensial akses temporary. Gunakan contoh berikut untuk memeriksa irisan izin yang Anda konfigurasi dalam kedua langkah tersebut.

  • Contoh 1

    Jika izin peran yang dikonfigurasi dalam Langkah 4 adalah izin sistem AliyunOSSFullAccess dan izin oss:PutObject dikonfigurasi dalam Langkah 5, kredensial akses temporary akhirnya memperoleh izin oss:PutObject. Dalam kasus ini, Anda hanya dapat mengunggah objek ke bucket yang ditentukan.

  • Contoh 2

    Jika izin peran yang dikonfigurasi dalam Langkah 4 adalah izin oss:PutObject dan izin oss:GetObject dikonfigurasi dalam Langkah 5, kredensial akses temporary tidak memperoleh izin apa pun sehingga tidak ada operasi yang dapat dilakukan pada bucket yang ditentukan.