Todos os produtos
Search
Central de documentação

Object Storage Service:Manage file access permissions (iOS SDK)

Última atualização: Sep 24, 2026

Defina a lista de controle de acesso (ACL) de um objeto com um dos seguintes valores: Inherited from bucket, Private, Public Read e Public Read/Write. Este tópico descreve como gerenciar a ACL de um objeto.

Notas de uso

  • Antes de executar o código de exemplo deste tópico, crie uma instância OSSClient usando métodos como domínio personalizado ou Security Token Service (STS). Para mais informações, consulte Initialization.

ACLs de objetos

Permissões de acesso

Descrição

Access Permissions

Inherited from bucket

Os arquivos herdam as permissões de acesso do bucket.

default

Private

Somente o proprietário do objeto e usuários autorizados têm permissões de leitura e gravação sobre o objeto.

private

Public read

Somente o proprietário do objeto e usuários autorizados têm permissões de leitura e gravação sobre o objeto. Todos os usuários têm permissão de leitura. Use este valor com cautela ao configurar a ACL do objeto.

public-read

Public read/write

Todos os usuários têm permissões de leitura e gravação sobre o objeto. Use este valor com cautela ao configurar a ACL do objeto.

public-read-write

A ACL de um objeto tem precedência sobre a ACL do bucket em que o objeto está armazenado. Por exemplo, se a ACL do bucket for private e a ACL de um objeto nesse bucket for public read/write, todos os usuários recebem permissões de leitura e gravação sobre o objeto. Quando a ACL de um objeto não está configurada, o objeto assume a mesma ACL do bucket em que está armazenado.

Configure a ACL de um objeto

O exemplo de código a seguir demonstra como defina a ACL do objeto exampleobject.txt, no bucket examplebucket, como private:

OSSPutObjectACLRequest *request = [OSSPutObjectACLRequest new];
// Specify the name of the bucket. Example: examplebucket. 
request.bucketName = @"examplebucket";
// Specify the full path of the object. Do not include the bucket name in the full path. Example: exampleobject.txt. 
request.objectKey = @"exampleobject.txt";
/**
 * Configure the object ACL. 
 * public-read
 * private
 * public-read-write
 * default
 */
request.acl = @"private";

OSSTask * putObjectACLTask = [client putObjectACL:request];
[putObjectACLTask continueWithBlock:^id(OSSTask *task) {
    if (!task.error) {
        NSLog(@"put object ACL success!");
    } else {
        NSLog(@"put object ACL failed, error: %@", task.error);
    }
    return nil;
}];
// Implement synchronous blocking to wait for the task to complete. 
// [putObjectACLTask waitUntilFinished];

Obter permissões de acesso a arquivos

O exemplo de código a seguir demonstra como consultar a ACL do objeto exampleobject.txt no bucket examplebucket:

OSSGetObjectACLRequest *request = [OSSGetObjectACLRequest new];
// Specify the name of the bucket. Example: examplebucket. 
request.bucketName = @"examplebucket";
// Specify the full path of the object. Do not include the bucket name in the full path. Example: exampleobject.txt. 
request.objectName = @"exampleobject.txt";

OSSTask * getObjectACLTask = [client getObjectACL:request];
[getObjectACLTask continueWithBlock:^id(OSSTask *task) {
    if (!task.error) {
        OSSGetObjectACLResult *result = task.result;
        NSLog(@"objectACL: %@", result.grant);
    } else {
        NSLog(@"get object ACL failed, error: %@", task.error);
    }
    return nil;
}];
// Implement synchronous blocking to wait for the task to complete. 
// [putObjectACLTask waitUntilFinished];

Referências

  • Para mais informações sobre a operação de API usada para configurar a ACL de um objeto, consulte PutObjectACL.

  • Para mais informações sobre a operação de API usada para consultar a ACL de um objeto, consulte GetObjectACL.

  • Para mais informações sobre como inicializar uma instância OSSClient, consulte Initialization.