

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Criptografia em repouso para o Amazon WorkSpaces Secure Browser
<a name="encryption-rest"></a>

A *criptografia em repouso* é configurada por padrão e todos os dados do cliente (por exemplo, declarações de política do navegador, nomes de usuário, registros ou endereços IP) usados no Navegador WorkSpaces Seguro são criptografados usando AWS KMS. Por padrão, o WorkSpaces Secure Browser habilita a criptografia com uma AWS chave própria. Você também pode usar uma chave gerenciada pelo cliente (CMK), especificando sua CMK na criação de recursos. Este é o único valor aceito no momento via CLI.

Se você optar por passar uma CMK, a chave fornecida deverá ser uma AWS KMS chave de criptografia simétrica e você, como administrador, deverá ter as seguintes permissões:

```
kms:DescribeKey 
kms:GenerateDataKey 
kms:GenerateDataKeyWithoutPlaintext 
kms:Decrypt 
kms:ReEncryptTo
kms:ReEncryptFrom
```

Se você usar uma CMK, precisará permitir que o responsável pelo serviço externo do WorkSpaces Secure Browser acesse a chave.  Para obter mais informações, consulte [Exemplo de política de chaves CMK com escopo definido com aws](): SourceAccount

Sempre que possível, o WorkSpaces Secure Browser usará as credenciais do Forward Access Sessions (FAS) para acessar sua chave. Para obter mais informações sobre o FAS, consulte [Sessões de acesso direto](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html).  Há casos em que o WorkSpaces Secure Browser pode precisar acessar sua chave de forma assíncrona. Ao listar o principal serviço externo do WorkSpaces Secure Browser em sua política de chaves, o WorkSpaces Secure Browser poderá realizar o conjunto permitido de operações criptográficas com sua chave.

Depois que um recurso é criado com a chave, ela não pode ser removida nem alterada. Se você usou uma CMK, você, como administrador que acessa o recurso, deve ter as seguintes permissões:

```
kms:GenerateDataKey
kms:GenerateDataKeyWithoutPlaintext
kms:Decrypt 
kms:ReEncryptTo
kms:ReEncryptFrom
```

Se você ver um erro de **Acesso negado** ao usar o console, é provável que o usuário que está acessando o console não tenha as permissões necessárias para usar a CMK na chave atual.

## Principais exemplos de políticas e escopo para o WorkSpaces Secure Browser
<a name="key-policy-examples"></a>

CMKs exigem a seguinte política fundamental:

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
  ...,
    {
      "Sid": "Allow WorkSpaces Secure Browser to encrypt/decrypt",
      "Effect": "Allow",
      "Principal": {
        "Service": "workspaces-web.amazonaws.com"
      },
      "Action": [
        "kms:DescribeKey",
        "kms:GenerateDataKey",
        "kms:GenerateDataKeyWithoutPlaintext",
        "kms:Decrypt",
        "kms:ReEncryptTo",
        "kms:ReEncryptFrom"
       ],
      "Resource": "*",
      }
    ]
}
```

As seguintes permissões são exigidas pelo WorkSpaces Secure Browser:
+ `kms:DescribeKey`— Valida se a AWS KMS chave fornecida está configurada corretamente.
+ `kms:GenerateDataKeyWithoutPlaintext`e `kms:GenerateDataKey` — Solicitação da AWS KMS chave para criar chaves de dados usadas para criptografar objetos.
+ `kms:Decrypt`— Solicita a AWS KMS chave para descriptografar as chaves de dados criptografadas. Essas chaves de dados são usadas para criptografar seus dados.
+ `kms:ReEncryptTo`e `kms:ReEncryptFrom` — Solicitação da AWS KMS chave para permitir a recriptografia de ou para uma chave KMS. 

### Definindo o escopo das permissões do WorkSpaces Secure Browser em sua chave AWS KMS
<a name="w2aac19c14c17c11c19c11"></a>

Quando o diretor em uma declaração de política chave é um [diretor de AWS serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services), é altamente recomendável que você use [as chaves de condição SourceAccount globais aws: SourceArn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) [ou aws:](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount), além do contexto de criptografia.

O contexto de criptografia utilizado para um recurso sempre conterá uma entrada no formato `aws:workspaces-web:RESOURCE_TYPE:id` e o ID do recurso correspondente.

O ARN de origem e os valores da conta de origem são incluídos no contexto de autorização somente quando uma solicitação AWS KMS vem de outro AWS serviço. Essa combinação de condições implementa permissões de privilégio mínimo e evita um possível [cenário de auxiliar confuso](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html). Para obter mais informações, consulte [Permissões para serviços da AWS nas políticas de chave](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-services.html.html).

```
   "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "AccountId",
          "kms:EncryptionContext:aws:workspaces-web:resourceType:id": "resourceId"
        },
        "ArnEquals": {
          "aws:SourceArn": [ 
            "arn:aws:workspaces-web:Region:AccountId:resourceType/resourceId" 
          ] 
        },
      }
```

**nota**  
Antes da criação do recurso, a política de chave deve usar apenas a Condição `aws:SourceAccount`, pois o ARN completo do recurso ainda não terá sido criado. Após a criação do recurso, a política de chave pode ser atualizada para incluir as Condições `aws:SourceArn` e `kms:EncryptionContext`.

### Exemplo da política de chaves CMK com escopo definido com `aws:SourceAccount`
<a name="w2aac19c14c17c11c19c13"></a>

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
  ...,
    {
      "Sid": "Allow WorkSpaces Secure Browser to encrypt/decrypt",
      "Effect": "Allow",
      "Principal": {
        "Service": "workspaces-web.amazonaws.com"
      },
      "Action": [
        "kms:DescribeKey",
        "kms:GenerateDataKey",
        "kms:GenerateDataKeyWithoutPlaintext",
        "kms:Decrypt",
        "kms:ReEncryptTo",
        "kms:ReEncryptFrom"
       ],
      "Resource": "*",
      "Condition": { 
        "StringEquals": {
            "aws:SourceAccount": "<AccountId>"
        }
      }
    }
  ]
}
```

### Exemplo da política de chave CMK com escopo definido e caractere curinga de recursos `aws:SourceArn`
<a name="w2aac19c14c17c11c19c15"></a>

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
  ...,
    {
      "Sid": "Allow WorkSpaces Secure Browser to encrypt/decrypt",
      "Effect": "Allow",
      "Principal": {
        "Service": "workspaces-web.amazonaws.com"
      },
      "Action": [
        "kms:DescribeKey",
        "kms:GenerateDataKey",
        "kms:GenerateDataKeyWithoutPlaintext",
        "kms:Decrypt",
        "kms:ReEncryptTo",
        "kms:ReEncryptFrom"
       ],
      "Resource": "*",
      "Condition": { 
        "ArnLike": {
          "aws:SourceArn": "arn:aws:workspaces-web:<Region>:<AccountId>:*/*" 
        }
      }
    }
  ]
}
```

### Exemplo da política de chaves CMK com escopo definido com `aws:SourceArn`
<a name="w2aac19c14c17c11c19c17"></a>

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
  ...,
    {
      "Sid": "Allow WorkSpaces Secure Browser to encrypt/decrypt",
      "Effect": "Allow",
      "Principal": {
        "Service": "workspaces-web.amazonaws.com"
      },
      "Action": [
        "kms:DescribeKey",
        "kms:GenerateDataKey",
        "kms:GenerateDataKeyWithoutPlaintext",
        "kms:Decrypt",
        "kms:ReEncryptTo",
        "kms:ReEncryptFrom"
       ],
      "Resource": "*",
      "Condition": { 
        "ArnLike": {
          "aws:SourceArn": [ 
            "arn:aws:workspaces-web:<Region>:<AccountId>:portal/*",
            "arn:aws:workspaces-web:<Region>:<AccountId>:browserSettings/*",
            "arn:aws:workspaces-web:<Region>:<AccountId>:userSettings/*",
            "arn:aws:workspaces-web:<Region>:<AccountId>:ipAccessSettings/*"
          ]
        }
    }
  ]
}
```

**nota**  
Depois de criar o recurso, você pode atualizar o caractere curinga em `SourceArn` para ele. Se você usa o WorkSpaces Secure Browser para criar um novo recurso que exija acesso à CMK, certifique-se de atualizar sua política de chaves adequadamente.

### Exemplo da política de chave CMK com `aws:SourceArn` e `EncryptionContext` específico do recurso
<a name="w2aac19c14c17c11c19c19"></a>

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
  ...,
    {
      "Sid": "Allow WorkSpaces Secure Browser to encrypt/decrypt portal",
      "Effect": "Allow",
      "Principal": {
        "Service": "workspaces-web.amazonaws.com"
      },
      "Action": [
        "kms:DescribeKey",
        "kms:GenerateDataKey",
        "kms:GenerateDataKeyWithoutPlaintext",
        "kms:Decrypt",
        "kms:ReEncryptTo",
        "kms:ReEncryptFrom"
       ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
            "aws:SourceAccount": "<AccountId>",
            "kms:EncryptionContext:aws:workspaces-web:portal:id": "<portalId>>"
        }
      }
    },
    {
      "Sid": "Allow WorkSpaces Secure Browser to encrypt/decrypt userSettings",
      "Effect": "Allow",
      "Principal": {
        "Service": "workspaces-web.amazonaws.com"
      },
      "Action": [
        "kms:DescribeKey",
        "kms:GenerateDataKey",
        "kms:GenerateDataKeyWithoutPlaintext",
        "kms:Decrypt",
        "kms:ReEncryptTo",
        "kms:ReEncryptFrom"
       ],
      "Resource": "*",
      "Condition": {
         "StringEquals": {
            "aws:SourceAccount": "<AccountId>",
            "kms:EncryptionContext:aws:workspaces-web:userSetttings:id": "<userSetttingsId>"
        }
      }
    },
    {
      "Sid": "Allow WorkSpaces Secure Browser to encrypt/decrypt browserSettings",
      "Effect": "Allow",
      "Principal": {
        "Service": "workspaces-web.amazonaws.com"
      },
      "Action": [
        "kms:DescribeKey",
        "kms:GenerateDataKey",
        "kms:GenerateDataKeyWithoutPlaintext",
        "kms:Decrypt",
        "kms:ReEncryptTo",
        "kms:ReEncryptFrom"
       ],
      "Resource": "*",
      "Condition": {
         "StringEquals": {
            "aws:SourceAccount": "<AccountId>",
            "kms:EncryptionContext:aws:workspaces-web:browserSettings:id": "<browserSettingsId>"
        }
      }
    },
    {
      "Sid": "Allow WorkSpaces Secure Browser to encrypt/decrypt ipAccessSettings",
      "Effect": "Allow",
      "Principal": {
        "Service": "workspaces-web.amazonaws.com"
      },
      "Action": [
        "kms:DescribeKey",
        "kms:GenerateDataKey",
        "kms:GenerateDataKeyWithoutPlaintext",
        "kms:Decrypt",
        "kms:ReEncryptTo",
        "kms:ReEncryptFrom"
       ],
      "Resource": "*",
      "Condition": {
         "StringEquals": {
            "aws:SourceAccount": "<AccountId>",
            "kms:EncryptionContext:aws:workspaces-web:ipAccessSettings:id": "<ipAccessSettingsId>"
        }
      }
    },
  ]
}
```

**nota**  
Certifique-se de criar declarações separadas ao incluir um `EncryptionContext` específico do recurso na mesma política de chave. Para obter mais informações, consulte a seção Usando vários pares de contexto de criptografia em [ kms:EncryptionContext: chave de *contexto*](https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-encryption-context).