Configura la protección contra sobreescritura de un bucket para evitar que se sobrescriban objetos específicos.
Precauciones
En escenarios de escritura con alta concurrencia, como cuando varios clientes escriben simultáneamente en una ruta inexistente o lo hacen durante una eliminación, el sistema puede permitir inicialmente las operaciones porque no existe ningún archivo por sobrescribir. Sin embargo, una vez creado el archivo, la regla bloquea todos los intentos posteriores de sobreescritura.
Configurar únicamente
forbidimpide la sobreescritura bajo cualquier circunstancia, lo cual representa un riesgo alto.-
PutBucketOverwriteConfig utiliza semántica de sobreescritura. Por ejemplo, si un bucket ya tiene una regla llamada Rule1 y desea agregar Rule2, siga estos pasos:
Llame a GetBucketOverwriteConfig para obtener la configuración actual que contiene Rule1.
Agregue Rule2 a la configuración obtenida.
Llame a PutBucketOverwriteConfig para cargar la nueva configuración que contiene tanto Rule1 como Rule2.
Si GetBucketOverwriteConfig devuelve un error 404, significa que el bucket no tiene configurada protección contra sobreescritura. Llame directamente a PutBucketOverwriteConfig para establecer una nueva regla.
Un bucket admite un máximo de 100 reglas de protección contra sobreescritura.
La longitud máxima de Prefix y Suffix es de 1,023 caracteres.
Cada regla admite como máximo un prefijo y un sufijo. Los prefijos y sufijos no son compatibles con expresiones regulares. Si introduce un asterisco (*), se interpreta como una cadena de texto.
El campo ID es opcional. Si no se especifica, se genera un UUID aleatorio. Si se especifica, debe ser único entre todas las reglas del bucket.
Principal admite el carácter comodín asterisco (*). Para más información, consulte Bucket policy examples.
Una regla solo se aplica cuando se cumplen todas sus condiciones de filtro (Prefix, Suffix y Principals). Si alguna regla coincide, se deniega la solicitud de sobreescritura.
Permisos
Una cuenta de Alibaba Cloud tiene todos los permisos de forma predeterminada. Los usuarios de RAM y los roles de RAM no tienen permisos de forma predeterminada. Debe otorgar permisos mediante una RAM policy o un bucket policy.
|
API |
Acción |
Descripción |
|
PutBucketOverwriteConfig |
|
Configura la protección contra sobreescritura de un bucket. |
Sintaxis de la solicitud
PUT /?overwriteConfig HTTP/1.1
Host: bucket-name.oss-cn-hangzhou.aliyuncs.com
Authorization: SignatureValue
<?xml version="1.0" encoding="UTF-8"?>
<OverwriteConfiguration>
<Rule>
<ID>string</ID>
<Action>forbid</Action>
<Prefix>string</Prefix>
<Suffix>string</Suffix>
<Principals>
<Principal>string</Principal>
</Principals>
</Rule>
</OverwriteConfiguration>
Encabezados de la solicitud
Esta operación utiliza únicamente encabezados de solicitud comunes. Para más información, consulte Common request headers.
Elementos de la solicitud
|
Nombre |
Tipo |
Obligatorio |
Ejemplo |
Descripción |
|
OverwriteConfiguration |
Contenedor |
Sí |
Ninguna |
Nodo raíz de la configuración de protección contra sobreescritura. Nodo hijo: Rule. Nodo padre: None. |
|
Rule |
Contenedor |
Sí |
Ninguna |
Regla de protección contra sobreescritura. Un bucket admite un máximo de 100 reglas. Nodos hijos: ID, Action, Prefix, Suffix, Principals. Nodo padre: OverwriteConfiguration. |
|
ID |
Cadena |
No |
rule-001 |
Identificador único de la regla. Si no se especifica, se genera un UUID aleatorio. El valor debe ser único entre todas las reglas. Nodo hijo: None. Nodo padre: Rule. |
|
Action |
Cadena |
Sí |
forbid |
Tipo de acción. Actualmente, solo es compatible con |
|
Prefix |
Cadena |
No |
a/ |
Prefijo del nombre de objeto que se usa para filtrar los objetos destino. Longitud máxima: 1,023 caracteres. Cada regla admite como máximo un prefijo. No es compatible con expresiones regulares. Nodo hijo: None. Nodo padre: Rule. |
|
Suffix |
Cadena |
No |
.txt |
Sufijo del nombre de objeto que se usa para filtrar los objetos destino. Longitud máxima: 1,023 caracteres. Cada regla admite como máximo un sufijo. No es compatible con expresiones regulares. Nodo hijo: None. Nodo padre: Rule. |
|
Principals |
Contenedor |
No |
Ninguna |
Colección de entidades autorizadas, similar al elemento Principal en una directiva de bucket. Especifique una cuenta de Alibaba Cloud, un usuario de RAM o un rol de RAM. Si está vacío o no se configura, se prohíben las sobreescrituras para todos los objetos que coincidan con las condiciones de prefijo y sufijo. Nodo hijo: Principal. Nodo padre: Rule. |
|
Principal |
Cadena |
No |
27737962156157xxxx |
Entidad autorizada. Especifique una cuenta de Alibaba Cloud, un usuario de RAM o un rol de RAM. Si está vacío, la configuración no es válida. Nodo hijo: None. Nodo padre: Principals. |
Elementos de la respuesta
Esta operación no devuelve ningún elemento de respuesta.
Encabezados de la respuesta
Esta operación utiliza únicamente encabezados de respuesta comunes. Para más información, consulte Common request headers.
Ejemplos
-
Ejemplo de solicitud
PUT /?overwriteConfig HTTP/1.1 Host: bucket-name.oss-cn-hangzhou.aliyuncs.com Authorization: SignatureValue <?xml version="1.0" encoding="UTF-8"?> <OverwriteConfiguration> <Rule> <ID>rule-001</ID> <Action>forbid</Action> <Prefix>a/</Prefix> <Suffix>.txt</Suffix> <Principals> <Principal>27737962156157xxxx</Principal> </Principals> </Rule> <Rule> <ID>rule-002</ID> <Action>forbid</Action> <Prefix>images/</Prefix> </Rule> <Rule> <ID>rule-003</ID> <Action>forbid</Action> <Suffix>.jpg</Suffix> </Rule> <Rule> <ID>rule-004</ID> <Action>forbid</Action> <Principals> <Principal>27737962156157xxxx</Principal> </Principals> </Rule> </OverwriteConfiguration> -
Ejemplo de respuesta
HTTP/1.1 200 OK x-oss-request-id: 5C4E5B5C5E5F5A5B5C5D5XXX Date: Mon, 25 Nov 2025 15:00:59 GMT