Todos os produtos
Search
Central de documentação

Object Storage Service:Manage file access permissions (Python SDK V1)

Última atualização: Sep 22, 2026

Este tópico descreve como gerenciar permissões de acesso a arquivos.

Informações gerais

Os arquivos aceitam os quatro tipos de listas de controle de acesso (ACLs) a seguir:

Permissão de acesso

Descrição

Valor da ACL

Herdar do bucket

O arquivo herda a ACL do bucket.

oss2.OBJECT_ACL_DEFAULT

Privado

Apenas o proprietário do arquivo e usuários autorizados têm permissões de leitura e gravação no arquivo. Os demais usuários não podem acessá-lo.

oss2.OBJECT_ACL_PRIVATE

Leitura pública

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

oss2.OBJECT_ACL_PUBLIC_READ

Leitura e gravação públicas

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

oss2.OBJECT_ACL_PUBLIC_READ_WRITE

A ACL de um arquivo tem prioridade sobre a ACL do bucket. Por exemplo, se o bucket for privado, mas um arquivo dentro dele for de leitura e gravação públicas, todos os usuários terão permissões de leitura e gravação nesse arquivo. Quando um arquivo não possui uma ACL definida, ele herda a ACL do bucket.

Observações

  • Neste tópico, o endpoint público da região China (Hangzhou) é usado. Para acessar o OSS a partir de outros serviços Alibaba Cloud na mesma região, use um endpoint interno. Para mais informações sobre regiões e endpoints do OSS, consulte Regions and endpoints.

  • Neste tópico, o sistema obtém as credenciais de acesso de variáveis de ambiente. Para saber como configurar credenciais de acesso, consulte Configure access credentials using OSS SDK for Python 1.0.

  • Este tópico demonstra como criar uma instância OSSClient com um endpoint do OSS. Para configurações alternativas, como usar um domínio personalizado ou autenticar com credenciais do Security Token Service (STS), consulte Initialization.

  • Para configurar a ACL de um objeto, você precisa da permissão oss:PutObjectAcl. Para consultar ACLs de objetos, você precisa da permissão oss:GetObjectAcl. Para mais informações, consulte Grant a custom policy.

Definir permissões de acesso a arquivos

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

# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
# Obtain access credentials from environment variables. Before you run the sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are configured.
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())

# Specify the Endpoint for the region where the bucket is located. For example, if the bucket is in the China (Hangzhou) region, set the Endpoint to https://oss-cn-hangzhou.aliyuncs.com.
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"

# Specify the region where the bucket is located, such as cn-hangzhou. Note that this parameter is required for V4 signatures.
region = "cn-hangzhou"

# Set yourBucketName to the name of the bucket.
bucket = oss2.Bucket(auth, endpoint, "yourBucketName", region=region)

# Set yourObjectName to the full path of the object. The full path cannot contain the bucket name.
bucket.put_object_acl('yourObjectName', oss2.OBJECT_ACL_PUBLIC_READ)

Obter permissões de acesso a arquivos

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

# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
# Obtain access credentials from environment variables. Before you run the sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are configured.
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())

# Specify the Endpoint for the region where the bucket is located. For example, if the bucket is in the China (Hangzhou) region, set the Endpoint to https://oss-cn-hangzhou.aliyuncs.com.
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"

# Specify the region where the bucket is located, such as cn-hangzhou. Note that this parameter is required for V4 signatures.
region = "cn-hangzhou"

# Set yourBucketName to the name of the bucket.
bucket = oss2.Bucket(auth, endpoint, "yourBucketName", region=region)

# Set yourObjectName to the full path of the object. The full path cannot contain the bucket name.
print(bucket.get_object_acl('yourObjectName').acl)

Referências

  • Para mais informações sobre a operação de API que define permissões de acesso a arquivos, consulte PutObjectACL.

  • Para mais detalhes sobre a operação de API que recupera permissões de acesso a arquivos, consulte GetObjectACL.