Todos os produtos
Search
Central de documentação

Object Storage Service:Gerenciar permissões de acesso a arquivos (Browser.js SDK)

Última atualização: Jul 03, 2026

No OSS, é possível definir permissões de acesso para objetos e controlar como eles são acessados.

Observações de uso

  • Ao utilizar ferramentas de empacotamento como Webpack e Browserify, instale o OSS SDK for Browser.js executando o comando npm install ali-oss.

  • Caso você tente acessar um bucket do OSS pelo navegador sem que regras de CORS estejam configuradas, a solicitação será rejeitada. Por isso, configure as regras de CORS no bucket antes de acessá-lo via navegador. Para mais informações, consulte Instalação.

  • O OSS SDK for Browser.js é geralmente executado em navegadores. Para evitar a exposição do seu par de AccessKey, recomendamos o uso de credenciais de acesso temporárias obtidas por meio do Security Token Service (STS) para acessar o OSS.

    Essas credenciais temporárias incluem um par de AccessKey e um token de segurança. O par de AccessKey é composto por um AccessKey ID e um AccessKey secret. Para saber como obter credenciais de acesso temporárias, consulte Usar STS para autorização de acesso temporário.

Tipos de permissão de leitura e gravação

Os objetos possuem quatro tipos de listas de controle de acesso (ACLs):

Nota

As permissões de acesso de um objeto têm prioridade sobre as permissões do bucket ao qual pertence. Por exemplo, se um bucket for privado, mas um objeto dentro dele estiver configurado como public-read, qualquer pessoa, incluindo usuários anônimos, poderá ler esse objeto.

Tipo de permissão

Descrição

Valor da permissão

Herdar do bucket (padrão)

Se nenhuma permissão de acesso específica for definida para o objeto, ele herdará a ACL do bucket, assumindo as mesmas permissões.

default

Privado

Somente o proprietário do objeto tem permissão para lê-lo e gravá-lo. Outros usuários não podem acessá-lo.

private

Leitura pública

Apenas o proprietário pode gravar no objeto. Qualquer pessoa, inclusive usuários anônimos, pode realizar leituras.

Aviso

Qualquer usuário na internet consegue acessar o objeto, o que pode resultar em vazamento de dados e aumento inesperado nos custos. Utilize essa permissão com cautela.

public-read

Leitura e gravação públicas

Todos os usuários, incluindo anônimos, têm permissão para ler e gravar no objeto.

Aviso

O acesso irrestrito permite que qualquer pessoa na internet leia ou escreva dados no objeto. Isso eleva o risco de vazamentos, custos excessivos e inserção de conteúdo ilegal por terceiros, podendo causar danos jurídicos. Evite configurar permissões de leitura e gravação públicas, exceto quando estritamente necessário.

public-read-write

Código de exemplo

Por padrão, ao fazer upload de um objeto, ele herda a ACL do bucket. Para alterar essa configuração, utilize putACL e modifique a ACL do objeto conforme necessário.

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Document</title>
  </head>
  <body>
    <script src="https://gosspublic.alicdn.com/aliyun-oss-sdk-6.18.0.min.js"></script>
    <script>
      const client = new 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",
        authorizationV4: true,
        // The temporary AccessKey pair (AccessKey ID and AccessKey secret) obtained from Security Token Service (STS).
        accessKeyId: "yourAccessKeyId",
        accessKeySecret: "yourAccessKeySecret",
        // The security token (SecurityToken) obtained from STS.
        stsToken: "yourSecurityToken",
        // Specify the bucket name. For example, examplebucket.
        bucket: "examplebucket",
      });

      async function getACL() {
        try {
          result = await client.getACL("examplefile.txt");
          console.log(result.acl);

          await client.putACL("examplefile.txt", "public-read");
          result = await client.getACL("examplefile.txt");
          console.log(result.acl);
        } catch (e) {
          console.log(e);
        }
      }

      getACL();
    </script>
  </body>
</html>

Referências