AWS 키 관리 시스템

Tableau Server에는 저장 시 암호화를 사용하도록 설정할 수 있는 3개의 KMS(키 관리 시스템) 옵션이 있습니다. 2개 시스템에는 Advanced Management(이전의 Server Management Add-on)가 필요하고 로컬 시스템은 Tableau Server의 모든 설치를 통해 제공됩니다.

버전 2019.3부터 Tableau Server에는 다음과 같은 KMS 옵션이 추가되었습니다. 

  • 모든 설치를 통해 제공되는 로컬 KMS. 자세한 내용은 Tableau Server 키 관리 시스템을 참조하십시오.
  • Advanced Management의 일부로 제공되는 AWS 기반 KMS. 아래에 설명되어 있습니다.

버전 2021.1부터 Tableau Server에는 다른 KMS 옵션이 추가되었습니다. 

  • Advanced Management의 일부로 제공되는 Azure 기반 KMS. 자세한 내용은 Azure Key Vault를 참조하십시오.

버전 2019.3 릴리스에서 Tableau Server는 AWS KMS(키 관리 시스템)를 Advanced Management의 일부로 지원합니다.

저장된 암호화를 위한 AWS KMS

AWS KMS는 Tableau Server에서 Advanced Management의 일부로 제공됩니다. 자세한 내용은 Tableau Server의 Tableau Advanced Management 정보를 참조하십시오.

조직에서 저장된 추출 암호화를 사용하여 데이터를 배포하는 경우 선택적으로 추출 암호화를 위한 KMS로 AWS를 사용하도록 Tableau Server를 구성할 수 있습니다. AWS KMS를 사용하도록 설정하려면 AWS EC2에서 Tableau Server를 배포해야 합니다. AWS 시나리오에서 Tableau Server는 AWS KMS 고객 마스터 키(CMK)를 사용하여 AWS 데이터 키(링크가 새 창에서 열림)를 생성합니다. Tableau Server는 모든 암호화된 추출에 대한 루트 마스터 키로 AWS 데이터 키를 사용합니다. 그러나 AWS KMS용으로 구성된 경우에도 원시 Java 키 저장소와 로컬 KMS는 여전히 Tableau Server에서 암호의 보안 저장소로 사용됩니다. AWS KMS는 암호화된 추출에 대한 루트 마스터 키를 암호화하는 데에만 사용됩니다.

AWS를 사용하여 마스터 루트 키를 암호화하면 추출과 동일한 사용 권한으로 마스터 키를 저장하지 않게 되므로 보안 속성이 향상됩니다.

Tableau Server가 AWS KMS로 구성된 경우 키 계층 구조

Tableau Server 암호화된 추출에 대한 AWS KMS 구성

AWS 고객 마스터 키(CMK)를 사용하여 Tableau Server KMS 계층 구조의 루트 키를 암호화하려면 이 섹션에 설명된 대로 Tableau Server를 구성해야 합니다.

시작하기 전에 다음 요구 사항을 충족하는지 확인하십시오.

  • Tableau Server가 AWS EC2에 배포되어야 합니다.
  • Tableau Server가 Advanced Management 라이선스로 구성되어야 합니다. Tableau Server의 Tableau Advanced Management 정보 항목을 참조하십시오.
  • AWS 키 관리 서비스에서 만들어진 고객 마스터 키(CMK)에 대한 관리 권한이 있어야 합니다.

1단계: CMK 만들기 및 AWS에서 Tableau Server에 대한 키 정책 설정

다음 절차는 AWS KMS 서비스에서 수행합니다. 참조 자료는 AWS 설명서에 포함되어 있습니다.

  1. Tableau Server에 사용할 CMK를 만듭니다. AWS 항목 키 생성(링크가 새 창에서 열림)을 참조하십시오.
  2. 서버 인스턴스의 IAM 역할을 업데이트합니다.

    Tableau Server는 인스턴스의 IAM 역할을 사용하여 AWS KMS를 인증할 수 있어야 합니다. 역할에는 연결된 정책이 있어야 합니다. 정책은 CMK에서 "GenerateDataKey" 및 "Decrypt" 작업을 호출할 수 있는 사용 권한을 인스턴스에 제공해야 합니다. 자세한 내용은 IAM의 Amazon EC2 역할(링크가 새 창에서 열림)을 참조하십시오.

    Tableau Server의 다중 노드 배포에서는 서버의 모든 노드가 이 정책(또는 동등한 정책)이 연결된 역할로 실행되어야 합니다. 동일한 역할을 클러스터의 모든 노드에 할당할 수 있습니다.

  3. 최소한 CMK에는 EffectAllow, Prinicpal(서버 인스턴스에 연결된 IAM 역할), Action: GenerateDataKeyDecrypt로 설정된 키 정책이 있어야 합니다. AWS KMS에서 키 정책 사용(링크가 새 창에서 열림)을 참조하십시오.

