테넌트 암호화 구성
조직의 AWS Key Management Service(KMS) 키를 사용하여 Qlik Cloud에서 테넌트 암호화를 설정합니다.
테넌트 관리자는 테넌트 암호화 설정을 구성할 수 있습니다. 기본적으로 새 테넌트는 Qlik 내부 KMS를 사용하여 테넌트의 콘텐츠를 암호화합니다. 조직에서 자체 고객이 관리하는 키(CMK)를 사용하여 테넌트 데이터를 암호화하려는 경우 지원되는 키 공급자의 CMK를 사용하도록 테넌트 암호화를 구성할 수 있습니다.
Qlik Cloud는 Amazon 웹 서비스(AWS) 키 관리 서비스(KMS)의 CMK 사용을 지원합니다. 고객은 AWS KMS 키 정책 정의를 통해 다중 테넌트에 대해 동일한 키를 사용하도록 선택할 수 있지만 이는 모범 사례로 권장되지 않습니다. CMK 및 AWS KMS 통합은 AWS KMS API의 암호화 컨텍스트를 사용하여 테넌트별 암호화를 유지하지만 각 테넌트에 대해 개별적으로 암호화를 구성해야 합니다. 여러 최종 사용자 조직에서 테넌트를 사용할 수 있도록 하는 고객 또는 파트너는 최종 사용자 조직별로 개별 키를 구현해야 합니다.
CMK 전제 조건
Qlik Cloud와 함께 CMK를 사용하려면 AWS 계정과 AWS KMS 키가 있어야 합니다. AWS KMS 계정 설정 및 AWS KMS 키 만들기에 대한 자세한 내용은 AWS 키 관리 서비스(KMS)를 참조하십시오.
AWS에서 설정을 완료한 후 AWS KMS 키를 사용하도록 테넌트의 키 공급자를 변경할 수 있습니다.
테넌트에서 새 키 공급자를 만듭니다.
키 공급자를 만들기 전에 AWS KMS 키와 정책이 AWS KMS에서 올바르게 구성되었는지 확인하십시오. AWS 키 관리 서비스(KMS)을 참조하십시오. Qlik Cloud는 다음 주요 공급자를 지원합니다.
-
Qlik 내부 KMS(Qlik 관리 키를 사용하는 기본 KMS)
-
AWS KMS
다음과 같이 하십시오.
-
관리 활동 센터에서 설정으로 이동합니다.
-
테넌트 암호화에서 키 공급자 관리를 클릭합니다.
-
새 카드 만들기를 클릭합니다.
-
키 공급자가 요구하는 매개 변수를 입력합니다.
- 마스터 키 공급자: AWS KMS 마스터 키 공급자가 사용할 수 있는 유일한 옵션입니다.
- KMS 키 ARN: KMS 키 ARN 또는 별칭 ARN입니다. 키 ARN은 KMS 키의 Amazon 리소스 이름(ARN)입니다. 별칭 ARN은 AWS KMS 별칭의 Amazon 리소스 이름(ARN)입니다(키를 만들 때 AWS KMS 키에 대해 지정된 식별 이름). 자세한 내용은 키 공급자 이벤트를 참조하십시오. KMS 키의 키 ARN 또는 별칭 ARN을 찾는 방법에 대한 자세한 내용은 키 ID 및 키 ARN 찾기 또는 별칭 이름과 별칭 ARN 찾기를 참조하십시오.
- 제목: 새 키 공급자를 식별하는 제목입니다.
- 설명: 선택 사항
-
키 공급자 구성을 추가하고 나중에 사용할 수 있도록 저장할지, 아니면 지금 키 마이그레이션을 시작할지 선택합니다.
테넌트에서 키 공급자 변경
키 공급자를 Qlik KMS에서 AWS KMS로, AWS KMS를 다른 AWS KMS로 변경하거나 AWS KMS에서 Qlik KMS로 되돌릴 수 있습니다. 키 마이그레이션 프로세스 중에 테넌트는 사용자에게 영향을 주지 않고 평소대로 계속 작동합니다.
다음과 같이 하십시오.
- 관리 활동 센터에서 설정으로 이동합니다.
- 테넌트 암호화에서 키 공급자 관리를 클릭합니다.
- 마이그레이션하려는 키 공급자의 카드에서 줄임표를 클릭합니다.
- 마이그레이션을 선택합니다.
- 키 공급자 변경 대화 상자에서 현재 키 대체를 확인하는 확인란을 선택하고 키 공급자 변경을 클릭합니다. 마이그레이션이 성공하면 마이그레이션된 키 공급자가 활성화됩니다.
키 공급자 유효성 검사
언제든지 AWS 키 공급자의 유효성을 검사할 수 있습니다. 유효성 검사는 모든 건전성 검사를 완료하고 키 공급자 마이그레이션에 필요한 정의된 규칙을 준수하는지 유효성을 검사합니다. 키 공급자 마이그레이션이 시작되기 전에 유효성 검사도 자동으로 수행됩니다.
다음과 같이 하십시오.
- 관리 활동 센터에서 설정으로 이동합니다.
- 테넌트 암호화에서 키 공급자 관리를 클릭합니다.
- 키 공급자 카드에서 줄임표를 클릭합니다.
- 유효성 검사을 선택합니다.
키 공급자 삭제
기본 Qlik 키 공급자를 제외한 모든 키 공급자는 비활성 상태인 경우 삭제할 수 있습니다.
다음과 같이 하십시오.
- 관리 활동 센터에서 설정으로 이동합니다.
- 테넌트 암호화에서 키 공급자 관리를 클릭합니다.
- 키 공급자 카드에서 줄임표를 클릭합니다.
- 삭제를 선택합니다.
키 공급자 이벤트
관리 활동 센터의 이벤트 페이지에서 암호화 키 공급자의 변경 내용을 확인할 수 있습니다. 이벤트 로그는 다음 암호화 이벤트 유형을 캡처합니다.
- com.qlik.v1.encryption.keyprovider.created
- com.qlik.v1.encryption.keyprovider.updated
- com.qlik.v1.encryption.keyprovider.deleted
- com.qlik.v1.encryption.keyprovider-migration.triggered
- com.qlik.v1.encryption.keyprovider-migration.finished
- com.qlik.v1.encryption.keyprovider-migration.progressed
AWS KMS의 이벤트는 이벤트 기록 아래 AWS CloudTrail에 로깅됩니다. 이벤트 이름 검색: Encrypt, generateDatakey 또는 Decrypt
Qlik 암호화 API 및 커넥터
Qlik은 관리 활동 센터를 통해 테넌트 암호화를 구성하는 것 외에도 주요 공급자 수명 주기를 관리하는 여러 가지 방법을 제공합니다.
- 프로그래밍 방식으로 키 공급자를 관리하는 암호화 API입니다. qlik.dev에서 API 참조 문서를 확인하십시오.
- AWS에서 키 공급자를 구성할 수 있는 AWS KMS Qlik 응용 프로그램 자동화 커넥터입니다. Amazon KMS 커넥터를 시작하는 방법을 참조하십시오.
- 코드 없는 Qlik 기본 옵션으로 제공되는 Qlik Platform Operations 커넥터 및 QCS 커넥터는 논리적 흐름에서 커넥터 블록을 조작하여 키 공급자를 쉽게 관리합니다. Qlik Platform Operations 커넥터 개요 및 Application Automation 커넥터를 참조하십시오.
AWS 키 관리 서비스(KMS)
Qlik Cloud는 테넌트 데이터를 암호화 및 해독하기 위해 AWS KMS에서 고객이 관리하는 키(CMK)(Amazon에서는 이를 AWS KMS 키 또는 KMS 키로 참조) 사용을 지원합니다.
다음은 CMK와 함께 사용하기 위해 AWS를 설정하는 데 필요한 일반적인 단계입니다. AWS KMS 계정과 AWS KMS 키를 차례로 만들고 Qlik Cloud CMK에 사용할 키 정책을 구성해야 합니다. AWS KMS에서 설정을 완료한 후 AWS KMS 키를 사용하도록 Qlik Cloud 테넌트의 키 공급자를 변경할 수 있습니다. 테넌트에서 새 키 공급자를 만듭니다.을 참조하십시오.
AWS 계정 만들기
Amazon 웹 서비스로 이동하여 계정을 만듭니다.
대칭 AWS KMS 키 만들기
AWS에서 AWS KMS 관리 콘솔을 사용하거나 CreateKey 명령을 사용하여 AWS KMS API를 통해 키를 만듭니다. 다중 지역 키를 구성할 때 기본 키 지역에 따라 백업 지역으로 선택할 수 있는 지역에 제한이 있다는 점에 유의해야 합니다.
-
AWS 지역 - Qlik Cloud 테넌트가 호스팅되는 지역을 선택합니다. 지원되는 Qlik Cloud 지역 및 관련 AWS 백업 지역 코드는 다음과 같습니다. 다중 지역 키가 지원됩니다.
기본 지역 이름 기본 지역 코드 백업 지역 이름 백업 지역 코드 미국 동부(버지니아 북부) us-east-1 미국 동부(오하이오) us-east-2 유럽(아일랜드) eu-west-1 유럽(파리) eu-west-3 유럽(런던) eu-west-2 유럽(스페인) eu-south-2 유럽(프랑크푸르트) eu-central-1 유럽(밀라노) eu-south-1 유럽(스웨덴) eu-north-1 해당 없음 해당 없음 아시아 태평양(싱가포르) ap-southeast-1 아시아 태평양(서울) ap-northeast-2 아시아 태평양(시드니) ap-southeast-2 아시아 태평양(멜버른) ap-southeast-4 일본(도쿄) ap-northeast-1 일본(오사카) ap-northeast-3 인도(뭄바이) ap-south-1 인도(하이데라바드) ap-south-2 eu-north-1 스웨덴 지역에는 특정 데이터 전송 정책으로 인해 백업 지역이 없습니다.
경고 메모Qlik Cloud에서 사용할 다중 지역 키의 올바른 설정을 위해서는 AWS KMS 콘솔에서 위 백업 지역 차트에 따라 키 페어링을 만들어야 합니다.Qlik Cloud 정부 메모Qlik Cloud 정부 영역(us-gov-west-1 또는 us-gov-east-1)은 CMK를 등록하기 위해 복제 키 구성이 필요하지 않습니다. -
키 유형—대칭. CMK는 비대칭 키를 지원하지 않습니다.
-
키 사용 - 암호화 및 암호 해독
키 만들기 중 기타 설정은 다음과 같습니다.
-
키 별칭 입력
-
키를 관리할 수 있는 IAM(Identity and Access Management) 사용자 및 역할 정의
-
암호화 작업에서 키를 사용할 수 있는 IAM 사용자 및 역할 선택
-
키 정책 구성.
AWS KMS 키 만들기에 대한 자세한 내용은 키 만들기를 참조하십시오.
AWS KMS 키 정책 구성
키 정책은 AWS KMS 키에 대한 액세스를 제어합니다. 각 키에는 자체 정책이 있습니다. 키 정책에는 Qlik Cloud 고객이 관리하는 키에서 AWS KMS 키를 사용하는 데 필요한 최소 정보 및 권한이 포함되어야 합니다. AWS KMS 관리 콘솔을 사용하여 키를 만들면 AWS KMS는 키 만들기 중 선택한 항목을 기반으로 하는 문이 포함된 기본 키 정책을 만듭니다. 이러한 문을 통해 키를 관리하고 암호화 작업에서 키를 사용할 수 있는 계정의 IAM 사용자 및 역할을 확인합니다.
Qlik Cloud CMK에서 키를 사용하는 데 필요한 권한 및 매개 변수를 추가하려면 기본 키 정책을 편집해야 합니다. 여기에는 다음 사항이 포함됩니다.
-
Qlik의 AWS 프록시 계정 및 필수 IAM 역할이 데이터 키를 생성하고 AWS KMS 키를 사용하여 데이터를 암호화 및 암호 해독하도록 허용합니다. Qlik 응용 프로그램 자동화와 함께 CMK를 사용하려면 별도의 IAM 역할을 키 정책에 추가해야 합니다.
-
Qlik Cloud TenantID 식별. 테넌트 ID는 암호화 컨텍스트로 사용됩니다. AWS KMS는 인증된 암호화를 지원하기 위해 암호화 컨텍스트를 추가 인증 데이터(AAD)로 사용합니다. 즉, 한 테넌트가 다른 테넌트의 암호 키를 해독할 수 없습니다. 암호화 컨텍스트를 참조하십시오. 다중 테넌트에 대해 동일한 KMS 키를 사용하는 경우 키 정책에 각 테넌트의 테넌트 ID를 포함해야 합니다.
다음과 같이 하십시오.
- 고객 AWS 계정과 IAM 사용자 및 역할이 올바르고 정책에 포함되어 있는지 확인합니다(AWS KMS 키 정책 예 참조). 정책에는 다른 문도 포함될 수 있습니다.
-
아래의 필수 Qlik Cloud 코드 스니펫을 복사하여 키 정책에 추가합니다. Qlik Cloud 정부 구독의 경우 Qlik Cloud 정부 코드 스니펫을 복사합니다.
-
EncryptionContext 문자열에서 QLIK_TENANT_ID를 Qlik Cloud TenantID로 바꿉니다.
- 키 정책을 저장합니다.
Qlik Cloud 코드 스니펫
{
"Sid": "Enable Qlik's proxy roles to use the Customer's AWS KMS key to encrypt and decrypt data for the Qlik cloud tenant",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::338144066592:role/byok-encryption-proxy-role",
"arn:aws:iam::634246602378:role/byok-encryption-proxy-role",
"arn:aws:iam::338144066592:role/byok-automations-proxy-role",
"arn:aws:iam::634246602378:role/byok-automations-proxy-role"
]
},
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:GenerateDataKey"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"kms:EncryptionContext:TenantId": [
"QLIK_TENANT_ID"
]
}
}
}
Qlik Cloud 정부 코드 스니펫
[
{
"Sid": "Enable Qlik's proxy roles to use the Customer's AWS KMS key to encrypt and decrypt data for the Qlik cloud tenant",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws-us-gov:iam::014729015091:role/byok-encryption-proxy-role",
"arn:aws-us-gov:iam::014734359703:role/byok-encryption-proxy-role",
"arn:aws-us-gov:iam::014729015091:role/byok-automations-proxy-role",
"arn:aws-us-gov:iam::014734359703:role/byok-automations-proxy-role"
]
},
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:GenerateDataKey"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"kms:EncryptionContext:TenantId": [
"QLIK_TENANT_ID"
]
}
}
},
{
"Sid": "Enable KMS Key policy for proxy account",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws-us-gov:iam::014729015091:role/byok-encryption-proxy-role",
"arn:aws-us-gov:iam::014734359703:role/byok-encryption-proxy-role",
"arn:aws-us-gov:iam::014729015091:role/byok-automations-proxy-role",
"arn:aws-us-gov:iam::014734359703:role/byok-automations-proxy-role"
]
},
"Action": "kms:DescribeKey",
"Resource": "*"
}
]
AWS KMS 키 정책에 대한 자세한 내용은 KMS의 키 정책을 참조하십시오.
AWS KMS 키 정책 예
다음 키 정책 예에는 Qlik Cloud 고객이 관리하는 키와 함께 사용하기 위한 기본 요구 사항이 포함되어 있습니다.
-
키를 관리하고 사용할 수 있는 고객 계정 및 IAM 사용자 및 역할.
-
암호화 작업에 키를 사용할 수 있는 Qlik 계정 및 IAM 역할: Encrypt, Decrypt 및 GenerateDataKey.
-
응용 프로그램 자동화에서 키를 사용할 수 있는 Qlik 계정 및 응용 프로그램 자동화 IAM 역할.
-
Qlik Cloud 테넌트 ID 번호(TenantID)를 식별하는 암호화 컨텍스트.
정책 예에서 선택한 섹션(B, C 및 D)은 Qlik Cloud 고객이 관리하는 키에 필요한 매개 변수를 식별합니다.
KMS 키 ARN 및 별칭 ARN
Amazon 리소스 이름(ARN)은 KMS 키에 대한 고유한 정규화된 식별자입니다. 여기에는 암호화 컨텍스트(TenantID), AWS 계정, 지역 및 키 ID가 포함됩니다. AWS 키 관리 서비스에서 AWS KMS 키를 만들 때 ARN이 만들어집니다. Qlik Cloud에서 관리 활동 센터에서 마스터 키 공급자를 변경하여 AWS KMS 키를 사용하는 경우 Qlik 암호화 서비스를 AWS KMS 키에 연결하려면 키 ARN 또는 별칭 ARN을 제공해야 합니다. 테넌트에서 새 키 공급자를 만듭니다.을 참조하십시오.
ARN은 다음 서식을 사용합니다.
arn:<partition>:kms:<region>:<account-id>:key/<key-id>
다음은 유효한 키 ARN의 예입니다.
arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
별칭 ARN은 다음 서식을 사용합니다.
arn:<partition>:kms:<region>:<account-id>:alias/<alias-name>
다음은 별칭 이름이 CMK-Example-Alias인 유효한 별칭 ARN의 예입니다.
arn:aws:kms:us-east-1:111122223333:alias/CMK-Example-Alias
KMS 키의 키 ARN 또는 별칭 ARN을 찾는 방법에 대한 자세한 내용은 키 ID 및 키 ARN 찾기 또는 별칭 이름 및 별칭 ARN 찾기를 참조하십시오.
재해 복구(DR)를 위한 AWS KMS 다중 지역 키
다중 지역 키를 사용하면 기본 지역이 중단되는 경우에도 암호화된 데이터에 계속 액세스하고 처리할 수 있습니다. 키의 복제본을 만들면 백업 지역의 데이터를 해독할 수 있으며, 백업에서 암호화된 모든 데이터는 나중에 복원된 후 주 지역에서 해독될 수 있습니다.
AWS KMS에서 다중 지역 키를 만들려면 다음 단계를 따르십시오.
-
AWS 관리 콘솔에서 키 만들기를 클릭합니다.
-
1단계에서는 키 구성을 설정합니다. 고급 옵션 섹션에서 키 자료 원본으로 KMS를 선택하고 지역성 섹션에서 다중 지역 키를 선택합니다. 계속하려면 다음을 클릭합니다.
-
2단계에서는 키에 대한 별칭을 추가합니다. 이름을 추가한 후 설명과 태그를 추가하도록 선택할 수 있습니다. 다음을 클릭하여 계속합니다.
-
3단계에서는 키를 관리할 수 있는 IAM 사용자와 역할을 선택할 수 있습니다. 계속하려면 다음을 클릭합니다.
-
4단계에서는 KMS 키를 사용할 수 있는 IAM 사용자 역할을 선택할 수 있습니다. 계속하려면 다음을 클릭합니다.
-
5단계에서는 구성 세부 정보를 검토합니다. 지역성이 다중 지역 키로 설정되어 있는지 확인합니다.
키 정책에는 KMS 작업 DescribeKey를 포함하여 Qlik Cloud 고객이 관리하는 키와 함께 다중 지역 키를 사용하기 위한 모든 요구 사항이 포함되어 있습니다. DescribeKey에 대한 자세한 내용은 AWS KMS DescribeKey를 참조하십시오.