Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2023-07-11 GMT+08:00

Encriptación del lado del servidor (SSE-KMS)

En el modo SSE-KMS, OBS utiliza las claves proporcionadas por KMS para el encriptación del lado del servidor. Cuando un objeto cifrado usando SSE-KMS se agrega a un bucket en una región por primera vez, OBS crea una clave principal de cliente (CMK) predeterminada, que se usa para cifrar y descifrar las claves proporcionadas por KMS. El modo SSE-KMS no admite las claves creadas por los clientes. La ACL y la política del bucket no permiten el acceso autorizado entre inquilinos a objetos cifrados mediante SSE-KMS.

Se agrega dos encabezados para soportar SSE-KMS en modo SSE-KMS.

También puede configurar el método de encriptación predeterminado para un bucket para cifrar objetos en el bucket. Cuando la encriptación predeterminada está habilitada para un bucket, cualquier solicitud de carga de objetos sin el encabezado de encriptación especificada activará la encriptación predeterminada del bucket para los objetos cargados. Para obtener más información acerca de la configuración de encriptación de bucket, consulte Configuración de la encriptación de bucket.

Tabla 1 Campos de encabezado utilizados en el modo SSE-KMS

Elemento

Descripción

x-obs-server-side-encryption

Indica que se utiliza SSE-KMS. Los objetos se cifran mediante SSE-KMS.

Tipo: string

Ejemplo: x-obs-server-side-encryption:kms

x-obs-server-side-encryption-kms-key-id

Indica el ID de clave principal de un objeto cifrado. Este encabezado se utiliza en modo SSE-KMS. Si el cliente no proporciona el ID de clave principal, se utilizará el ID de clave principal por defecto.

Tipo: string

Se admiten los dos formatos siguientes:

1. regionID:domainID:key/key_id

2. key_id

regionID es el ID de la región a la que pertenece la clave. domainID es el ID de cuenta del tenant al que pertenece la clave. key_id es el ID de clave creado en DEW.

Ejemplo:

1. x-obs-server-side-encryption-kms-key-id: region:domainiddomainiddomainiddoma0001:key/4f1cd4de-ab64-4807-920a-47fc42e7f0d0 or

2.x-obs-server-side-encryption-kms-key-id:4f1cd4de-ab64-4807-920a-47fc42e7f0d0

Las operaciones de API a las que se aplican los encabezados recién agregados:

  • Operación PUT para cargar objetos
  • Operación POST para cargar objetos (x-obs-server-side-encryption y x-obs-server-side-encryption-kms-key-id deben colocarse en la tabla en lugar del campo de encabezado)
  • PutObject-Copy (los encabezados recién agregados se aplican a los objetos de destino)
  • Operaciones de API para iniciar una tarea de carga de varias partes

OBS admite las políticas de bucket. Puede usar una política de bucket para implementar la encriptación del lado del servidor en todos los objetos almacenados en un bucket. Por ejemplo, la solicitud de carga de objetos de un inquilino no contiene el encabezado x-obs-server-side-encryption:"kms" para la encriptación del servidor (SSE-KMS), la siguiente política de bucket rechazará la solicitud de carga.

