암호화된 WorkSpaces - 아마존 WorkSpaces

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

암호화된 WorkSpaces

WorkSpaces가 AWS Key Management Service(AWS KMS)와 통합되어 있습니다. 이 경우 AWS KMS키를 사용하여 WorkSpaces의 스토리지 볼륨을 암호화할 수 있습니다. WorkSpace를 시작할 때 루트 볼륨(Microsoft Windows의 경우 C 드라이브, Linux의 경우 /)과 사용자 볼륨(Windows의 경우 D 드라이브, Linux의 경우 /home)을 암호화할 수 있습니다. 이렇게 하면 유휴 상태인 저장 데이터, 볼륨에 대한 디스크 I/O 및 볼륨에서 생성된 스냅샷이 모두 암호화됩니다.

참고

WorkSpaces를 암호화하는 것 외에도 특정 AWS 미국 리전에서 FIPS 엔드포인트 암호화를 사용할 수 있습니다. 자세한 내용은 FedRAMP 승인 또는 DoD SRG 준수를 위해 Amazon WorkSpaces 설정 섹션을 참조하세요.

필수 조건

암호화 프로세스를 시작하려면 AWS KMS 키가 필요합니다. 이 KMS 키는 Amazon WorkSpaces용 AWS 관리형 KMS 키(aws/workspaces)이거나 대칭형 고객 관리형 KMS 키일 수 있습니다.

  • AWS 관리형 KMS 키 - 리전의 WorkSpaces 콘솔에서 암호화되지 않은 WorkSpace를 처음 시작할 때 Amazon WorkSpaces는 계정에 AWS 관리형 KMS 키(aws/workspaces)를 자동으로 생성합니다. 이 AWS 관리형 KMS 키를 선택하여 WorkSpaces의 사용자 및 루트 볼륨을 암호화할 수 있습니다. 자세한 내용은 AWS KMS를 사용한 WorkSpaces 암호화 개요 섹션을 참조하세요.

    정책 및 권한 부여를 포함하여 이 AWS 관리형 KMS 키를 확인하고 AWS CloudTrail 로그에서 키 사용을 추적할 수 있지만 이 KMS 키를 사용하거나 관리할 수는 없습니다. Amazon WorkSpaces가 이 KMS 키를 생성하고 관리합니다. Amazon WorkSpaces만 이 KMS 키를 사용할 수 있으며 WorkSpaces는 계정의 WorkSpaces 리소스를 암호화하는 데만 이 키를 사용할 수 있습니다.

    Amazon WorkSpaces가 지원하는 키를 포함한 AWS 관리형 KMS 키는 3년마다 교체됩니다. 자세한 내용은 AWS Key Management Service 개발자 안내서의 Rotating AWS KMS Key를 참조하세요.

  • 고객 관리형 KMS 키 - 또는 AWS KMS를 사용하여 생성한 대칭형 고객 관리형 KMS 키를 선택할 수도 있습니다. 정책 설정을 포함하여 이 KMS 키를 확인, 사용 및 관리할 수 있습니다. KMS 키 생성에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서의 키 생성을 참조하세요. AWS KMS API를 사용하여 KMS 키를 생성하는 방법에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서의 키 작업을 참조하세요.

    자동 키 교체를 활성화하지 않는 한 고객 관리형 KMS 키는 자동으로 교체되지 않습니다. 자세한 내용은 AWS Key Management Service 개발자 안내서의 Rotating AWS KMS Key를 참조하세요.

중요

KMS 키를 수동으로 교체할 때는 원래 KMS 키가 암호화한 WorkSpaces를 AWS KMS가 해독할 수 있도록 원래 KMS 키와 새 KMS 키를 모두 활성화한 상태로 유지해야 합니다. 원래 KMS 키를 활성화한 상태로 유지하지 않으려면 WorkSpaces를 다시 생성하고 새 KMS 키를 사용하여 암호화해야 합니다.

AWS KMS 키를 사용하여 WorkSpaces를 암호화하려면 다음 요구 사항을 충족해야 합니다.

제한

  • 기존 WorkSpace는 암호화할 수 없습니다. WorkSpace를 시작할 때 암호화해야 합니다.

  • 암호화된 WorkSpaces에서 사용자 정의 이미지를 생성하는 기능은 지원되지 않습니다.

  • 암호화된 WorkSpaces에 대해 암호화를 비활성화하는 기능은 현재 지원되지 않습니다.

  • 루트 볼륨 암호화를 활성화한 상태로 시작된 WorkSpaces를 프로비저닝하는 데 최대 1시간이 소요될 수 있습니다.

  • 암호화된 WorkSpace를 재부팅하거나 재구축하려면 먼저 AWS KMS 키가 활성화되어 있는지 확인합니다. 활성화되어 있지 않으면 WorkSpace를 사용할 수 없습니다. KMS 키의 활성화 여부를 확인하려면 AWS Key Management Service 개발자 안내서의 KMS 키 세부 정보 표시를 참조하세요.