2단계: AWS 구성 매개 변수 수집

AWS KMS의 전체 ARN 문자열이 필요합니다. 이 문자열은 AWS KMS 관리 페이지의 "General configuration"(일반 구성) 섹션에 있습니다. ARN은 arn:aws:kms:<region>:<account>:key/<CMK_ID> 형식으로 표시됩니다(예: arn:aws:kms:us-west-2:867530990073:key/1abc23de-fg45-6hij-7k89-1l0mn1234567).

또한 AWS 지역을 지정해야 하며, AWS 지역은 ARN 문자열에도 포함되어 있습니다. 위 예에서 지역은 us-west-2입니다. 지역은 KMS 인스턴스가 있는 위치입니다. 다음 단계에서는 Amazon API 게이트웨이 테이블(링크가 새 창에서 열림)의 Region(지역) 열에 표시된 대로 지역을 지정해야 합니다.

3단계: AWS KMS를 위한 Tableau Server 구성

Tableau Server에서 다음 명령을 실행합니다. 이 명령은 서버를 다시 시작합니다.

  • tsm security kms set-mode aws --aws-region "<region>" --key-arn "arn:aws:kms:<region>:<account_number>:key/<CMK_ID>"

    --key-arn 옵션은 AWS KMS 관리 페이지의 "General configuration"(일반 구성) 섹션에 있는 ARN 문자열을 직접 복사합니다.

    예를 들어 AWS KMS 인스턴스가 us-west-2 지역에서 실행되고, 계정 번호는 867530990073이고, CMK 키는 1abc23de-fg45-6hij-7k89-1l0mn1234567인 경우 명령은 다음과 같습니다.

    tsm security kms set-mode aws --aws-region "us-west-2" --key-arn "arn:aws:kms:us-west-2:867530990073:key/1abc23de-fg45-6hij-7k89-1l0mn1234567"

4단계: 저장된 암호화 사용

저장된 추출 암호화를 참조하십시오.

5단계: 설치 유효성 검사

  1. 다음 명령을 실행합니다.

    tsm security kms status

    다음과 같은 정보가 반환될 수 있습니다.

    • 고객 마스터 키(CMK)의 ARN(ID)
    • CMK가 존재하는 지역
    • 사용 중인 루트 마스터 키(RMK)의 ID RMK는 CMK로 암호화된 키입니다. Tableau Server는 AWS KMS를 호출하여 CMK를 암호 해독합니다. 그런 다음 RMK를 사용하여 마스터 추출 키(MEK)를 암호화/암호 해독합니다. RMK는 변경할 수 있지만 한 번에 하나만 존재할 수 있습니다.
    • KMS는 마스터 추출 키(MEK) 모음을 저장합니다. 각 MEK에는 다음과 같은 정보가 포함됩니다.
      • ID(예: 8ddd70df-be67-4dbf-9c35-1f0aa2421521)
      • “encrypt or decrypt key”(키 암호화 또는 암호 해독) 또는 “decrypt-only key”(키 암호 해독만) 상태 키가 "encrypt or decrypt"(암호화 또는 암호 해독) 상태인 경우 Tableau Server는 키를 사용하여 새 데이터를 암호화합니다. 그렇지 않으면 키는 암호 해독에만 사용됩니다.
      • 만든 시점의 타임스탬프(예: "Created at: 2019-05-29T23:46:54Z")
      • 암호화 및 암호 해독 키로의 첫 번째 전환: 키가 암호화 또는 암호 해독 키가 된 시간을 나타내는 타임스탬프입니다.
      • 암호 해독 전용 키로 전환: 키가 암호 해독 전용으로 전환된 시간을 나타내는 타임스탬프입니다.
  2. 추출 암호화 및 암호 해독 후 로그 보기:

    • 추출을 사이트에 게시한 다음 암호화합니다. 저장된 추출 암호화를 참조하십시오.

    • Tableau Desktop을 사용하거나 브라우저에서 웹 작성을 사용하여 추출에 액세스합니다(사용할 추출이 암호 해독됨).

    • vizqlserver_node 로그 파일에서 AwsKmsEncryptionEnvelopeAccessorAwsKmsEncryptionEnvelope 문자열을 검색합니다. 로그의 기본 위치는 /var/opt/tableau/tableau_server/data/tabsvc/logs/입니다.

      성공적인 구성을 나타내는 로그 항목 예제에는 다음이 포함됩니다.

      • Decrypted the RMK with ID 1abc23de-fg45-6hij-7k89-1l0mn1234567 using the CMK with ARN arn:aws:kms:us-west-2:867530990073:key/1234567d-a6ba-451b-adf6-3179911b760f
      • Using RMK with ID 1abc23de-fg45-6hij-7k89-1l0mn1234567 to decrypt KMS store

      KMS와 관련된 게시 및 추출 새로 고침에 대해서는 백그라운더 로그를 검색합니다. 로그에 대한 자세한 내용은 Tableau Server 로그 및 로그 파일 위치를 참조하십시오.

