ระบบการจัดการคีย์ AWS

Tableau Server มีตัวเลือกระบบการจัดการคีย์ (KMS) สามประการที่ช่วยให้คุณสามารถเปิดใช้งานการเข้ารหัสเมื่อจัดเก็บ มีอย่างน้อยสองรายการที่จำเป็นต้องใช้ Advanced Management (ก่อนหน้านี้เรียกว่าส่วนเสริม Server Management) ขณะที่ในเครื่องจะพร้อมใช้งานในทุกการติดตั้งของ Tableau Server

ตั้งแต่เวอร์ชัน 2019.3 เป็นต้นไป Tableau Server ได้เพิ่มตัวเลือก KMS เหล่านี้: 

  • KMS ในเครื่องที่พร้อมใช้งานกับทุกการติดตั้ง ดูรายละเอียดที่ ระบบการจัดการคีย์ Tableau Server
  • KMS บน AWS ซึ่งเป็นส่วนหนึ่งของ Advanced Management ซึ่งมีการอธิบายไว้ด้านล่างนี้

ตั้งแต่เวอร์ชัน 2021.1 เป็นต้นไป Tableau Server ได้เพิ่มตัวเลือก KMS อีกรายการดังนี้: 

  • KMS บน Azure ซึ่งเป็นส่วนหนึ่งของ Advanced Management ดูรายละเอียดที่ Azure Key Vault

ด้วยการเปิดตัวเวอร์ชัน 2019.3 Tableau Server รองรับระบบการจัดการคีย์ของ AWS (KMS) ซึ่งเป็นส่วนหนึ่งของ Advanced Management

AWS KMS สำหรับการเข้ารหัสเมื่อไม่ได้ใช้งาน

AWS KMS พร้อมใช้งานโดยเป็นส่วนหนึ่งของ Advanced Management ใน Tableau Server หากต้องการข้อมูลเพิ่มเติม โปรดดูเกี่ยวกับ Tableau Advanced Management ใน Tableau Server

หากองค์กรของคุณปรับใช้การเข้ารหัสการแยกข้อมูลเมื่อไม่ได้ใช้งาน คุณอาจเลือกกำหนดค่าTableau Server ให้ใช้ AWS เป็น KMS สำหรับการเข้ารหัสแยกได้ ในการเปิดใช้งาน AWS KMS คุณต้องปรับใช้ Tableau Server ใน AWS EC2 ในสถานการณ์ AWS Tableau Server ใช้คีย์หลักลูกค้า AWS KMS (CMK) เพื่อสร้างคีย์ข้อมูล AWS(ลิงก์จะเปิดในหน้าต่างใหม่) Tableau Server ใช้คีย์ข้อมูล AWS เป็นคีย์หลักรากสำหรับการแยกข้อมูลที่เข้ารหัสทั้งหมด อย่างไรก็ตาม แม้เมื่อกำหนดค่าสำหรับ AWS KMS คีย์สโตร์ Java เนทีฟและ KMS ในเครื่องจะยังคงใช้สำหรับจัดเก็บข้อมูลลับอย่างปลอดภัยบน Tableau Server AWS KMS ใช้เพื่อเข้ารหัสคีย์หลักรากสำหรับการแยกข้อมูลที่เข้ารหัสเท่านั้น

การใช้ AWS เพื่อเข้ารหัสคีย์รากหลักจะมอบคุณสมบัติความปลอดภัยที่ดีกว่าโดยไม่จัดเก็บคีย์หลักภายใต้สิทธิ์เดียวกันกับการแตกไฟล์

ลำดับชั้นของคีย์เมื่อ Tableau Server ได้รับการกำหนดค่าด้วย AWS KMS

กำหนดค่า AWS KMS สำหรับการแยกข้อมูลที่เข้ารหัสของ Tableau Server

หากต้องการใช้คีย์หลักของลูกค้า AWS (CMK) เพื่อเข้ารหัสคีย์รากในลำดับชั้น KMS ของ Tableau Server คุณต้องกำหนดค่า Tableau Server ตามที่อธิบายไว้ในส่วนนี้

ก่อนที่คุณจะเริ่มต้น โปรดยืนยันว่าคุณมีตามข้อกำหนดดังต่อไปนี้:

  • ต้องปรับใช้ Tableau Server ใน AWS EC2
  • Tableau Server ต้องกำหนดค่าด้วยใบอนุญาต Advanced Management ดูที่ เกี่ยวกับ Tableau Advanced Management ใน Tableau Server
  • คุณต้องมีการควบคุมการดูแลระบบของคีย์หลักของลูกค้า (CMK) ที่สร้างขึ้นใน AWS Key Management Service

ขั้นตอนที่ 1: สร้าง CMK และกำหนดนโยบายคีย์สำหรับ Tableau Server ใน AWS

ขั้นตอนต่อไปนี้ดำเนินการในบริการ AWS KMS ข้อมูลอ้างอิงรวมอยู่ในเอกสารของ AWS

  1. สร้าง CMK ที่คุณจะใช้สำหรับ Tableau Server ดูหัวข้อ AWS การสร้างคีย์(ลิงก์จะเปิดในหน้าต่างใหม่)
  2. อัปเดตบทบาท IAM ของอินสแตนซ์เซิร์ฟเวอร์

    Tableau Server จำเป็นต้องสามารถตรวจสอบสิทธิ์กับ AWS KMS โดยใช้บทบาท IAM ของอินสแตนซ์ บทบาทต้องมีนโยบายแนบมาด้วย นโยบายควรให้สิทธิ์อินสแตนซ์เพื่อเรียกการดำเนินการ "GenerateDataKey" และ "Decrypt" บน CMK ดูบทบาท IAM สำหรับ Amazon EC2(ลิงก์จะเปิดในหน้าต่างใหม่)

    ในการปรับใช้ Tableau Server แบบหลายโหนด โหนดทั้งหมดของเซิร์ฟเวอร์ต้องทำงานภายใต้บทบาทที่มีนโยบายนี้ (หรือเทียบเท่า) แนบอยู่ คุณสามารถกำหนดบทบาทเดียวกันให้กับโหนดทั้งหมดในคลัสเตอร์

  3. ในค่าต่ำสุด CMK ต้องมีนโยบายคีย์ที่มีการตั้งค่า Effect เป็น Allow Prinicpal (บทบาท IAM ที่แนบกับอินสแตนซ์ของเซิร์ฟเวอร์) Action: GenerateDataKey และ Decrypt ดูการใช้นโยบายหลักใน AWS KMS(ลิงก์จะเปิดในหน้าต่างใหม่)

ขั้นตอนที่ 2: รวบรวมพารามิเตอร์การกำหนดค่า AWS

คุณจะต้องใช้สตริง ARN แบบเต็มจาก AWS KMS สตริงนี้อยู่ในส่วน "การกำหนดค่าทั่วไป" ของหน้าการจัดการ AWS KMS ARN จะแสดงในรูปแบบนี้: arn:aws:kms:<ภูมิภาค>:<บัญชี>:key/<ID_CMK> ตัวอย่างเช่น arn:aws:kms:us-west-2:867530990073:key/1abc23de-fg45-6hij-7k89-1l0mn1234567

คุณจะต้องระบุภูมิภาค AWS ซึ่งรวมอยู่ในสตริง ARN ด้วย ในตัวอย่างข้างต้น ภูมิภาคคือ us-west-2 ภูมิภาคเป็นที่ที่อินสแตนซ์ KMS ของคุณอยู่ ในขั้นตอนถัดไป คุณจะต้องระบุภูมิภาคตามที่แสดงในคอลัมน์ภูมิภาคในตารางเกตเวย์ Amazon API(ลิงก์จะเปิดในหน้าต่างใหม่)

ขั้นตอนที่ 3: กำหนดค่า Tableau Server สำหรับ AWS KMS

เรียกใช้คำสั่งต่อไปนี้บน Tableau Server คำสั่งนี้จะรีสตาร์ทเซิร์ฟเวอร์:

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

    ตัวเลือก --key-arn จะคัดลอกสตริงโดยตรงจาก ARN ในส่วน "การกำหนดค่าทั่วไป" ของหน้าการจัดการ AWS KMS มา

    ตัวอย่างเช่น หากอินสแตนซ์ 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

    ระบบอาจส่งคืนข้อมูลดังต่อไปนี้:

    • ARN (ID) ของคีย์หลักของลูกค้า (CMK)
    • ภูมิภาคที่ CMK อยู่ใน
    • ID คีย์หลักของราก (RMK) ที่ใช้อยู่ RMK เป็นคีย์ที่เข้ารหัสโดย CMK Tableau Server จะถอดรหัส CMK โดยการรัน AWS KMS จากนั้น RMK จะถูกใช้เพื่อเข้ารหัส/ถอดรหัสคีย์การแยกข้อมูลหลัก (MEK) RMK สามารถเปลี่ยนแปลงได้ แต่จะเปลี่ยนได้เพียงครั้งละหนึ่งรายการเท่านั้น
    • KMS จะเก็บคอลเลกชันของคีย์การแยกข้อมูลหลัก (MEK) แต่ละ MEK จะมี:
      • ID ตัวอย่างเช่น 8ddd70df-be67-4dbf-9c35-1f0aa2421521
      • สถานะ “เข้ารหัสหรือถอดรหัสคีย์” หรือ "คีย์การถอดรหัสเท่านั้น" หากคีย์คือ "เข้ารหัสหรือถอดรหัส" Tableau Server จะเข้ารหัสข้อมูลใหม่ด้วยคีย์ดังกล่าว มิฉะนั้น คีย์จะถูกใช้เพื่อถอดรหัสเท่านั้น
      • การประทับเวลาการสร้าง เช่น “สร้างเมื่อ: 2019-05-29T23:46:54Z”
      • การเปลี่ยนเป็นการเข้ารหัสและถอดรหัสครั้งแรก: การประทับเวลาที่ระบุเวลาที่คีย์จะกลายเป็นคีย์เข้ารหัสหรือคีย์ถอดรหัส
      • การเปลี่ยนเป็นการถอดรหัสเท่านั้น: การประทับเวลาที่ระบุเวลาที่คีย์เปลี่ยนไปเป็นแบบถอดรหัสเท่านั้น
  2. ดูบันทึกหลังจากที่คุณเข้ารหัสและถอดรหัสการแยกข้อมูล:

    • เผยแพร่การแยกข้อมูลไปยังไซต์ของคุณ จากนั้นจึงถอดรหัสการแยกข้อมูลนั้น ดูที่ การเข้ารหัสการแยกข้อมูลเมื่อจัดเก็บ

    • การเข้าถึงการแยกข้อมูลด้วย Tableau Desktop หรือการเขียนเว็บในเบราว์เซอร์ (การทำเช่นนี้จะถอดรหัสการแยกข้อมูลเพื่อการใช้งาน)

    • ค้นหาไฟล์บันทึก vizqlserver_node สำหรับสตริง AwsKmsEncryptionEnvelopeAccessor และ AwsKmsEncryptionEnvelope ตำแหน่งที่เป็นค่าเริ่มต้นของบันทึกต่าง ๆ อยู่ที่ /var/opt/tableau/tableau_server/data/tabsvc/logs/

      ตัวอย่างรายการบันทึกที่ระบุการกำหนดค่าสำเร็จ ได้แก่

      • ถอดรหัส RMK ด้วย ID 1abc23de-fg45-6hij-7k89-1l0mn1234567 โดยใช้ CMK พร้อม ARN arn:aws:kms:us-west-2:867530990073:key/1234567d-a6ba-451b-adf6-3179911b760f
      • ใช้ RMK กับ ID 1abc23de-fg45-6hij-7k89-1l0mn1234567 เพื่อถอดรหัสที่เก็บ KMS

      สำหรับการเผยแพร่และการรีเฟรชการแยกข้อมูลที่เกี่ยวข้องกับ 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 จะรีเฟรชปีละครั้ง ดูหัวข้อ AWS วิธีการทำงานของการหมุนคีย์อัตโนมัติ(ลิงก์จะเปิดในหน้าต่างใหม่) เนื่องจาก ARN และภูมิภาคไม่เปลี่ยนแปลง คุณไม่จำเป็นต้องอัปเดตการกำหนดค่า KMS บน Tableau Server สำหรับสถานการณ์การรีเฟรช CMK ปกติ

