Todos os produtos
Search
Central de documentação

Object Storage Service:bucket-policy

Última atualização: Jul 03, 2026

As políticas de bucket são políticas de autorização baseadas em recursos. Os proprietários de buckets podem usá-las para autorizar outros usuários a acessar recursos específicos no Object Storage Service (OSS). Este tópico descreve como executar o comando bucket-policy para adicionar, modifique, consultar ou exclua políticas de bucket.

Observações de uso

  • Para adicionar ou modifique políticas de bucket, é necessária a permissão oss:PutBucketPolicy. Para consultar políticas de bucket, é necessária a permissão oss:GetBucketPolicy. Para exclua políticas de bucket, é necessária a permissão oss:DeleteBucketPolicy. Para mais informações, consulte Conceder uma política personalizada.

  • No ossutil 1.6.16 e versões posteriores, use diretamente ossutil como nome do binário na linha de comando, sem necessidade de alteração conforme o sistema operacional. Em versões anteriores à 1.6.16, atualize o nome do binário de acordo com o sistema operacional. Para mais detalhes, consulte Guia de início rápido da ferramenta de linha de comando ossutil.

Adicionar ou modifique políticas de bucket

Antes de adicionar ou modifique políticas de bucket, crie um arquivo JSON no computador local e defina as políticas nesse arquivo. É possível configure várias políticas em um único arquivo JSON, desde que o tamanho total não ultrapasse 16 KB.

Ao adicionar ou modifique políticas, o ossutil lê as definições do arquivo JSON e as aplica ao bucket especificado. As novas políticas substituem integralmente as políticas existentes no bucket.

  • Sintaxe do comando

    ossutil bucket-policy --method put oss://bucketname local_json_file

    A tabela a seguir descreve os parâmetros mencionados.

    Parâmetro

    Descrição

    bucketname

    Nome do bucket onde você deseja adicionar ou modifique as políticas.

    local_json_file

    Nome do arquivo JSON local que contém as configurações das políticas de bucket.

  • Exemplos

    1. Crie um arquivo chamado local_json_file no computador local e configure diferentes políticas de bucket conforme o cenário desejado.

      Os exemplos abaixo ilustram a configuração de políticas de bucket comuns.

      Nota

      Nestes exemplos, o proprietário do bucket com UID 174649585760**** no parâmetro Resource configura políticas para conceder permissões distintas a usuários RAM, como o usuário RAM com UID 20214760404935**** no parâmetro Principal, e também a um usuário anônimo representado por *.

      • Permitir que apenas solicitações anônimas originadas de um endereço IP específico acessem todos os recursos no bucket examplebucket:

        {
            "Statement": [
                {
                    "Action": [
                        "oss:GetObject",
                        "oss:GetObjectAcl",
                        "oss:ListObjects",
                        "oss:RestoreObject",
                        "oss:GetVodPlaylist",
                        "oss:ListObjectVersions",
                        "oss:GetObjectVersion",
                        "oss:GetObjectVersionAcl",
                        "oss:RestoreObjectVersion"
                    ],
                    "Condition": {
                        "IpAddress": {
                            "acs:SourceIp": [
                                "10.10.10.10"
                            ]
                        }
                    },
                    "Effect": "Allow",
                    "Principal": [
                        "*"
                    ],
                    "Resource": [
                        "acs:oss:*:174649585760xxxx:examplebucket/*"
                    ]
                },
                {
                    "Action": [
                        "oss:ListObjects",
                        "oss:GetObject"
                    ],
                    "Condition": {
                        "StringLike": {
                            "oss:Prefix": [
                                "*"
                            ]
                        },
                        "IpAddress": {
                            "acs:SourceIp": [
                                "10.10.10.10"
                            ]
                        }
                    },
                    "Effect": "Allow",
                    "Principal": [
                        "*"
                    ],
                    "Resource": [
                        "acs:oss:*:174649585760xxxx:examplebucket"
                    ]
                }
            ],
            "Version": "1"
        }
      • Conceder permissões somente leitura a um usuário RAM nos diretórios hangzhou/2020 e hangzhou/2015 do bucket examplebucket:

        {
            "Statement": [
                {
                    "Action": [
                        "oss:GetObject",
                        "oss:GetObjectAcl",
                        "oss:ListObjects",
                        "oss:RestoreObject",
                        "oss:GetVodPlaylist",
                        "oss:ListObjectVersions",
                        "oss:GetObjectVersion",
                        "oss:GetObjectVersionAcl",
                        "oss:RestoreObjectVersion"
                    ],
                    "Effect": "Allow",
                    "Principal": [
                        "20214760404935xxxx"
                    ],
                    "Resource": [
                        "acs:oss:*:174649585760xxxx:examplebucket/hangzhou/2020/*",
                        "acs:oss:*:174649585760xxxx:examplebucket/hangzhou/2015/*"
                    ]
                },
                {
                    "Action": [
                        "oss:ListObjects",
                        "oss:GetObject"
                    ],
                    "Condition": {
                        "StringLike": {
                            "oss:Prefix": [
                                "hangzhou/2020/*",
                                "hangzhou/2015/*"
                            ]
                        }
                    },
                    "Effect": "Allow",
                    "Principal": [
                        "20214760404935xxxx"
                    ],
                    "Resource": [
                        "acs:oss:*:174649585760xxxx:examplebucket"
                    ]
                }
            ],
            "Version": "1"
        }
      • Bloquear solicitações anônimas para todos os objetos no diretório hangzhou/2021/ do bucket examplebucket:

        {
            "Statement": [
                {
                    "Action": [
                        "oss:RestoreObject",
                        "oss:ListObjects",
                        "oss:AbortMultipartUpload",
                        "oss:PutObjectAcl",
                        "oss:GetObjectAcl",
                        "oss:ListParts",
                        "oss:DeleteObject",
                        "oss:PutObject",
                        "oss:GetObject",
                        "oss:GetVodPlaylist",
                        "oss:PostVodPlaylist",
                        "oss:PublishRtmpStream",
                        "oss:ListObjectVersions",
                        "oss:GetObjectVersion",
                        "oss:GetObjectVersionAcl",
                        "oss:RestoreObjectVersion"
                    ],
                    "Effect": "Deny",
                    "Principal": [
                        "*"
                    ],
                    "Resource": [
                        "acs:oss:*:174649585760xxxx:examplebucket/hangzhou/2021/*"
                    ]
                },
                {
                    "Action": [
                        "oss:ListObjects",
                        "oss:GetObject"
                    ],
                    "Condition": {
                        "StringLike": {
                            "oss:Prefix": [
                                "hangzhou/2021/*"
                            ]
                        }
                    },
                    "Effect": "Deny",
                    "Principal": [
                        "*"
                    ],
                    "Resource": [
                        "acs:oss:*:174649585760xxxx:examplebucket"
                    ]
                }
            ],
            "Version": "1"
        }
    2. Adicione uma política de bucket ao bucket examplebucket.

      ossutil bucket-policy --method put oss://examplebucket local_json_file

      Se a saída abaixo for exibida, a política foi adicionada com sucesso ao bucket examplebucket:

      1.125101(s) elapsed