구성 문제 해결

잘못된 다중 노드 구성

AWS KMS의 다중 노드 설정에서는 클러스터의 다른 노드가 잘못 구성된 경우에도 tsm security kms status 명령이 정상(OK) 상태를 보고할 수 있습니다. KMS 상태 검사는 Tableau Server 관리 컨트롤러 프로세스가 실행되고 있는 노드에 대해서만 보고하고 클러스터의 다른 노드에 대해서는 보고하지 않습니다. 기본적으로 Tableau Server 관리 컨트롤러 프로세스는 클러스터의 초기 노드에서 실행됩니다.

따라서 다른 노드가 잘못 구성되어 Tableau Server가 AWS CMK에 액세스할 수 없는 경우 이러한 노드는 시작될 수 없는 다양한 서비스에 대한 오류 상태를 보고할 수 있습니다.

KMS를 AWS 모드로 설정한 후 일부 서비스가 시작되지 않는 경우 tsm security kms set-mode local 명령을 실행하여 로컬 모드로 되돌리십시오.

AWS CMK 새로 고침

AWS CMK 새로 고침은 AWS로 수행하는 작업입니다. 기본적으로 AWS CMK는 1년에 한 번 새로 고쳐집니다. 자세한 내용은 AWS 항목 자동 키 교체의 작동 방식(링크가 새 창에서 열림)을 참조하십시오. ARN 및 지역은 변경되지 않으므로 일반적인 CMK 새로 고침 시나리오의 경우 Tableau Server에서 KMS 구성을 업데이트할 필요가 없습니다.

AWS CMK가 새로 고쳐진 후 Tableau Server에서 내부 RMK 및 MEK를 다시 생성해야 합니다. 또한 모든 추출을 새 CMK로 다시 암호화해야 합니다.

  1. tsm security regenerate-internal-tokens 명령을 실행하여 추출 암호화에 사용되는 RMK 및 MEK를 포함하여 Tableau Server의 모든 내부 키를 다시 생성하십시오.
  2. 주어진 사이트의 추출을 다시 암호화하려면 tabcmd reencryptextracts <site-name>을 실행하십시오. 암호화된 추출을 저장하는 모든 사이트에서 이 명령을 실행합니다. 사이트의 암호화된 추출 수에 따라 이 작업은 상당한 서버 처리 로드를 사용할 수 있습니다. 이 작업은 업무 시간이 아닐 때 실행하는 것이 좋습니다. 저장된 추출 암호화를 참조하십시오.

Tableau Server에서 RMK 및 MEK 다시 생성

Tableau Server에서 루트 마스터 키와 마스터 암호화 키를 다시 생성하려면 tsm security regenerate-internal-tokens 명령을 실행합니다.

AWS KMS를 사용한 백업 및 복원

추가 구성이나 절차 없이 AWS 모드에서 서버 백업을 수행할 수 있습니다. 백업에는 RMK 및 MEK의 암호화된 복사본이 포함됩니다. 키를 암호 해독하려면 AWS CMK의 액세스 권한과 컨트롤이 필요합니다.

복원 시나리오의 경우 복원 대상 서버는 로컬을 포함하여 KMS 모드 중 하나일 수 있습니다. 유일한 요구 사항은 백업이 복원될 서버에 백업 자체가 사용한 CMK에 대한 암호 해독 액세스 권한이 있어야 한다는 것입니다.

복원 시 백업의 MEK는 암호 해독 전용 키로 가져옵니다. RMK는 마이그레이션되지 않습니다. 새 RMK는 설치/복원 프로세스의 일부로 생성됩니다.

피드백을 제공해 주셔서 감사합니다!귀하의 피드백이 제출되었습니다. 감사합니다!