Configuración de la política de bucket
Funciones
Esta operación crea o modifica políticas para bucket. Si el bucket especificado ya tiene una política, la política de la solicitud sobrescribirá la existente. No hay límite en el número de políticas (declaraciones) de bucket para un bucket. Sin embargo, el tamaño total de las descripciones JSON de todas las directivas de bucket de un bucket no puede exceder de 20 KB.
Para realizar esta operación, el usuario debe ser el propietario del bucket o el usuario IAM del propietario del bucket que tenga los permisos necesarios para configurar las políticas de bucket.
Para obtener más información acerca de cómo usar políticas de bucket para gestionar permisos, consulte el control de permisos en la Guía de configuración de permisos de OBS.
Sintaxis de solicitud
1 2 3 4 |
PUT /?policy HTTP/1.1 Host: bucketname.obs.region.myhuaweicloud.com Date: date Authorization: signatureValue Policy written in JSON |
Parámetros de solicitud
Esta solicitud no contiene parámetros de mensaje.
Encabezados de solicitud
Esta solicitud utiliza encabezados comunes. Para más detalles, consulte Tabla 3.
Elementos de solicitud
El cuerpo de la solicitud es una cadena JSON que contiene la información de política de bucket. Para obtener más información, consulte Parámetros de política de bucket.
Sintaxis de respuesta
1 2 3 |
HTTP/1.1 status_code Date: date Content-Length: length |
Encabezados de respuesta
La respuesta a la solicitud utiliza encabezados comunes. Para más detalles, consulte Tabla 1.
Elementos de respuesta
Esta respuesta no contiene elementos.
Respuestas de error
No se devuelven respuestas de error especiales. Para obtener más información, véase Tabla 2.
Ejemplo de solicitud 1
Otorgar permisos a un tenant de OBS.
Otorgar permisos al tenant cuyo ID es 783fc6652cf246c096ea836694f71855.
Para obtener más información sobre cómo obtener el ID de inquilino, consulte Obtención de las informaciones de cuenta, de usuario de IAM, de proyecto, de grupo de usuarios, de región y de delegación.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
PUT /?policy HTTP/1.1 Host: examplebucket.obs.region.myhuaweicloud.comDate: 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/*" ] } } ] } |
Ejemplo de respuesta 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 |
Ejemplo de solicitud 2
Otorgar permisos a un usuario de OBS.
El ID de usuario es 71f3901173514e6988115ea2c26d1999, y el ID de cuenta es 783fc6652cf246c096ea836694f71855.
Para obtener más información sobre cómo obtener el ID de cuenta y el ID de usuario, consulte Obtención de las informaciones de cuenta, de usuario de IAM, de proyecto, de grupo de usuarios, de región y de delegación.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
PUT /?policy HTTP/1.1 Host: examplebucket.obs.region.myhuaweicloud.comDate: 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" ] } } ] } |
Ejemplo de respuesta 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 |
Ejemplo de solicitud 3
Denegar a todos los usuarios excepto al especificado todos los permisos de operación.
El ID de usuario es 71f3901173514e6988115ea2c26d1999, y el ID de cuenta es 783fc6652cf246c096ea836694f71855.
Para obtener más información sobre cómo obtener el ID de cuenta y el ID de usuario, consulte Obtención de las informaciones de cuenta, de usuario de IAM, de proyecto, de grupo de usuarios, de región y de delegación.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
PUT /?policy HTTP/1.1 Host: examplebucket.obs.region.myhuaweicloud.comDate: 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" ] } } ] } |
Ejemplo de respuesta 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 |
Ejemplo de solicitud 4
Solicitud para permitir solo el nombre de dominio especificado y las solicitudes de enlace externo que no tienen encabezados de referencia mediante el uso de la lista blanca de validación de URL.
Lista blanca de validación 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 |
PUT /?policy HTTP/1.1 Host: examplebucket.obs.region.myhuaweicloud.comDate: 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}" ] } } }] } |
Ejemplo de respuesta 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 |