Todos os produtos
Search
Central de documentação

Object Storage Service:Block public access

Última atualização: Jul 03, 2026

O Block Public Access impede o acesso anônimo aos recursos do OSS nos níveis de conta, bucket, access point ou Object FC Access Point. Quando ativado, ignora as permissões públicas existentes e impede a criação de novas.

Verificar acesso público em políticas de bucket e ACLs

Revise as políticas de bucket e as ACLs para verificar se os objetos têm acesso público. Se alguma configuração conceder esse acesso, ative o Block Public Access.

Bucket policy

(Recomendado) Chamar a operação GetBucketPolicyStatus

Chame a operação GetBucketPolicyStatus para verificar se uma política de bucket concede acesso público.

  • Se IsPublic for true, a política de bucket concede acesso público.

  • Se IsPublic for false, a política de bucket não concede acesso público.

Para mais informações, consulte GetBucketPolicyStatus.

Revisar manualmente as configurações da política de bucket

Condições e exemplos de acesso não público

  • Uma instrução de política de bucket é considerada não pública se o elemento Principal ou Condition atender a qualquer um destes critérios:

    Nota
    • Os elementos Action e Resource não afetam a avaliação de acesso público.

    • Se o elemento Effect for Deny, a política não concede acesso público.

    Elemento

    Campo

    Valor

    Principal

    N/A

    Especifica um ou mais valores fixos sem o caractere curinga asterisco (*).

    Condition

    acs:SourceVpcId

    Especifica um ou mais valores fixos sem o caractere curinga asterisco (*).

    acs:SourceVpc

    Especifica um ou mais valores fixos sem o caractere curinga asterisco (*).

    acs:AccessId

    Especifica um ou mais valores fixos sem o caractere curinga asterisco (*).

    acs:SourceVpcIp

    Para endereços IPv4, a máscara deve ser maior ou igual a 8.

    Para endereços IPv6, a máscara deve ser maior ou igual a 32.

    acs:SourceIp

    Para endereços IPv4, a máscara deve ser maior ou igual a 8.

    Para endereços IPv6, a máscara deve ser maior ou igual a 32.

  • A política de bucket a seguir concede acesso não público:

    {
        "Version":"1",
        "Statement":[
            {
                "Action":[
                    "oss:GetObject",
                    "oss:GetObjectAcl",
                    "oss:GetObjectVersion",
                    "oss:GetObjectVersionAcl"
                ],
                "Effect":"Allow",
                "Principal":[
                    "20214760404935xxxx"
                ],
                "Resource":[
                    "acs:oss:*:174649585760xxxx:examplebucket/hangzhou/2020/*",
                    "acs:oss:*:174649585760xxxx:examplebucket/shanghai/2015/*"
                ]
            },
            {
                "Action":[
                    "oss:ListObjects",
                    "oss:ListObjectVersions"
                ],
                "Condition":{
                    "StringLike":{
                        "oss:Prefix":[
                            "hangzhou/2020/*",
                            "shanghai/2015/*"
                        ]
                    }
                },
                "Effect":"Allow",
                "Principal":[
                    "20214760404935xxxx"
                ],
                "Resource":[
                    "acs:oss:*:174649585760xxxx:examplebucket"
                ]
            }
        ]
    }

Condições e exemplos de acesso público

Uma política de bucket concede acesso público se não atender aos critérios de acesso não público. Exemplos:

  • Exemplo 1

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "oss:GetObject",
                "Principal": "*",
                "Resource": "acs:oss:*:17464958576xxxx:examplebucket/*"
            }
        ]
    }
  • Exemplo 2

    Se uma política de bucket contiver uma instrução que permite acesso de todas as VPCs e outra instrução não pública para usuários específicos, a política concede acesso público.

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "oss:GetObject",
                "Principal": "*",
                "Resource": "acs:oss:*:17464958576xxxx:examplebucket/*",
                "Condition": {
                    "StringLike": {
                        "acs:SourceVpc": [
                            "vpc-*"
                            ]
                    }
                }
            },
          	{
                "Effect": "Allow",
                "Action": "oss:*",
                "Principal": "27464958576xxxx",
                "Resource": "*"
            }
        ]
    }

ACL

  • Se a ACL do bucket ou do objeto estiver definida como public-read ou public-read-write, o acesso público será permitido.

  • Se a ACL do bucket e do objeto estiverem definidas como private, o acesso público será negado.

Prioridade do Block Public Access

O Block Public Access aplica-se nos níveis de conta, bucket, access point e Object FC Access Point. Quando configurado em vários níveis, o OSS segue esta prioridade:

