Todos os produtos
Search
Central de documentação

Object Storage Service:bucket-policy

Última atualização: Sep 20, 2026

As políticas de bucket são políticas de autorização baseadas em recursos. Os proprietários de buckets podem usar essas políticas 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, modificar, consultar ou excluir políticas de bucket.

Notas de uso

  • Para adicionar ou modificar políticas de bucket, você precisa da permissão oss:PutBucketPolicy. Para consultar políticas de bucket, você precisa da permissão oss:GetBucketPolicy. Para excluir políticas de bucket, você precisa da permissão oss:DeleteBucketPolicy. Para mais informações, consulte Grant a custom policy.

  • A partir do ossutil 1.6.16, use diretamente ossutil como o nome do binário na linha de comando. Não é necessário atualizar o nome do binário de acordo com o sistema operacional. Em versões anteriores à 1.6.16, atualize o nome do binário conforme o sistema operacional. Para mais informações, consulte ossutil command reference.

  • Para mais informações sobre políticas de bucket, consulte Bucket Policy.

Adicione ou modifique políticas de bucket

Antes de adicionar ou modificar políticas de bucket, crie um arquivo JSON no computador local e configure as políticas de bucket nesse arquivo. É possível configurar várias políticas de bucket em um único arquivo JSON. No entanto, o tamanho total das políticas de bucket não pode exceder 16 KB.

Ao adicionar ou modificar políticas de bucket, o ossutil lê as políticas do arquivo JSON e as adiciona ao bucket especificado. Ao adicionar políticas de bucket, as políticas existentes são substituídas.

  • Sintaxe do comando

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

    A tabela a seguir descreve os parâmetros acima.

    Parâmetro

    Descrição

    bucketname

    O nome do bucket no qual você deseja adicionar ou modificar políticas de bucket.

    local_json_file

    O nome do arquivo JSON local onde você configura as políticas de bucket.

  • Exemplos

    1. Crie um arquivo chamado local_json_file no computador local e configure diferentes políticas de bucket para diferentes cenários.

      Os exemplos a seguir mostram como configurar políticas de bucket comuns.

      Nota

      Estes exemplos ilustram como o proprietário de um bucket com UID 174649585760**** no parâmetro Resource configura políticas de bucket para conceder diferentes permissões a usuários do RAM, como um usuário do RAM com UID 20214760404935**** no parâmetro Principal e um usuário anônimo *.

      • especifique que apenas solicitações anônimas provenientes do endereço IP especificado podem acessar todos os recursos em um bucket chamado 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"
        }
      • Conceda a um usuário do RAM permissões de somente leitura nos diretórios hangzhou/2020 e hangzhou/2015 de um bucket chamado 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"
        }
      • Rejeite solicitações anônimas para todos os objetos no diretório hangzhou/2021/ de um bucket chamado 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 a seguir for exibida, a política de bucket foi adicionada ao bucket examplebucket:

      1.125101(s) elapsed

Consulte políticas de bucket

  • Sintaxe do comando

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

    Parâmetro

    Descrição

    bucketname

    O nome do bucket cujas políticas de bucket você deseja consultar.

    local_json_file

    O arquivo JSON local usado para armazenar as políticas de bucket consultadas. Caso não especifique esse parâmetro, as políticas de bucket consultadas serão exibidas, mas não armazenadas no arquivo JSON.

  • Exemplos

    execute o comando a seguir para consultar as políticas de bucket de um bucket chamado examplebucket:

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

    Se a saída a seguir for exibida, as políticas de bucket do examplebucket foram consultadas e gravadas no arquivo JSON local:

    0.212407(s) elapsed

Exclua políticas de bucket

Se você não precisar mais usar políticas de bucket para autorizar outros usuários a acessar seus recursos do OSS, exclua as políticas de bucket configuradas.

  • Sintaxe do comando

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

    execute o comando a seguir para excluir todas as políticas de bucket de um bucket chamado examplebucket:

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

    Se a saída a seguir for exibida, todas as políticas de bucket do examplebucket foram excluídas:

    0.530750(s) elapsed

Opções comuns

Para acessar um bucket em uma região diferente, use -e e especifique o endpoint. Para acessar um bucket de outra conta da Alibaba Cloud, use -i para o AccessKey ID e -k para o AccessKey secret.

Por exemplo, execute o comando a seguir para configurar uma política de bucket para um bucket chamado examplebucket, localizado na região China (Hangzhou) e pertencente a outra conta da Alibaba Cloud:

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

Common options.