ขั้นตอนที่ 7 - ติดตั้งส่วนประกอบ CDR
สุดท้าย ให้ติดตั้งบริการ Glasswall Halo สำหรับ Helm chart แต่ละรายการ ตรวจสอบให้แน่ใจว่าได้ตั้งค่า image tag เป็นเวอร์ชันที่สอดคล้องกันตามที่ระบุไว้ใน release notes
ตัวอย่างด้านล่างถูกกรอกค่าล่วงหน้าด้วยค่าสำหรับ v2.16.0 แล้ว
7.1 - Engine
หากต้องการผสานรวม Halo กับ ReversingLabs ให้ตั้งค่าตัวแปร enable_reversing_labs เป็น true ตรวจสอบให้แน่ใจว่าได้สร้าง secrets ของ ReversingLabs ใน Vault แล้ว ตามที่อธิบายไว้ในขั้นตอนที่ 3
enable_reversing_labs=""
helm upgrade --install cdrplatform-engine cdrplatform-engine -n cdrplatform \
--set image.tag=165275 \
--set image.registry=glasswallhub.azurecr.io \
--set cloud_provider=oracle \
--set configuration.ENABLE_REVERSING_LABS="${enable_reversing_labs}" \
--atomic
7.2 - Synchronous API
helm upgrade --install cdrplatform-sync-api cdrplatform-sync-api -n cdrplatform \
--set image.tag=166415 \
--set image.registry=glasswallhub.azurecr.io \
--set cloud_provider=oracle
7.3 - บริการ API Access
บริการ API Access ทำหน้าที่เป็นเกตเวย์ไปยัง Glasswall Halo Synchronous API และ Policy Management API
บริการนี้เปิดเผยความสามารถของ CDR ผ่าน HTTP หากสภาพแวดล้อมของคุณต้องใช้ HTTPS พร้อม TLS หรือ SSL ให้ทำตามคำแนะนำเพื่อติดตั้งบริการโดยเปิดใช้งาน TLS หรือ SSL มิฉะนั้น ให้ทำตามคำแนะนำสำหรับการติดตั้งโดยไม่ใช้ TLS หรือ SSL
7.3A - สำหรับการปรับใช้ที่ไม่มี TLS/SSl
helm upgrade --install cdrplatform-api-access -n cdrplatform cdrplatform-api-access \
--set image.registry=glasswallhub.azurecr.io \
--atomic --set image.tag=165925
7.3B - หากต้องการใช้ใบรับรอง SSL บน CDR API ให้สร้าง private key และ certificate สำหรับโดเมนที่จะใช้งาน
สร้าง Kubernetes secret โดยใช้ไฟล์ key และ CRT ด้วยคำสั่งด้านล่าง คำสั่งนี้จะสร้าง secret ชื่อ "tls-secret" จากไฟล์ server.key (private key) และ server.crt (certificate) ในตัวอย่างนี้ key ไม่ควรถูกป้องกันด้วย passphrase
kubectl create secret tls tls-secret --key server.key --cert server.crt
จากนั้นสามารถใช้ secret นี้เพื่อเปิดใช้ TLS บน ingress โดยตรวจสอบให้แน่ใจว่าได้ตั้งค่าชื่อโดเมนไว้ในคำสั่งด้านล่าง:
helm upgrade --install cdrplatform-api-access -n cdrplatform cdrplatform-api-access \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=165925 \
--set cloud_provider=oracle \
--set ingress.tls.enabled=true \
--set ingress.tls.domain=<domain name> \
--set ingress.tls.secretName=tls-secret \
--atomic
7.3C - เปิดใช้การยืนยันตัวตนของ API
การยืนยันตัวตนสำหรับ Glasswall Halo API ถูกปิดใช้งานเป็นค่าเริ่มต้น หากต้องการเปิดใช้การยืนยันตัวตน ให้ทำตามขั้นตอนด้านล่างให้ครบถ้วน
-
เพิ่มรายการใหม่สองรายการไปยัง Vault secret
vault_secret_name- หนึ่งรายการสำหรับ organisation ID
- หนึ่งรายการสำหรับ organisation tokens
เมื่อระบุ token หลายรายการ ให้คั่นแต่ละรายการด้วยเครื่องหมายจุลภาค ตรวจสอบให้แน่ใจว่า token แต่ละรายการไม่มีเครื่องหมายจุลภาค
-
รายการ secret ของ Vault ต้องเป็นไปตามหลักเกณฑ์การตั้งชื่อด้านล่าง
-
Organisation ID
- ต้องขึ้นต้นด้วย
organisation - ต้องลงท้ายด้วย
-id - ใส่ดัชนีตัวเลขระหว่างคำนำหน้าและคำต่อท้าย
- ตัวอย่าง:
organisation1-id,organisation2-id,organisation3-id
- ต้องขึ้นต้นด้วย
-
Organisation tokens
- ต้องขึ้นต้นด้วย
organisation - ต้องลงท้ายด้วย
-tokens - ใส่ดัชนีตัวเลขระหว่างคำนำหน้าและคำต่อท้าย
- ตัวอย่าง:
organisation1-tokens,organisation2-tokens,organisation3-tokens
- ต้องขึ้นต้นด้วย
-
{
"organisation1-id": "org-1",
"organisation1-tokens": "org-1-token-1,org-1-token-2"
}
- ตั้งค่า
configuration.AuthenticationScheme=Basicระหว่างการ deploy helm chart ตัวอย่างเช่น
helm upgrade --install cdrplatform-api-access -n cdrplatform cdrplatform-api-access \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=165925 \
--set configuration.AuthenticationScheme=Basic \
--set cloud_provider=oracle \
--atomic
7.4 - พอร์ทัล
7.4A - Deployment ที่ไม่มี TLS หรือ SSL
หากต้องการ deploy บริการ Portal ให้รันคำสั่งด้านล่าง
หมายเหตุ: <IP-address> ที่อ้างถึงในคำสั่งเหล่านี้คือ public IP address ของ load balancer ซึ่งสามารถดึงข้อมูลได้โดยทำตามขั้นตอน Portal and API Access ด้านล่าง
helm upgrade --install cdrplatform-portal cdrplatform-portal -n cdrplatform \
--set image.registry=glasswallhub.azurecr.io \
--set configuration.OIDC=null \
--set image.tag=166435 \
--set configuration.BackendUrl=http://<IP-address> \
--set configuration.HaloVersion=2.16.0 \
--atomic
7.4B - Deployment ที่มี TLS หรือ SSL
หากต้องการเปิดใช้ TLS ให้เพิ่มพารามิเตอร์ --set ingress.tls.enable_tls=true และ --set ingress.tls.domain=<domain name>
ในตัวอย่างด้านล่าง จะใช้ Kubernetes secret เดียวกันกับที่สร้างไว้สำหรับบริการ API Access เพื่อดึงใบรับรอง TLS
helm upgrade --install cdrplatform-portal cdrplatform-portal -n cdrplatform \
--set image.tag=166435 \
--set image.registry=glasswallhub.azurecr.io \
--set ingress.tls.enabled=true \
--set ingress.tls.domain=<domain name> \
--set ingress.tls.secretName=tls-secret \
--set configuration.BackendUrl=https://<domain name> \
--set configuration.OIDC=null \
--set configuration.HaloVersion=2.16.0 \
--atomic
7.4C - เปิดใช้การเข้าถึงของผู้ดูแลระบบโดยไม่ต้องยืนยันตัวตน
เมื่อไม่ได้เปิดใช้งานการเข้าสู่ระบบแบบ Single Sign On สำหรับ Portal ฟีเจอร์ด้านการดูแลระบบ เช่น การจัดการ license และการกำหนดค่า policy จะไม่สามารถเข้าถึงได้
หากต้องการเปิดการเข้าถึงฟีเจอร์ด้านการดูแลระบบเหล่านี้โดยไม่ต้องกำหนดค่า SSO ให้ deploy Helm chart ด้วยการกำหนดค่าต่อไปนี้
helm upgrade --install cdrplatform-portal cdrplatform-portal \
--set image.tag=166435 \
--set image.registry=glasswallhub.azurecr.io \
--set ingress.tls.enabled=true \
--set ingress.tls.domain=${portal_domain} \
--set ingress.tls.secretName=tls-secret \
--set configuration.AutoAdmin="true" \
--atomic
7.5 - MongoDB
MongoDB เป็นข้อกำหนดเบื้องต้นสำหรับ Policy Management API และ Asynchronous API
helm upgrade -i cdrplatform-mongodb cdrplatform-mongodb -n cdrplatform --atomic \
--set cloud_provider=oracle
หลังจาก deploy MongoDB แล้ว ให้รับ connection string ของ MongoDB และเพิ่มลงใน key value secret
- ดึง connection string จาก Kubernetes secret:
kubectl get secret mongodb-cdrplatform-cdrp-user -o jsonpath='{.data.connectionString\.standard}' | base64 -d
- อัปเดต Oracle Vault secret โดยเพิ่มคู่คีย์-ค่า:
{
"mongodb-connectionstring": "<output-from-previous-step>"
}
- หลังจากอัปเดต Oracle Vault แล้ว ให้รันคำสั่งต่อไปนี้เพื่อซิงก์ secrets ไปยัง Kubernetes
kubectl annotate externalsecret external-secret updated_at=$(date +%s) --overwrite -n cdrplatform
- อธิบาย Kubernetes secret
cdrplatform-secretsและตรวจสอบว่าmongodb-connectionstringมีอยู่และซิงก์แล้ว จากนั้นดำเนินการ deploy Helm charts ถัดไป
kubectl describe secret cdrplatform-secrets
7.6 - API การจัดการ policy
Policy Management API ใช้สำหรับจัดการแฟล็กการจัดการเนื้อหาของ Glasswall Halo บริการนี้เป็นทางเลือก และควรติดตั้งเฉพาะเมื่อคุณวางแผนจะสร้างและใช้ policy แบบกำหนดเอง
helm upgrade --install cdrplatform-policy-api -n cdrplatform cdrplatform-policy-api \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=165921 \
--set cloud_provider=oracle
7.7 - การเข้าถึง Portal
บริการ Portal Access ทำหน้าที่เป็น backend สำหรับ Portal โดยช่วยให้ Portal เข้าถึง Policy Management API และ Synchronous API ได้
7.7A - การปรับใช้ด้วย TLS หรือ SSL
หากต้องใช้ TLS ให้เพิ่มพารามิเตอร์ --set ingress.tls.enable_tls=true และ --set ingress.tls.domain=<domain name>.
ในตัวอย่างด้านล่าง จะใช้ Kubernetes secret เดียวกันกับที่สร้างไว้สำหรับบริการ API Access เพื่อดึงใบรับรอง TLS
helm upgrade --install cdrplatform-portal-access -n cdrplatform cdrplatform-portal-access \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=166410 \
--set ingress.tls.enabled=true \
--set ingress.tls.domain=<domain-name> \
--set ingress.tls.secretName=tls-secret \
--set configuration.AuthenticationScheme=None \
--atomic
7.7B - สำหรับการปรับใช้ที่ไม่มี TLS/SSL
helm upgrade --install cdrplatform-portal-access -n cdrplatform cdrplatform-portal-access \
--set image.registry=glasswallhub.azurecr.io \
--set configuration.AuthenticationScheme=None \
--set image.tag=166410 \
--atomic
7.8 - การจัดการไลเซนส์
บริการการจัดการไลเซนส์ใช้สำหรับจัดการไลเซนส์ใน Glasswall Halo
helm upgrade --install cdrplatform-license-management cdrplatform-license-management \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=157724 \
-n license-management \
--atomic
7.9 - บริการล้างข้อมูล
บริการ Clean up จะลบไฟล์ต้นฉบับและไฟล์ที่สร้างใหม่ออกจาก persistent storage หลังจากประมวลผลไฟล์แล้ว
helm upgrade --install cdrplatform-cleanup cdrplatform-cleanup \
--set image.registry=glasswallhub.azurecr.io \
--set cloud_provider=oracle \
--set image.tag=165228 \
--atomic
7.10 Asynchronous API
สามารถปรับใช้ Asynchronous API ได้โดยใช้คำสั่งด้านล่าง Asynchronous API ต้องใช้ฐานข้อมูล MongoDB
helm upgrade --install cdrplatform-async-api cdrplatform-async-api \
--set image.tag=166413 \
--set image.registry=glasswallhub.azurecr.io \
--atomic
7.11 - การรวบรวม Metrics (นำออกจากเวอร์ชัน 2.6.2)
บริการ Metrics collation จะจับเหตุการณ์จาก CDRPlatform และจัดเก็บไว้ใน MongoDB ให้ปรับใช้เฉพาะเมื่อใช้ Halo เวอร์ชัน 2.6.1 และต่ำกว่าเท่านั้น
helm upgrade --install cdrplatform-metrics-collation cdrplatform-metrics-collation \
--set image.tag=120018 \
--set image.registry=glasswallhub.azurecr.io \
--set cloud_provider=oracle \
--atomic
7.12 - Metrics projection
บริการ Metrics projection ใช้เพื่อดึงข้อมูลการรายงานจาก MongoDB มาแสดงใน Portal UI
helm upgrade --install cdrplatform-metrics-projection cdrplatform-metrics-projection \
--set image.tag=166407 \
--set image.registry=glasswallhub.azurecr.io \
--set cloud_provider=oracle \
--atomic
7.13 - ตัวแยกรายงาน
บริการ Report extractor ทำการแยกรายงานการวิเคราะห์และเผยแพร่เพื่อใช้ในการรายงาน
helm upgrade --install cdrplatform-report-extractor cdrplatform-report-extractor \
--set image.tag=166411 \
--set image.registry=glasswallhub.azurecr.io \
--wait --atomic
7.11 - ตัวสะสม Tally
บริการ Tally accumulator ติดตามและดูแลยอดรวมของสถิติการใช้งาน
helm upgrade --install cdrplatform-tally-accumulator cdrplatform-tally-accumulator \
--set image.tag=165227 \
--set image.registry=glasswallhub.azurecr.io \
--set cloud_provider=oracle \
--wait --atomic
7.12 - บริการตรวจสอบพื้นที่จัดเก็บข้อมูล
บริการ Storage Monitoring มี API สำหรับสมัครรับและติดตามการเปลี่ยนแปลงที่เกิดขึ้นกับเอกสารในบริการจัดเก็บข้อมูลที่กำหนดค่าไว้ เช่น SharePoint
ต้องเปิดใช้งาน TLS สำหรับ webhook
เพิ่มพารามิเตอร์ --set ingress.tls.enable_tls=true และ --set ingress.tls.domain=<domain name>
ในตัวอย่างด้านล่าง จะใช้ Kubernetes secret เดียวกันกับที่สร้างไว้สำหรับบริการ API Access เพื่อดึงใบรับรอง TLS
helm upgrade --install cdrplatform-storage-monitor cdrplatform-storage-monitor --wait --atomic \
--set image.tag="165098" \
--set image.repository="glasswallhub.azurecr.io/cdrplatform-storage-monitor" \
--set configuration.DATABASE__Provider="${database_provider}" \
--set configuration.WEBHOOKS__CallbackBaseAddress="https://<domain-name>" \
--set ingress.tls.enabled=true \
--set ingress.tls.domain=<domain-name> \
--set ingress.tls.secretName=tls-secret \
--atomic
7.13 - การเข้าถึง Portal และ API
ใช้คำสั่งด้านล่างเพื่อระบุ external IP address ที่เชื่อมโยงกับคลัสเตอร์ของคุณ
หมายเหตุ: external IP เป็นค่าเดียวกับ public IP address ที่กำหนดให้กับ Oracle Cloud load balancer
kubectl get services --namespace cdrplatform nginx-ingress-ingress-nginx-controller --output jsonpath='{.status.loadBalancer.ingress[0].ip}'
ขณะนี้คุณสามารถใช้ IP ที่ได้จากด้านบนเพื่อไปยัง Portal และเอกสาร API ได้แล้ว (ใช้ https หากเปิดใช้งาน TLS):
Portal: http://<ip>
API Documentation: http://<ip>/swagger