> ## Documentation Index
> Fetch the complete documentation index at: https://docs.basaltic.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Cifrado de bucket

> Lo que está cifrado por defecto, y vincular un depósito a una clave propia.

<a id="encryption" />

## Cifrado

El cifrado del lado del servidor es **opt-in**, y está desactivado hasta que lo activas. Hay dos maneras:

<Tabs>
  <Tab title="Console">
    La tarjeta **Default encryption** en la pestaña **Settings** del depósito es un interruptor y un **Save**. Establece el depósito predeterminado y nada más: la página de carga de la consola no tiene ningún campo de cifrado, por lo que cifrar un solo objeto contra un depósito sin ningún valor predeterminado es solo API.
  </Tab>

  <Tab title="API">
    Por bucket, que es el que se debe alcanzar:

    ```bash theme={null}
    PUT /v1/buckets/{bucket}/encryption
    { "encryption": { "rules": [ { "default": { "sse_algorithm": "AES256" } } ] } }
    ```

    O por objeto, en la propia escritura:

    ```bash theme={null}
    PUT /v1/buckets/{bucket}/objects/{key}
    X-Amz-Server-Side-Encryption: AES256
    ```
  </Tab>

  <Tab title="CLI">
    ```bash theme={null}
    basaltic storage bucket set-encryption <bucket> --from-file encryption.json
    ```

    El cuerpo es el mismo JSON que toma la API; `--from-file -` lee stdin.
  </Tab>

  <Tab title="Go">
    ```go theme={null}
    err := storage.New(cfg).PutBucketEncryption(ctx, bucket,
        &storage.PutBucketEncryptionRequest{Encryption: enc})
    ```
  </Tab>
</Tabs>

El bucket predeterminado se aplica a las escrituras que no llevan encabezado propio — un encabezado por solicitud prevalece sobre él. Solo se admite `AES256`; `aws:kms` y las claves proporcionadas por el cliente se rechazan con un error claro en lugar de ser degradadas silenciosamente.

<Info>
  Una carga de varias partes no lleva encabezado de cifrado propio en cada parte: la decisión se toma cuando se crea la carga y sobrevive al objeto ensamblado. Compruebe `ServerSideEncryption` en un `HEAD` del objeto terminado, no en la respuesta de creación.
</Info>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.