O Simple Log Service permite usar o Key Management Service (KMS) para criptografar dados e protegê-los em repouso. Este tópico descreve os mecanismos de criptografia de dados no Simple Log Service e fornece instruções sobre como usar o KMS para essa finalidade.
Pré-requisitos
O Key Management Service (KMS) está ativado. Para mais informações, consulte Purchase a Dedicated KMS instance.
Mecanismos de criptografia de dados
O Simple Log Service oferece suporte aos dois mecanismos de criptografia a seguir.
Criptografia com chave de service
Características:
Simplicidade: não exige configuração adicional. O Simple Log Service gerencia a criptografia e as chaves, o que reduz sua sobrecarga operacional.
Isolamento de chaves: uma chave exclusiva de criptografia de dados é gerada para cada Logstore, aumentando a segurança dos dados.
Durabilidade: essas chaves de criptografia de dados nunca expiram, garantindo estabilidade de longo prazo.
Algoritmos de criptografia suportados: AES (padrão) e SM4.
Casos de uso:
Implementação rápida de criptografia de dados sem a necessidade de gerenciar chaves manualmente.
Ausência de requisitos específicos de gerenciamento de chaves, com preferência pela gestão feita pelo provedor de services.
Necessidade de garantir validade e estabilidade de longo prazo para as chaves de criptografia de dados.
Usuários-alvo:
Pequenas empresas ou usuários individuais que desejam criptografia de logs simples e segura, sem lidar com tarefas complexas de gerenciamento de chaves.
Criptografia com Bring Your Own Key (BYOK)
Características:
Controle total: você gerencia todo o ciclo de vida das chaves, incluindo criação, rotação e exclusão.
Flexibilidade: atualize ou rotacione chaves conforme necessário para aumentar a segurança e a flexibilidade.
Gerenciamento proativo: crie e gerencie uma chave mestra do cliente (CMK) no console do KMS e conceda as permissões necessárias.
Casos de uso:
Sua organização possui requisitos rigorosos de segurança e conformidade que exigem chaves de criptografia autogerenciadas.
Gerenciamento e rotação proativos de chaves de criptografia para atender a padrões de segurança mais elevados.
Capacidade de rotacionar ou excluir rapidamente uma chave para proteger seus dados caso ela seja comprometida ou surjam outros riscos de segurança.
Usuários-alvo:
Grandes empresas ou instituições financeiras com requisitos rigorosos de proteção de dados e conformidade, que precisam implementar suas próprias políticas de gerenciamento de chaves e possuem equipes dedicadas para essa gestão.
Se sua chave mestra do cliente (CMK) for excluída ou desativada, a chave BYOK associada se tornará inválida e todas as solicitações de leitura e gravação no Logstore falharão.
Limitações
Após selecionar um mecanismo de criptografia, não é possível alterá-lo, nem modificar o algoritmo ou tipo de criptografia. Use apenas o parâmetro enable para ativar ou desativar o recurso de criptografia. Ao atualizar o Logstore, inclua o parâmetro encrypt_conf completo em cada solicitação.
Por exemplo, se você inicialmente escolher criptografar dados usando uma chave de service, não poderá mudar posteriormente para o método Bring Your Own Key (BYOK).
Criptografar dados com uma chave de service
Para configurar a criptografia de dados, inclua o parâmetro encrypt_conf ao chamar a API CreateLogStore ou UpdateLogStore.
A estrutura de dados do campo encrypt_conf está descrita na tabela a seguir. O campo user_cmk_info não é obrigatório.
|
Parameter |
Type |
Description |
Example |
|---|---|---|---|
|
object |
A configuração de criptografia. |
||
| enable |
boolean |
Indica se a criptografia de dados deve ser ativada. Valores válidos:
|
true |
| encrypt_type |
string |
O algoritmo de criptografia. Valores válidos: default e sm4. Obrigatório quando enable está definido como true. |
default |
| user_cmk_info | EncryptUserCmkConf |
Opcional. Se especificado, a chave bring-your-own-key (BYOK) será usada. Caso contrário, a chave de service do Simple Log Service será utilizada. |
{ "cmk_key_id" : "f5136b95-2420-ab31-xxxxxxxxx" "arn" : "acs:ram::13234:role/logsource" "region_id" : "cn-hangzhou" } |
Criptografar dados com BYOK
Pré-requisitos
O Key Management Service (KMS) está ativado. Para mais informações, consulte Purchase a Dedicated KMS instance.
Etapa 1: Conceder permissões BYOK
Antes de usar o método BYOK, conceda as permissões necessárias do Resource Access Management (RAM).
Faça login no console do RAM.
-
Create a RAM role for a trusted Alibaba Cloud service com as seguintes configurações:
Para Role Type, selecione common service role. Para Role Name, insira
KMS-TEST. Para Select Trusted Service, selecione Simple Log Service. Conceda as permissões AliyunKMSReadOnlyAccess e AliyunKMSCryptoUserAccess à função do RAM. Para mais informações, consulte Grant permissions to a RAM role.
-
Conceda a permissão
ram:PassRole. Pule esta etapa se estiver usando sua conta Alibaba Cloud para configurar a criptografia BYOK. Se estiver usando um usuário RAM, você deve create a custom policy e depois grant permissions to the RAM user.Substitua o valor de
Resourcena política a seguir pelo ARN da função RAM criada em Step 2. Para mais informações sobre como visualizar o ARN de uma função RAM, consulte How do I view the ARN of a RAM role?.{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "ram:PassRole", "Resource": "acs:ram::<account-id>:role/<role-name>" } ] }
Etapa 2: Configurar a criptografia de dados
Após configurar a criptografia de dados, não é possível modificar o algoritmo ou tipo de criptografia. Use apenas o parâmetro enable para ativar ou desativar o recurso de criptografia. Ao atualizar o Logstore, inclua o parâmetro encrypt_conf completo em cada solicitação.
Para um Logstore existente, chame a API UpdateLogStore e inclua o parâmetro encrypt_conf para configurar a criptografia de dados.
Antes de chamar UpdateLogStore, recupere primeiro a configuração atual do Logstore chamando GetLogStore. Em seguida, modifique a configuração e passe-a na solicitação UpdateLogStore.
A tabela a seguir descreve a estrutura de dados do parâmetro encrypt_conf. Para usar BYOK, você deve especificar o parâmetro user_cmk_info.
|
Parameter |
Type |
Description |
Example |
|---|---|---|---|
|
object |
A configuração de criptografia. |
||
| enable |
boolean |
Indica se a criptografia de dados deve ser ativada. Valores válidos:
|
true |
| encrypt_type |
string |
O algoritmo de criptografia. Valores válidos: default e sm4. Obrigatório quando enable está definido como true. |
default |
| user_cmk_info | EncryptUserCmkConf |
Opcional. Se especificado, a chave bring-your-own-key (BYOK) será usada. Caso contrário, a chave de service do Simple Log Service será utilizada. |
{ "cmk_key_id" : "f5136b95-2420-ab31-xxxxxxxxx" "arn" : "acs:ram::13234:role/logsource" "region_id" : "cn-hangzhou" } |
Estrutura de dados EncryptUserCmkConf
|
Parameter |
Type |
Description |
Example |
|
object |
A estrutura de dados para configurações de criptografia gerenciadas pelo usuário. |
||
|
cmk_key_id |
string |
O ID da chave mestra do cliente (CMK) para BYOK. |
f5136b95-2420-ab31-xxxxxxxxx |
|
arn |
string |
O ARN da função RAM criada em Step 1. |
acs:ram::13234:role/logsource |
|
region_id |
string |
O ID da região onde a CMK está localizada. |
cn-hangzhou |
encrypt_conf = {
"enable" : true, # Specifies whether to enable encryption.
"encrypt_type" : "default", # The encryption algorithm. Supported values: default, m4, sm4_ecb, sm4_cbc, sm4_gcm, aes_ecb, aes_cbc, aes_cfb, aes_ofb, and aes_gcm.
"user_cmk_info" : # Optional. If you specify this parameter, BYOK is used. Otherwise, a service key is used.
{
"cmk_key_id" : "", # The ID of the CMK for BYOK. Example: f5136b95-2420-ab31-xxxxxxxxx.
"arn" : "", # The ARN of the RAM role that you created in Step 1.
"region_id" : "" # The region ID where the CMK is located.
}
}
Documentos relacionados
Para mais informações, consulte as seguintes operações de API: