ขั้นตอนที่ 3 - เพิ่ม secrets ไปยัง Vault
3.1 สร้าง Dynamic Group และ IAM Policy
Dynamic Group และ IAM Policy ร่วมกันให้สิทธิ์แก่โหนดของคลัสเตอร์ OKE ในการซิงก์ Vault secrets ไปยัง Kubernetes
แทนที่ <dynamic-group-name> และ <iam-policy-name> ด้วยค่าที่เหมาะสมสำหรับสภาพแวดล้อมของคุณ
oci iam dynamic-group create --name "<dynamic-group-name>" \
--description "Dynamic Group for OKE cluster nodes" \
--matching-rule "instance.compartment.id='${compartment_ocid}'"
oci iam policy create -c ${compartment_ocid} --name '<iam-policy-name>' \
--description "Oracle vault secrets access for OKE" \
--statements "[\"Allow dynamic-group <dynamic-group-name> to read secret-family in compartment <oracle-compartment-name> where target.vault.id='${vault_ocid}'\"]"
3.2 เพิ่มรหัสผ่าน MongoDB ไปยัง Vault secret
หมายเหตุ: หากคุณไม่ได้วางแผนจะจัดการ policies หรือใช้ Asynchronous API คุณสามารถข้ามขั้นตอนนี้ได้
เพื่อให้ Glasswall Halo Policy Management API สามารถสร้างและจัดการ policies ใน MongoDB และให้ Asynchronous API ประมวลผลคำขอได้ ต้องปรับใช้ MongoDB โดยใช้ Helm charts
MongoDB Helm chart จะสร้างผู้ใช้สองราย รหัสผ่านของผู้ใช้เหล่านี้ต้องถูกจัดเก็บไว้ใน Vault secret
ข้อมูลที่มีความละเอียดอ่อน เช่น รหัสผ่าน ต้องถูกจัดเก็บเป็นคู่คีย์-ค่าในรูปแบบ JSON ภายใน Vault secret
หากต้องใช้รหัสผ่านจากหลายขั้นตอน ให้สร้างอ็อบเจ็กต์ JSON เดียวที่มีรหัสผ่านทั้งหมด หรืออัปเดตอ็อบเจ็กต์ JSON ที่มีอยู่ด้วยค่าเพิ่มเติม
{
"mongodb-cdrp-password": "",
"mongodb-admin-password": ""
}
3.3 [ทางเลือก] เพิ่มข้อมูลรับรอง ReversingLabs
หากต้องการผสานรวม Halo กับ ReversingLabs ให้จัดเก็บข้อมูลรับรองของ ReversingLabs ไว้ใน Key Vault.
{
"reversinglabs_username": "",
"reversinglabs_password": ""
}
3.4 [ไม่บังคับ] เพิ่มใบรับรอง ICAP mTLS
สามารถกำหนดค่าเซิร์ฟเวอร์ ICAP สำหรับการยืนยันตัวตนร่วมกันของไคลเอนต์โดยใช้ใบรับรอง mTLS ได้
ใบรับรองจะถูกเมานต์ไปยังพ็อดเซิร์ฟเวอร์ ICAP เป็น Kubernetes secrets เพิ่มใบรับรองเซิร์ฟเวอร์และใบรับรองผู้ออกใบรับรองไปยัง Oracle Vault เพื่อให้สามารถซิงค์ไปยัง Kubernetes secrets ได้
{
"tls-server-cert": "<content of mtls-server-cert.pem>",
"tls-server-key": "<content of mtls-server-key.pem>",
"tls-cafile": "<content of mtls-ca-cert.pem>"
}