AWS KMS를 사용한 WorkSpaces 암호화 개요

암호화된 볼륨으로 WorkSpaces를 만들면 WorkSpaces가 Amazon Elastic Block Store(Amazon EBS)를 이용해 이러한 볼륨을 만들고 관리합니다. Amazon EBS는 산업 표준 AES-256 알고리즘을 사용하여 데이터 키로 볼륨을 암호화합니다. Amazon EBS와 Amazon WorkSpaces는 모두 KMS 키를 사용하여 암호화된 볼륨으로 작업합니다. EBS 볼륨 암호화에 대한 자세한 내용은 Amazon EC2 Linux 인스턴스용 사용 설명서의 Amazon EBS 암호화를 참조하세요.

암호화된 볼륨으로 WorkSpaces를 시작하면 종단 간 프로세스는 다음과 같습니다.

  1. 암호화에 사용할 KMS 키와 WorkSpace의 사용자와 디렉터리를 지정합니다. 이 작업은 WorkSpaces가 이 WorkSpace에 대해서만, 즉 지정된 사용자 및 디렉터리와 연결된 WorkSpace에 대해서만 KMS 키를 사용할 수 있도록 허용하는 권한을 생성합니다.

  2. WorkSpaces는 WorkSpace에 사용할 암호화된 EBS 볼륨을 생성하고, 사용할 KMS 키와 볼륨의 사용자 및 디렉터리를 지정합니다. 이 작업은 Amazon EBS가 이 WorkSpace 및 볼륨에 대해서만, 즉 지정된 사용자 및 디렉터리와 연결된 WorkSpace에 대해서만 지정된 볼륨에 대해서만 KMS 키를 사용할 수 있도록 허용하는 권한을 생성합니다.

  3. Amazon EBS는 KMS 키를 사용하여 암호화된 볼륨 데이터 키를 요청하고 WorkSpace 사용자의 Active Directory 보안 식별자(SID) 및 AWS Directory Service 디렉터리 ID, Amazon EBS 볼륨 ID를 암호화 컨텍스트로 지정합니다.

  4. AWS KMS가 새 데이터 키를 생성하고 KMS 키를 사용하여 암호화한 후, 암호화된 데이터 키를 모두 Amazon EBS로 보냅니다.

  5. WorkSpaces는 Amazon EBS를 사용하여 암호화된 볼륨을 WorkSpace Space에 연결합니다. Amazon EBS는 Decrypt 요청과 함께 암호화된 데이터 키를 AWS KMS에 보내고 WorkSpace 사용자의 SID, 디렉터리 ID 및 암호화 컨텍스트로 사용되는 볼륨 ID를 지정합니다.

  6. AWS KMS는 KMS 키를 이용해 데이터 키를 해독한 후 일반 텍스트 데이터 키를 Amazon EBS로 보냅니다.

  7. Amazon EBS에서는 일반 텍스트 데이터 키를 이용해 암호화된 볼륨으로 들어오거나 나가는 모든 데이터를 암호화합니다. 볼륨이 WorkSpace Space에 연결되어 있는 동안에는 Amazon EBS는 일반 텍스트 데이터 키를 메모리에 유지합니다.

  8. Amazon EBS는 나중에 WorkSpace를 재부팅하거나 다시 빌드할 때 사용할 볼륨 메타데이터로 암호화된 데이터 키(단계 4에서 수신)를 저장합니다.

  9. AWS Management Console을 사용하여 WorkSpace를 제거하거나 WorkSpaces API에서 TerminateWorkspaces 작업을 사용하면 WorkSpaces 및 Amazon EBS는 해당 WorkSpace에 대해 KMS 키를 사용할 수 있도록 허용한 권한을 폐기합니다.

WorkSpaces 암호화 컨텍스트

WorkSpaces는 암호화 작업(예: Encrypt, Decrypt, GenerateDataKey 등)에 KMA 키를 직접 사용하지 않습니다. 즉, WorkSpaces는 암호화 컨텍스트가 포함된 요청을 AWS KMS에 보내지 않습니다. 그러나 Amazon EBS가 WorkSpaces의 암호화된 볼륨(AWS KMS를 사용한 WorkSpaces 암호화 개요단계 3)에 대해 암호화된 데이터 키를 요청하고 해당 데이터 키(단계 5)의 일반 텍스트 사본을 요청할 때 요청에 암호화 컨텍스트를 포함합니다.

암호화 컨텍스트는 AWS KMS가 데이터 무결성을 보장하기 위해 사용하는 추가 인증 데이터(AAD)를 제공합니다. 암호화 컨텍스트는 AWS CloudTrail 로그 파일에도 기록되어, 해당 KMS 키가 사용된 이유를 이해하는 데 도움을 줍니다. Amazon EBS는 암호화 컨텍스트에 대해 다음을 사용합니다.

  • WorkSpace와 연결된 Active Directory 사용자의 보안 식별자(SID)

  • WorkSpace에 연결된 AWS Directory Service 디렉터리의 디렉터리 ID

  • 암호화된 볼륨의 Amazon EBS 볼륨 ID

다음 예는 Amazon EBS가 사용하는 암호화 컨텍스트의 JSON 표시를 보여줍니다.

{ "aws:workspaces:sid-directoryid": "[S-1-5-21-277731876-1789304096-451871588-1107]@[d-1234abcd01]", "aws:ebs:id": "vol-1234abcd" }

WorkSpaces에 사용자 대신 KMS 키를 사용할 수 있는 권한 부여

WorkSpaces용 AWS 관리형 KMS 키(aws/workspaces) 또는 고객 관리형 KMS 키를 사용하여 WorkSpace 데이터를 보호할 수 있습니다. 고객 관리형 KMS 키를 사용하는 경우, 계정의 WorkSpaces 관리자를 대신해 WorkSpaces에 KMS 키를 사용할 수 있는 권한을 부여해야 합니다. WorkSpaces용 AWS 관리형 KMS 키에는 기본적으로 필요한 권한이 있습니다.

WorkSpaces에서 사용하도록 고객 관리형 KMS 키를 준비하려면 다음 절차를 따르세요.

WorkSpaces 관리자는 WorkSpaces를 사용할 수 있는 권한도 필요합니다. 이러한 권한에 대한 자세한 내용은 WorkSpaces의 Identity and Access Management 섹션을 참조하세요.

1부: 키 사용자에 WorkSpaces 관리자 추가

WorkSpaces 관리자에게 필요한 권한을 제공하기 위해 AWS Management Console 또는 AWS KMS API를 사용할 수 있습니다.

WorkSpaces 관리자를 KMS 키의 키 사용자로 추가하는 방법(콘솔)

  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/kms에서 AWS Key Management Service(AWS KMS) 콘솔을 엽니다.

  2. AWS 리전을 변경하려면 페이지의 오른쪽 상단 모서리에 있는 리전 선택기를 사용합니다.

  3. 탐색 창에서 고객 관리형 키(Customer managed keys)를 선택합니다.

  4. 선호하는 고객 관리형 KMS 키의 키 ID 또는 별칭을 선택합니다.

  5. 키 정책(Key policy) 탭을 선택합니다. 키 사용자에서 추가(Add)를 선택합니다.

  6. IAM 사용자 및 역할 목록에서 WorkSpaces 관리자에 해당하는 사용자와 역할을 선택한 후 추가를 선택합니다.

WorkSpaces 관리자를 KMS 키의 키 사용자로 추가하는 방법(API)

  1. GetKeyPolicy 작업을 이용해 기존 키 정책을 검색한 다음, 이 정책 문서를 파일에 저장합니다.

  2. 원하는 텍스트 편집기에서 정책 문서를 엽니다. WorkSpaces 관리자에 해당하는 IAM 사용자와 역할을 키 사용자에게 권한을 부여하는 정책 문에 추가합니다. 그런 다음 파일을 저장합니다.

  3. PutKeyPolicy 작업을 이용해 KMS 키에 키 정책을 적용합니다.

2부: IAM 정책을 사용하여 WorkSpaces 관리자에게 추가 권한 부여

암호화에 사용할 고객 관리형 KMS 키를 선택한 경우, 암호화된 WorkSpaces를 시작하는 계정의 IAM 사용자를 대신해 Amazon WorkSpaces가 해당 KMS 키를 사용할 수 있도록 허용하는 IAM 정책을 설정해야 합니다. 또한 해당 사용자에게는 Amazon WorkSpaces 사용 권한이 필요합니다. IAM 사용자 정책 생성 및 편집에 대한 자세한 내용은 IAM 사용 설명서의 IAM 정책 관리WorkSpaces의 Identity and Access Management 섹션을 참조하세요.

WorkSpaces 암호화에는 KMS 키에 대한 제한된 액세스가 필요합니다. 다음은 사용 가능한 샘플 키 정책입니다. 이 정책은 AWS KMS KMS 키를 관리할 수 있는 보안 주체와 이 키를 사용할 수 있는 보안 주체를 구분합니다. 이 샘플 키 정책을 사용하기 전에 예시 계정 ID와 IAM 사용자 이름을 계정의 실제 값으로 바꿉니다.