{
"Statement":[{
"Sid":"DenyUnEncryptedObjectUploads",
"Effect":"Deny",
"Principal":"*",
"Action":"PutObject",
"Resource":"YourBucket/*",
"Condition":{
"StringNotEquals":{
"x-obs-server-side-encryption":"kms"
}
}
}
}

Solicitud de muestra 1

Utilizar la clave predeterminada para cifrar el objeto cargado.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
PUT /encryp1 HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.myhuaweicloud.com
Accept: */*
Date: Wed, 06 Jun 2018 09:08:21 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:f3/7eS6MFbW3JO4+7I5AtyAQENU=
x-obs-server-side-encryption:kms
Content-Length: 5242
Expect: 100-continue

[5242 Byte object contents]

Respuesta de muestra 1

1
2
3
4
5
6
7
8
9
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: 8DF400000163D45AA81D038B6AE4C482
ETag: "d8bffdfbab5345d91ac05141789d2477"
x-obs-server-side-encryption: kms
x-obs-server-side-encryption-kms-key-id: region:783fc6652cf246c096ea836694f71855:key/522d6070-5ad3-4765-9737-9312ddc72cdb
x-obs-id-2: 32AAAUJAIAABAAAQAAEAABAAAQAAEAABCTv7cHmAnGfBAGXUHeibUsiETTNqlCqC
Date: Wed, 06 Jun 2018 09:08:21 GMT
Content-Length: 0

Solicitud de muestra 2

Utilizar una clave especificada para cifrar el objeto cargado.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
PUT /encryp1 HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.myhuaweicloud.com
Accept: */*
Date: Wed, 06 Jun 2018 09:08:50 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:f3/PWjkXYTYGs5lPOctTNEI2QENU=
x-obs-server-side-encryption:kms
x-obs-server-side-encryption-kms-key-id: 522d6070-5ad3-4765-43a7-a7d1-ab21f498482d
Content-Length: 5242
Expect: 100-continue

[5242 Byte object contents]

Respuesta de muestra 2

1
2
3
4
5
6
7
8
9
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: 8DF400000163D45AA81D038B6AE4C482
ETag: "d8bffdfbab5345d91ac05141789d2477"
x-obs-server-side-encryption: kms
x-obs-server-side-encryption-kms-key-id: region:783fc6652cf246c096ea836694f71855:key/522d6070-5ad3-4765-43a7-a7d1-ab21f498482d
x-obs-id-2: 32AAAUJAIAABAdiAEAABA09AEAABCTv7cHmAn12BAG83ibUsiET5eqlCqg
Date: Wed, 06 Jun 2018 09:08:50 GMT
Content-Length: 0

Solicitud de muestra 3

Copiar un objeto común y guárdelo como un objeto cifrado encripándolo con una clave especificada.

1
2
3
4
5
6
7
8
9
PUT /destobject HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.myhuaweicloud.com
x-obs-server-side-encryption:kms
x-obs-server-side-encryption-kms-key-id: region:783fc6652cf246c096ea836694f71855:key/522d6070-5ad3-4765-9737-9312ddc72cdb
Accept: */*
Date: Wed, 06 Jun 2018 09:10:29 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:SH3uTrElaGWarVI1uTq325kTVCI=
x-obs-copy-source: /bucket/srcobject1

Respuesta de muestra 3

1
2
3
4
5
6
7
8
9
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: BB78000001648480AF3900CED7F15155
ETag: "d8bffdfbab5345d91ac05141789d2477"
x-obs-server-side-encryption: kms
x-obs-server-side-encryption-kms-key-id: region:783fc6652cf246c096ea836694f71855:key/522d6070-5ad3-4765-9737-9312ddc72cdb
x-obs-id-2: oRAXhgwdTLc9wKVHqTLSmQB7I35D+32AAAUJAIAABAAAQAAEAABAAAQAAEAABCS
Date: Wed, 06 Jun 2018 09:10:29 GMT
Content-Length: 0

Solicitud de muestra 4

Llevar la firma en la URL y cargue el objeto cifrado.

PUT /destobject?AccessKeyId=UI3SN1SRUQE14OYBKTZB&Expires=1534152518&x-obs-server-side-encryption=kms&Signature=chvmG7%2FDA%2FDCQmTRJu3xngldJpg%3D HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.myhuaweicloud.com
Accept: */*
Date: Wed, 06 Jun 2018 09:10:29 GMT

Respuesta de muestra 4

1
2
3
4
5
6
7
8
9
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: BB78000001648480AF3900CED7F15155
ETag: "d8bffdfbab5345d91ac05141789d2477"
x-obs-server-side-encryption: kms
x-obs-server-side-encryption-kms-key-id: region:783fc6652cf246c096ea836694f71855:key/522d6070-5ad3-4765-9737-9312ddc72cdb
x-obs-id-2: oRAXhgwdTLc9wKVHqTLSmQB7I35D+32AAAUJAIAABAAAQAAEAABAAAQAAEAABCS
Date: Wed, 06 Jun 2018 09:10:29 GMT
Content-Length: 0