Todos os produtos
Search
Central de documentação

Object Storage Service:Gerencie permissões de acesso a objetos (Node.js SDK)

Última atualização: Jul 03, 2026

Além das listas de controle de acesso (ACLs) no nível de bucket, o Object Storage Service (OSS) oferece ACLs no nível de objeto. Configure a ACL de um objeto durante o upload ou altere a ACL de um objeto já enviado.

Tipos de permissão de acesso

As permissões de acesso a objetos (ACLs) dividem-se nos quatro tipos a seguir:

Permissão de acesso

Descrição

Valor da permissão de acesso

Herdar do bucket

O objeto herda as permissões de acesso do bucket.

default

Privado

O proprietário do objeto e os usuários autorizados têm permissões de leitura e gravação. Outros usuários não têm permissão para acessar o objeto.

private

Leitura pública

O proprietário do objeto e os usuários autorizados têm permissões de leitura e gravação. Outros usuários têm apenas permissão de leitura. Use esta permissão com cautela.

public-read

Leitura e gravação públicas

Todos os usuários têm permissões de leitura e gravação no objeto. Use esta permissão com cautela.

public-read-write

Defina permissões de acesso a objetos

O exemplo de código a seguir mostra como configurar a ACL de um objeto:

const oss = require('ali-oss');

const client = oss({ 
  // Set region to the region where the bucket is located. For example, if the bucket is in the China (Hangzhou) region, set region to oss-cn-hangzhou.
  region: 'yourregion',
  // Obtain access credentials from environment variables. Before running the sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are set.
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // Set bucket to the name of your bucket.
  bucket: 'yourbucketname'
});
  
async function setACL() {
  try {
    // Set yourObjectName to the full path of the object. The full path cannot contain the bucket name.
    await client.putACL('yourObjectName', 'private');
    console.log('Set ACL successfully');
  } catch (e) {
    console.error(e);
  }
}

setACL();

Obter permissões de acesso a objetos

O exemplo de código a seguir mostra como consultar a ACL de um objeto:

const oss = require('ali-oss');

const client = oss({
  // Set region to the region where the bucket is located. For example, if the bucket is in the China (Hangzhou) region, set region to oss-cn-hangzhou.
  region: 'yourregion',
  // Obtain access credentials from environment variables. Before running the sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are set.
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // Set bucket to the name of your bucket.
  bucket: 'yourbucketname',
});
  
async function getACL() {
  try {
    // Set yourObjectName to the full path of the object. The full path cannot contain the bucket name.
    const result = await client.getACL('yourObjectName');
    console.log(result.acl);
  } catch (e) {
    console.error(e);
  }
}

getACL();

Referências

  • Para obter o código de exemplo completo sobre gerenciamento de permissões de acesso a objetos, consulte o exemplo no GitHub.

  • Para mais informações sobre a operação de API destinada a definir permissões de acesso a objetos, consulte PutObjectACL.

  • Para mais detalhes sobre a operação de API usada para recuperar permissões de acesso a objetos, consulte GetObjectACL.