첫 번째 문은 기본 AWS KMS 키 정책과 일치합니다. 이는 KMS 키에 대한 액세스를 제어할 수 있도록 IAM 정책을 사용할 수 있는 계정 권한을 부여합니다. 두 번째 및 세 번째 문은 각각 키를 관리 및 사용할 수 있는 AWS 보안 주체를 정의합니다. 네 번째 문은 AWS KMS와 통합된 AWS 서비스에서 지정된 보안 주체를 대신하여 키를 사용할 수 있도록 해줍니다. 이 문을 사용하여 AWS 서비스에서 권한을 생성 및 관리할 수 있습니다. 이 문은 KMS 키에 대한 권한 부여를 계정의 사용자를 대신해 AWS 서비스가 제공하는 권한 부여로 제한하는 조건 요소를 사용합니다.

참고

WorkSpaces 관리자가 AWS Management Console을 사용하여 암호화된 볼륨으로 WorkSpaces를 생성하는 경우에는 관리자에게 별칭 및 키를 나열할 수 있는 권한("kms:ListAliases""kms:ListKeys" 권한)이 필요합니다. WorkSpaces 관리자가 콘솔이 아닌 Amazon WorkSpaces API만 사용하는 경우, "kms:ListAliases""kms:ListKeys" 권한을 생략할 수 있습니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::123456789012:root"}, "Action": "kms:*", "Resource": "*" }, { "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::123456789012:user/Alice"}, "Action": [ "kms:Create*", "kms:Describe*", "kms:Enable*", "kms:List*", "kms:Put*", "kms:Update*", "kms:Revoke*", "kms:Disable*", "kms:Get*", "kms:Delete*" ], "Resource": "*" }, { "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::123456789012:user/Alice"}, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }, { "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::123456789012:user/Alice"}, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": {"Bool": {"kms:GrantIsForAWSResource": "true"}} } ] }

WorkSpace를 암호화 중인 사용자 또는 역할에 대한 IAM 정책은 고객 관리형 KMS 키에 대한 사용 권한 및 WorkSpaces에 대한 액세스 권한을 포함해야 합니다. IAM 사용자 또는 역할에 WorkSpaces 권한을 부여하려면 다음 샘플 정책을 IAM 사용자 또는 역할에 연결합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ds:*", "ds:DescribeDirectories", "workspaces:*", "workspaces:DescribeWorkspaceBundles", "workspaces:CreateWorkspaces", "workspaces:DescribeWorkspaceBundles", "workspaces:DescribeWorkspaceDirectories", "workspaces:DescribeWorkspaces", "workspaces:RebootWorkspaces", "workspaces:RebuildWorkspaces" ], "Resource": "*" } ] }

다음 IAM 정책은 사용자가 AWS KMS를 사용하기 위해 필요합니다. 이 정책은 권한 부여 생성 가능과 더불어 KMS 키에 대한 읽기 전용 액세스 권한을 사용자에게 부여합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:CreateGrant", "kms:Describe*", "kms:List*" ], "Resource": "*" } ] }

정책에 KMS 키를 지정하려면 다음과 유사한 IAM 정책을 사용하세요. 예시에서 KMS 키 ARN을 유효한 ARN으로 바꿉니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "kms:CreateGrant", "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }, { "Effect": "Allow", "Action": [ "kms:ListAliases", "kms:ListKeys" ], "Resource": "*" } ] }

WorkSpace 암호화

WorkSpaces를 암호화하려면
  1. https://console.aws.amazon.com/workspaces/에서 WorkSpaces 콘솔을 엽니다.

  2. [Launch WorkSpaces]를 선택하고 처음 세 단계를 완료합니다.

  3. [WorkSpaces Configuration] 단계에서 다음을 수행합니다.

    1. 암호화할 볼륨을 선택합니다. [Root Volume], [User Volume] 또는 두 볼륨 모두.

    2. 암호화 키에서 Amazon WorkSpaces에서 생성한 AWS 관리형 KMS 키 또는 직접 생성한 KMS 키 중 하나로 AWS KMS 키를 선택합니다. 선택하는 KMS 키는 대칭이어야 합니다. Amazon WorkSpaces는 비대칭 KMS 키를 지원하지 않습니다.

    3. 다음 단계(Next Step)를 선택합니다.

  4. [Launch WorkSpaces]를 선택합니다.

암호화된 WorkSpaces 보기

WorkSpaces 콘솔에서 어느 WorkSpaces 및 볼륨이 암호화되었는지 확인하려면 왼쪽에 있는 탐색 모음에서 WorkSpaces를 선택합니다. [Volume Encryption] 열에는 각 WorkSpaces에서 암호화가 활성화 또는 비활성화되었는지 여부가 표시됩니다. 특정 볼륨이 암호화되었는지 확인하려면 WorkSpaces 항목을 확장하여 [Encrypted Volumes] 필드를 확인하십시오.