Configuração de uma política de bucket
Funções
Esta operação cria ou modifica políticas para buckets. Se o bucket especificado já tiver uma política, a política na solicitação substituirá a existente. Não há limite para o número de políticas de bucket (declarações) para um bucket. No entanto, o tamanho total das descrições JSON de todas as políticas de bucket em um bucket não pode exceder 20 KB.
Para executar essa operação, o usuário deve ser o proprietário do bucket ou o usuário do IAM do proprietário do bucket que tem as permissões necessárias para configurar as políticas do bucket.
Para obter detalhes sobre como usar políticas de bucket para gerenciar permissões, consulte o controle de permissão no Guia de configuração de permissões do OBS.
Sintaxe da solicitação
1 2 3 4 5 |
PUT /?policy HTTP/1.1 Host: bucketname.obs.region.myhuaweicloud.com Date: date Authorization: signatureValue Policy written in JSON |
Parâmetros de solicitação
Esta solicitação não contém nenhum parâmetro.
Cabeçalhos de solicitação
Essa solicitação usa cabeçalhos comuns. Para mais detalhes, consulte Tabela 3.
Elementos de solicitação
O corpo da solicitação é uma string JSON que contém informações de política de bucket.
Sintaxe da resposta
1 2 3 |
HTTP/1.1 status_code Date: date Content-Length: length |
Cabeçalhos de resposta
A resposta à solicitação usa cabeçalhos comuns. Para mais detalhes, consulte Tabela 1.
Elementos de resposta
Esta resposta não envolve elementos.
Respostas de erro
Nenhuma resposta de erro especial é retornada. Para mais detalhes, consulte Tabela 2.
Solicitação de exemplo 1
Conceda permissões a um inquilino do OBS.
Conceda permissões ao locatário cuja ID é 783fc6652cf246c096ea836694f71855.
Para obter detalhes sobre como obter a ID de locatário, consulte Obtenção do ID da conta e do ID de usuário.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
PUT /?policy HTTP/1.1 Host: examplebucket.obs.region.myhuaweicloud.com Date: WED, 01 Jul 2015 02:32:25 GMT Authorization: OBS H4IPJX0TQTHTHEBQQCEC:jZiAT8Vx4azWEvPRMWi0X5BpJMA= { "Statement": [ { "Sid": "Stmt1375240018061", "Action": [ "GetBucketLogging" ], "Effect": "Allow", "Resource": "logging.bucket", "Principal": { "ID": [ "domain/783fc6652cf246c096ea836694f71855:user/*" ] } } ] } |
Resposta de exemplo 1
1 2 3 4 5 6 |
HTTP/1.1 204 No Content x-obs-request-id: 7B6DFC9BC71DD58B061285551605709 x-obs-id-2: N0I2REZDOUJDNzFERDU4QjA2MTI4NTU1MTYwNTcwOUFBQUFBQUFBYmJiYmJiYmJD Date: WED, 01 Jul 2015 02:32:25 GMT Content-Length: 0 Server: OBS |
Solicitação de exemplo 2
Conceda permissões a um usuário do OBS.
O ID do usuário é 71f3901173514e6988115ea2c26d1999 e o ID da conta é 783fc6652cf246c096ea836694f71855.
Para obter detalhes sobre como obter o ID da conta e o ID do usuário, consulte Obtenção do ID da conta e do ID de usuário.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
PUT /?policy HTTP/1.1 Host: examplebucket.obs.region.myhuaweicloud.com Date: WED, 01 Jul 2015 02:33:28 GMT Authorization: OBS H4IPJX0TQTHTHEBQQCEC:jZiAT8Vx4azWEvPRMWi0X5BpJMA= { "Statement": [ { "Sid": "Stmt1375240018062", "Action": [ "PutBucketLogging" ], "Effect": "Allow", "Resource": "examplebucket", "Principal": { "ID": [ "domain/783fc6652cf246c096ea836694f71855:user/71f3901173514e6988115ea2c26d1999" ] } } ] } |
Resposta de exemplo 2
1 2 3 4 5 6 |
HTTP/1.1 204 No Content x-obs-request-id: 7B6DFC9BC71DD58B061285551605709 x-obs-id-2: N0I2REZDOUJDNzFERDU4QjA2MTI4NTU1MTYwNTcwOUFBQUFBQUFBYmJiYmJiYmJD Date: WED, 01 Jul 2015 02:33:28 GMT Content-Length: 0 Server: OBS |
Solicitação de exemplo 3
Negar todas as permissões de operação a todos os usuários, exceto o especificado.
O ID do usuário é 71f3901173514e6988115ea2c26d1999 e o ID da conta é 783fc6652cf246c096ea836694f71855.
Para obter detalhes sobre como obter o ID da conta e o ID do usuário, consulte Obtenção do ID da conta e do ID de usuário.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
PUT /?policy HTTP/1.1 Host: examplebucket.obs.region.myhuaweicloud.com Date: WED, 01 Jul 2015 02:34:34 GMT Authorization: OBS H4IPJX0TQTHTHEBQQCEC:jZiAT8Vx4azWEvPRMWi0X5BpJMA= { "Statement": [ { "Effect": "Deny", "Action": ["*"], "Resource": [ "examplebucket/*", "examplebucket" ], "NotPrincipal": { "ID": [ "domain/783fc6652cf246c096ea836694f71855:user/71f3901173514e6988115ea2c26d1999", "domain/783fc6652cf246c096ea836694f71855" ] } } ] } |
Resposta de exemplo 3
1 2 3 4 5 6 |
HTTP/1.1 204 No Content x-obs-request-id: A603000001604A7DFE4A4AF31E301891 x-obs-id-2: BKOvGmTlt6sda5X4G89PuMO4fabObGYmnpRGkaMba1LqPt0fCACEuCMllAObRK1n Date: WED, 01 Jul 2015 02:34:34 GMT Content-Length: 0 Server: OBS |
Solicitação de exemplo 4
Pedido para permitir apenas o nome de domínio especificado e solicitações de link externo que não têm cabeçalhos de referência usando a lista branca de validação de URL.
Lista branca de validação de URL: http://console.huaweicloud.com
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
PUT /?policy HTTP/1.1 Host: examplebucket.obs.region.myhuaweicloud.com Date: WED, 01 Jul 2015 02:34:34 GMT Authorization: OBS H4IPJX0TQTHTHEBQQCEC:jZiAT8Vx4azWEvPRMWi0X5BpJMA= { "Statement": [{ "Effect": "Deny", "Action": [ "GetObject", "GetObjectVersion" ], "Principal": { "ID": ["*"] }, "Resource": ["examplebucket/*"], "Condition": { "StringNotLike": { "Referer": [ "http://console.huaweicloud.com*", "${null}" ] } } }] } |
Resposta de exemplo 4
1 2 3 4 5 6 |
HTTP/1.1 204 No Content x-obs-request-id: A603000001604A7DFE4A4AF31E301891 x-obs-id-2: BKOvGmTlt6sda5X4G89PuMO4fabObGYmnpRGkaMba1LqPt0fCACEuCMllAObRK1n Date: WED, 01 Jul 2015 02:34:34 GMT Content-Length: 0 Server: OBS |