Consultar políticas de bucket

  • Sintaxe do comando

    ossutil bucket-policy --method get oss://bucketname local_json_file

    Parâmetro

    Descrição

    bucketname

    Nome do bucket cujas políticas você deseja consultar.

    local_json_file

    Arquivo JSON local destinado a armazenar as políticas consultadas. Caso este parâmetro não seja especificado, as políticas serão exibidas na tela, mas não salvas em arquivo.

  • Exemplos

    Execute o comando abaixo para consultar as políticas do bucket examplebucket:

    ossutil bucket-policy --method get oss://examplebucket local_json_file

    A seguinte saída indica que as políticas do examplebucket foram consultadas e gravadas no arquivo JSON local:

    0.212407(s) elapsed

Exclua políticas de bucket

Caso não precise mais autorizar outros usuários a acessar seus recursos do OSS por meio de políticas de bucket, exclua as políticas configuradas.

  • Sintaxe do comando

    ossutil bucket-policy --method delete oss://bucketname
  • Exemplos

    Execute o comando a seguir para exclua todas as políticas do bucket examplebucket:

    ossutil bucket-policy --method delete oss://examplebucket

    A seguinte saída indica que todas as políticas do examplebucket foram excluídas:

    0.530750(s) elapsed

Opções comuns

Para acessar um bucket em outra região, utilize -e para especifique o endpoint. Para acessar um bucket pertencente a outra conta Alibaba Cloud, informe o AccessKey ID com -i e o AccessKey Secret com -k.

Por exemplo, execute o comando abaixo para configure uma política para o bucket examplebucket, localizado na região China (Hangzhou) e pertencente a outra conta Alibaba Cloud:

ossutil bucket-policy --method put oss://examplebucket local_json_file -e oss-cn-hangzhou.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret

Consulte Opções comuns.