Todos os produtos
Search
Central de documentação

Object Storage Service:Gerencie a lista de controle de acesso de um bucket (Python SDK V2)

Última atualização: Jul 03, 2026

Defina e obtenha a lista de controle de acesso (ACL) de um bucket com o OSS SDK for Python V2.

Observações

  • O código de exemplo deste tópico usa o ID da região cn-hangzhou como referência e um endpoint público por padrão. Para acessar o OSS a partir de outros serviços da Alibaba Cloud na mesma região, use um endpoint interno. Para mais informações, consulte Regiões e endpoints do OSS.

  • Você precisa da permissão oss:PutBucketAcl para definir a ACL de um bucket e da permissão oss:GetBucketAcl para obtê-la. Para mais detalhes, consulte Conceder políticas personalizadas a usuários RAM.

Definição dos métodos

Defina a lista de controle de acesso do bucket

put_bucket_acl(request: PutBucketAclRequest, **kwargs) → PutBucketAclResult

Obter a lista de controle de acesso do bucket

get_bucket_acl(request: GetBucketAclRequest, **kwargs) → GetBucketAclResult

Lista de parâmetros da requisição

Nome do parâmetro

Tipo

Descrição

request

PutBucketAclRequest

Parâmetros da requisição. Para mais informações, consulte PutBucketAclRequest

GetBucketAclRequest

Parâmetros da requisição. Para mais informações, consulte GetBucketAclRequest

Lista de valores de retorno

Tipo

Descrição

GetBucketAclResult

Valor de retorno. Para mais informações, consulte GetBucketAclResult

PutBucketAclResult

Valor de retorno. Para mais informações, consulte PutBucketAclResult

Para a definição completa do método de configuração da ACL do bucket, consulte put_bucket_acl.

Para a definição completa do método de consulta da ACL do bucket, consulte get_bucket_acl.

Tipos de lista de controle de acesso do bucket

As ACLs de bucket dividem-se nos três tipos a seguir:

Lista de controle de acesso

Descrição

Valor da permissão

Private

Somente o proprietário do bucket e usuários autorizados podem ler e gravar objetos no bucket. Outros usuários não têm acesso aos objetos.

private

Public read

O proprietário do bucket e usuários autorizados podem ler e gravar objetos no bucket. Demais usuários, incluindo anônimos, têm apenas permissão de leitura. Tenha cautela ao usar esta permissão.

public-read

Public read-write

Qualquer usuário pode ler e gravar objetos no bucket. Use esta permissão com extremo cuidado.

public-read-write

Código de exemplo

O exemplo abaixo demonstra como definir e obter a ACL do bucket.

import argparse
import alibabacloud_oss_v2 as oss

# Create a command line argument parser and add description information
parser = argparse.ArgumentParser(description="put bucket acl sample")
# Add required command line arguments: region, bucket, and acl
parser.add_argument('--region', help='The region in which the bucket is located.', required=True)
parser.add_argument('--bucket', help='The name of the bucket.', required=True)
# Add optional command line argument: endpoint, used to specify the domain name for other services to access OSS
parser.add_argument('--endpoint', help='The domain names that other services can use to access OSS')
# Add required command line argument: acl, used to specify the access permission ACL for the bucket, such as private, public-read, public-read-write
parser.add_argument('--acl', help='Specify the access permission ACL for the bucket.', required=True)

def main():
    # Parse command line arguments
    args = parser.parse_args()

    # Load authentication information from environment variables
    credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()

    # Use SDK default configuration
    cfg = oss.config.load_default()
    # Set credentials provider
    cfg.credentials_provider = credentials_provider
    # Set region
    cfg.region = args.region
    # If endpoint is provided, update endpoint in the configuration
    if args.endpoint is not None:
        cfg.endpoint = args.endpoint

    # Create OSS client
    client = oss.Client(cfg)

    # Call put_bucket_acl method to set the bucket ACL
    result = client.put_bucket_acl(oss.PutBucketAclRequest(
        bucket=args.bucket,
        acl=args.acl,
    ))

    # Print the status code and request ID of the request
    print(f'status code: {result.status_code}, request id: {result.request_id}')

    # Obtain the ACL of the specified bucket
    result = client.get_bucket_acl(oss.GetBucketAclRequest(
        bucket=args.bucket,
    ))

    # Print the status code, request ID, and ACL information in the result
    print(f'status code: {result.status_code},'
          f' request id: {result.request_id},'
          f' acl: {result.acl},'
    )

if __name__ == "__main__":
    main()

Referências

  • Para ver o código de exemplo completo sobre como definir a ACL do bucket, acesse put_bucket_acl.py.

  • Para obter o código de exemplo completo sobre como consultar a ACL de um bucket, acesse get_bucket_acl.py.