

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon WorkSpaces Secure Browser의 저장 중 암호화
<a name="encryption-rest"></a>

유*휴 시 암호화*는 기본적으로 구성되며 WorkSpaces Secure Browser에 사용되는 모든 고객 데이터(예: 브라우저 정책 설명, 사용자 이름, 로깅 또는 IP 주소)는를 사용하여 암호화됩니다 AWS KMS. 기본적으로 WorkSpaces Secure Browser는 AWS소유 키를 사용하여 암호화를 활성화합니다. 리소스 생성 시 고객 관리형 키(CMK)를 지정하여 CMK를 사용할 수도 있습니다. 이 기능은 현재 CLI를 통해서만 지원됩니다.

CMK를 전달하기로 선택한 경우 제공된 키는 대칭 암호화 AWS KMS 키여야 하며 관리자로서 다음 권한이 있어야 합니다.

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

CMK를 사용하는 경우 키에 액세스할 수 있도록 WorkSpaces Secure Browser 외부 서비스 보안 주체를 허용 목록에 추가해야 합니다.   자세한 내용은 [aws:SourceAccount가 포함된 범위 지정 CMK 키 정책 예시]()를 참조하세요.

가능하면 WorkSpaces Secure Browser는 전달 액세스 세션(FAS) 자격 증명을 사용하여 키에 액세스합니다. FAS에 대한 자세한 내용은 [전달 액세스 세션](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html)을 참조하세요.   WorkSpaces Secure Browser에서 비동기적으로 키에 액세스해야 하는 경우가 있습니다. 키 정책에서 WorkSpaces Secure Browser 외부 서비스 보안 주체를 허용 목록에 추가하면 WorkSpaces Secure Browser는 키를 사용하여 허용 목록의 암호화 작업 세트를 수행할 수 있습니다.

리소스가 생성된 후에는 키를 더 이상 제거하거나 변경할 수 없습니다. CMK를 사용한 경우 리소스에 액세스하는 관리자에게는 다음 권한이 있어야 합니다.

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

콘솔을 사용할 때 **액세스 거부됨** 오류가 표시되면 사용 중인 키의 CMK를 사용하는 데 필요한 권한이 콘솔에 액세스하는 사용자에게 없는 것일 수 있습니다.

## WorkSpaces Secure Browser의 키 정책 및 범위 지정 예시
<a name="key-policy-examples"></a>

CMK에는 다음과 같은 키 정책이 필요합니다.

```
{
  "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": "*",
      }
    ]
}
```

WorkSpaces Secure Browser에는 다음 권한이 필요합니다.
+ `kms:DescribeKey` - 제공된 AWS KMS 키가 올바르게 구성되었는지 확인합니다.
+ `kms:GenerateDataKeyWithoutPlaintext` 및 `kms:GenerateDataKey`- 객체를 암호화하는 데 사용되는 데이터 키를 생성하도록 AWS KMS 키를 요청합니다.
+ `kms:Decrypt` - 암호화된 데이터 AWS KMS 키를 해독하도록 키를 요청합니다. 이러한 데이터 키는 데이터를 암호화하는 데 사용됩니다.
+ `kms:ReEncryptTo` 및 `kms:ReEncryptFrom`- KMS AWS KMS 키에서 또는 KMS 키로의 재암호화를 허용하는 키를 요청합니다.

### AWS KMS 키에 대한 WorkSpaces Secure Browser 권한 범위 지정
<a name="w2aac19c14c17c11c19c11"></a>

키 정책 문의 보안 주체가 [AWS 서비스 보안 주체](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services)인 경우, 암호화 컨텍스트 외에 [aws:SourceArn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) 또는 [aws:SourceAccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) 전역 조건 키를 사용하는 것이 좋습니다.

리소스에 사용되는 암호화 컨텍스트에는 항상 `aws:workspaces-web:RESOURCE_TYPE:id` 형식의 항목과 해당 리소스 ID가 포함됩니다.

소스 ARN 및 소스 계정 값은 요청이 다른 AWS 서비스 AWS KMS 에서 로 오는 경우에만 권한 부여 컨텍스트에 포함됩니다. 이러한 조건 조합은 최소 권한을 구현하고 잠재적 [혼동된 대리자 시나리오](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html)를 방지합니다. 자세한 내용은 [키 정책의 AWS 서비스에 대한 권한](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" 
          ] 
        },
      }
```

**참고**  
리소스 생성 전에는 전체 리소스 ARN이 아직 존재하지 않으므로 키 정책에는 `aws:SourceAccount` 조건만 사용해야 합니다. 리소스 생성 후에는 `aws:SourceArn` 및 `kms:EncryptionContext` 조건을 포함하도록 키 정책을 업데이트할 수 있습니다.

### `aws:SourceAccount`가 포함된 범위 지정 CMK 키 정책 예시
<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>"
        }
      }
    }
  ]
}
```

### `aws:SourceArn` 및 리소스 와일드카드가 포함된 범위 지정 CMK 키 정책 예시
<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>:*/*" 
        }
      }
    }
  ]
}
```

### `aws:SourceArn`이 포함된 범위 지정 CMK 키 정책 예시
<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/*"
          ]
        }
    }
  ]
}
```

**참고**  
리소스를 생성한 후 해당 리소스에 대한 와일드카드를 `SourceArn`에서 업데이트할 수 있습니다. WorkSpaces Secure Browser를 사용하여 CMK 액세스가 필요한 새 리소스를 생성하는 경우 그에 따라 키 정책도 업데이트해야 합니다.

### `aws:SourceArn` 및 리소스 와일드카드 `EncryptionContext`가 포함된 범위 지정 CMK 키 정책 예시
<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>"
        }
      }
    },
  ]
}
```

**참고**  
동일한 키 정책에 특정 리소스별 `EncryptionContext`가 포함된 경우 별도의 문을 생성해야 합니다. 자세한 내용은 [kms:EncryptionContext:*context-key*](https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-encryption-context) 아래의 여러 암호화 컨텍스트 페어 사용 단원을 참조하세요.