หลังจากรีเฟรช AWS CMK คุณต้องสร้าง RMK และ MEK ภายในใหม่บน Tableau Server คุณควรเข้ารหัสการแยกข้อมูลทั้งหมดอีกครั้งด้วย CMK ใหม่

  1. รันคำสั่ง tsm security regenerate-internal-tokens เพื่อสร้างคีย์ภายในใหม่ทั้งหมดบน Tableau Server รวมถึง RMK และ MEK ที่ใช้สำหรับการเข้ารหัสการแยกข้อมูล
  2. รัน tabcmd reencryptextracts <site-name> เพื่อเข้ารหัสการแยกข้อมูลอีกครั้งบนไซต์ที่กำหนด รันคำสั่งนี้ในทุกไซต์ที่คุณจัดเก็บข้อมูลที่แยกที่เข้ารหัสไว้ การดำเนินการนี้อาจใช้ปริมาณโหลดการประมวลผลของเซิร์ฟเวอร์จำนวนมาก ขึ้นอยู่กับจำนวนข้อมูลที่แยกที่เข้ารหัสไว้บนไซต์ โปรดพิจารณาดำเนินการนี้นอกเวลาทำการ ดูที่ การเข้ารหัสการแยกข้อมูลเมื่อจัดเก็บ

สร้าง RMK และ MEK ใหม่บน Tableau Server

เพื่อสร้างคีย์หลักรากและคีย์การเข้ารหัสหลักบน Tableau Server ใหม่ ให้รันคำสั่งtsm security regenerate-internal-tokens

สำรองและกู้คืนด้วย AWS KMS

การสำรองข้อมูลเซิร์ฟเวอร์สามารถทำได้ในโหมด AWS โดยไม่มีการกำหนดค่าหรือขั้นตอนเพิ่มเติม การสำรองข้อมูลมีสำเนาที่เข้ารหัสของ RMK และ MEK การถอดรหัสคีย์ต้องมีการเข้าถึงและควบคุม AWS CMK

สำหรับสถานการณ์การกู้คืน เซิร์ฟเวอร์ที่กำลังกู้คืนสามารถอยู่ในโหมด KMS ใดก็ได้ รวมถึงภายในเครื่อง ข้อกำหนดเพียงอย่างเดียวคือเซิร์ฟเวอร์ที่สำรองข้อมูลกำลังถูกกู้คืนเพื่อให้มีการถอดรหัสการเข้าถึง CMK ที่ตัวสำรองใช้เอง

เมื่อกู้คืน MEK จากข้อมูลสำรองจะถูกนำเข้าเป็นคีย์ถอดรหัสเท่านั้น RMK จะไม่ถูกถ่ายโอน RMK ใหม่ถูกสร้างขึ้นโดยเป็นส่วนหนึ่งของกระบวนการติดตั้ง/กู้คืน

ขอบคุณสำหรับข้อเสนอแนะของคุณส่งข้อเสนอแนะของคุณเรียบร้อยแล้ว ขอขอบคุณ