Account > Bucket > Access point > Object FC Access Point

As configurações de nível superior substituem as de nível inferior. Por exemplo, o Block Public Access no nível da conta bloqueia o acesso público de todos os buckets, access points e Object FC Access Points, independentemente das configurações individuais.

  • Para permitir acesso público a um bucket, desative o Block Public Access nos níveis global e de bucket.

  • Para permitir acesso público por meio de um access point, desative o Block Public Access nos níveis de conta, bucket e access point.

  • Para permitir acesso público por meio de um Object FC Access Point, desative o Block Public Access nos níveis de conta, bucket, access point e Object FC Access Point.

Notas de uso

  • Um usuário RAM precisa ter as seguintes permissões para gerenciar o Block Public Access:

    • No nível da conta: oss:PutPublicAccessBlock, oss:GetPublicAccessBlock e oss:DeletePublicAccessBlock

    • Para buckets individuais: oss:PutBucketPublicAccessBlock, oss:GetBucketPublicAccessBlock e oss:DeleteBucketPublicAccessBlock

    • Para access points individuais: oss:PutAccessPointPublicAccessBlock, oss:GetAccessPointPublicAccessBlock e oss:DeleteAccessPointPublicAccessBlock

    • Para Object FC Access Points individuais: oss:PutAccessPointConfigForObjectProcess, oss:GetAccessPointConfigForObjectProcess e oss:DeleteAccessPointForObjectProcess

  • Quando ativado, ignora as permissões de acesso público existentes e impede a configuração de novas. Ao desativar, as permissões existentes voltam a vigorar e novas permissões podem ser configuradas.

  • Se uma política de bucket permitir que todos os usuários gerenciem um access point, eles poderão alterar o status do Block Public Access pelo subdomínio do bucket, mesmo com o Block Public Access ativado para o access point. As configurações do access point não se aplicam a solicitações feitas via subdomínios de bucket.

  • Durante a replicação entre regiões (CRR) e a replicação na mesma região (SRR), as ACLs dos objetos são preservadas independentemente das configurações do Block Public Access. Se o Block Public Access estiver ativado no bucket de destino, os objetos replicados não terão acesso público, mesmo que a ACL seja public-read ou public-read-write.

Métodos

Usar o console do OSS

Ativar o Block Public Access no nível global

  1. Faça login no console do OSS.

  2. No painel de navegação à esquerda, escolha Data Service > Block Public Access.

  3. Na página Block Public Access, ative o Block Public Access e siga as instruções na tela.

Ativar o Block Public Access para um bucket

  1. Faça login no console do OSS.

  2. No painel de navegação à esquerda, clique em Buckets. Na página exibida, clique no nome do bucket desejado.

  3. Na árvore de navegação à esquerda, escolha Permission Control > Block Public Access.

  4. Na aba Block Public Access, ative o Block Public Access e siga as instruções na tela.

Ativar o Block Public Access para um access point

  1. Faça login no console do OSS.

  2. No painel de navegação à esquerda, clique em Access Points. Clique no access point desejado.

  3. Na seção Basic Information, clique em Enable ao lado de Block Public Access e siga as instruções na tela.

Ativar o Block Public Access para um Object FC Access Point

  1. Faça login no console do OSS.

  2. No painel de navegação à esquerda, clique em Object FC Access Points. Clique no Object FC Access Point desejado.

  3. Na seção Basic Information, clique em Enable ao lado de Block Public Access e siga as instruções na tela.

Usar ossutil

Use o ossutil para ativar o Block Public Access. Para instalar o ossutil, consulte Instalar ossutil.

  • Ative o Block Public Access no nível da conta:

    ossutil api put-public-access-block --public-access-block-configuration "{\"BlockPublicAccess\":\"true\"}"

    Para mais informações, consulte put-public-access-block.

  • Ative o Block Public Access para examplebucket:

    ossutil api put-bucket-public-access-block --bucket examplebucket --public-access-block-configuration "{\"BlockPublicAccess\":\"true\"}"

    Para mais informações, consulte put-bucket-public-access-block.

  • Ative o Block Public Access para o access point ap-01:

    ossutil api put-access-point-public-access-block --bucket examplebucket --access-point-name ap-01 --public-access-block-configuration "{\"BlockPublicAccess\":\"true\"}"

    Para mais informações, consulte put-access-point-public-access-block.

Operações de API relacionadas

Chame APIs RESTful diretamente com cálculo de assinatura em seu código.

Tópicos relacionados

Para controlar o acesso no nível de objeto dentro de um bucket, combine o Block Public Access com políticas de bucket e ACLs de objeto.