ขั้นตอนที่ 8 - ติดตั้งคอมโพเนนต์ CDR.md
สุดท้าย ให้ติดตั้งบริการแอปพลิเคชัน CDR สำหรับ charts เหล่านี้ โปรดตรวจสอบให้แน่ใจว่าคุณตั้งค่า image tag ให้ตรงกับ tag ที่เกี่ยวข้องซึ่งพบใน release notes
ตัวอย่างด้านล่างถูกเติม tag สำหรับ v2.18.1 ไว้ล่วงหน้าแล้ว:
8.1 - Engine
enable_reversing_labs=""
helm upgrade --install cdrplatform-engine cdrplatform-engine \
--set image.tag=2.18.1-183506 \
--set image.registry=glasswallhub.azurecr.io \
--set configuration.ENABLE_REVERSING_LABS="${enable_reversing_labs}" \
--set cloud_provider=gcp \
--atomic
8.2 - Synchronous API
helm upgrade --install cdrplatform-sync-api cdrplatform-sync-api \
--set image.tag=2.18.1-183506 \
--set image.registry=glasswallhub.azurecr.io \
--set cloud_provider=gcp
8.3 - API access service
บริการ API Access ทำหน้าที่เป็นเกตเวย์ไปยัง Glasswall Halo Synchronous API และ Policy Management API
ส่วนนี้เปิดเผยความสามารถของ CDR ผ่าน HTTP หากสภาพแวดล้อมของคุณต้องใช้ HTTPS พร้อม TLS หรือ SSL ให้ทำตามคำแนะนำการติดตั้งสำหรับการเปิดใช้ TLS หรือ SSL มิฉะนั้น ให้ทำตามคำแนะนำสำหรับการติดตั้งโดยไม่ใช้ TLS หรือ SSL
8.3A - สำหรับการปรับใช้ที่ไม่มี TLS/SSL
helm upgrade --install cdrplatform-api-access cdrplatform-api-access \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
--atomic
8.3B - สำหรับการปรับใช้ที่มี TLS/SSL
หากต้องการใช้ใบรับรอง 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 โดยตรวจสอบให้แน่ใจว่าได้ตั้งค่าชื่อโดเมนไว้ในคำสั่งด้านล่าง:
domain_name=""
helm upgrade --install cdrplatform-api-access cdrplatform-api-access \
--set image.tag=2.18.1-183506 \
--set image.registry=glasswallhub.azurecr.io \
--set ingress.tls.enabled=true \
--set ingress.tls.domain=${domain_name} \
--set ingress.tls.secretName=tls-secret \
--atomic
8.3C - เปิดใช้งานการเข้าถึงของผู้ดูแลระบบโดยไม่ต้องยืนยันตัวตน
เมื่อไม่ได้เปิดใช้งานการเข้าสู่ระบบแบบ Single Sign-On (SSO) ใน portal ฟีเจอร์สำหรับผู้ดูแลระบบ เช่น การจัดการ license และการกำหนดค่า policy จะไม่สามารถเข้าถึงได้ หากต้องการเปิดใช้งานการเข้าถึงฟีเจอร์ผู้ดูแลระบบเหล่านี้โดยไม่ต้องตั้งค่า SSO ให้ deploy Helm chart ด้วยการกำหนดค่าต่อไปนี้:
helm upgrade --install cdrplatform-portal cdrplatform-portal \
--set image.tag=2.18.1-183506 \
--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
8.3D - เพื่อเปิดใช้งานการยืนยันตัวตน API แบบพื้นฐาน
การยืนยันตัวตนใน Glasswall Halo ถูกปิดใช้งานเป็นค่าเริ่มต้น เมื่อเปิดใช้งานแล้ว การยืนยันตัวตนจะถูกเปิดใช้ทั้งสำหรับ Glasswall Halo Synchronous API และ Policy Management API หากจำเป็นต้องเปิดใช้งานการยืนยันตัวตน:
-
สร้าง secret สองรายการใน Google Secrets Manager: รายการหนึ่งสำหรับ organisation ID และอีกรายการหนึ่งสำหรับ organisation tokens
- เมื่อระบุ token หลายรายการ ให้คั่นแต่ละรายการด้วยเครื่องหมายจุลภาค
- ตรวจสอบให้แน่ใจว่า token แต่ละรายการไม่มีเครื่องหมายจุลภาค
-
secret ใน Google Secrets Manager ต้องเป็นไปตามหลักการตั้งชื่อด้านล่าง
-
secret ของ Organisation ID
- ต้องขึ้นต้นด้วย
organisation - ต้องลงท้ายด้วย
-id - ใส่ดัชนีตัวเลขระหว่างคำนำหน้าและคำต่อท้าย
- ตัวอย่าง:
organisation0-id,organisation1-id,organisation2-id
- ต้องขึ้นต้นด้วย
-
ซีเคร็ตโทเค็นขององค์กร
- ต้องขึ้นต้นด้วย
organisation - ต้องลงท้ายด้วย
-tokens - ใส่ดัชนีตัวเลขระหว่างคำนำหน้าและคำต่อท้าย
- ตัวอย่าง:
organisation0-tokens,organisation1-tokens,organisation2-tokens
- ต้องขึ้นต้นด้วย
-
-
ตั้งค่า
configuration.AuthenticationScheme=Basicระหว่างการดีพลอย Helm chart ตัวอย่างเช่น:
helm upgrade --install cdrplatform-api-access cdrplatform-api-access \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
--set configuration.AuthenticationScheme=Basic \
--atomic
8.4 - Portal
หากต้องการ deploy บริการ Halo Portal ให้รันคำสั่งด้านล่าง
8.4A - สำหรับการดีพลอยที่ไม่มี TLS/SSL
หมายเหตุ: ip_address ที่กล่าวถึงในคำสั่งนี้หมายถึง public IP address ของ load balancer ซึ่งสามารถดึงได้ผ่านขั้นตอน "Portal & API Access" ด้านล่าง
ip_address=""
helm upgrade --install cdrplatform-portal cdrplatform-portal \
--set image.registry=glasswallhub.azurecr.io \
--set configuration.BackendUrl="${ip_address}" \
--set image.tag=2.18.1-183506 \
--set configuration.HaloVersion=2.18.1 \
--set configuration.OIDC=null
8.4B - สำหรับการปรับใช้ที่มี TLS/SSL
หากต้องใช้ TLS ให้เพิ่มพารามิเตอร์ --set ingress.tls.enable_tls=true และตั้งค่า portal_domain=<domain name>
ในตัวอย่างด้านล่าง จะใช้ Kubernetes secret เดียวกันกับที่สร้างไว้สำหรับบริการ API Access เพื่อดึงใบรับรอง TLS
portal_domain=""
helm upgrade --install cdrplatform-portal cdrplatform-portal \
--set image.tag=2.18.1-183506 \
--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.BackendUrl="https://${portal_domain}" \
--atomic
8.5 - การเข้าถึง Portal
บริการ Portal access ทำหน้าที่เป็นแบ็กเอนด์สำหรับ Halo Portal โดยช่วยให้ Halo Portal สามารถเข้าถึง Policy Management API และ Synchronous API ได้
8.5A - สำหรับการปรับใช้ที่มี TLS/SSL
หากต้องใช้ TLS ให้เพิ่มพารามิเตอร์ --set ingress.tls.enable_tls=true และ --set ingress.tls.domain=<domain name>.
ในตัวอย่างด้านล่าง มีการใช้ Kubernetes secret เดียวกันที่สร้างไว้สำหรับบริการ API access เพื่อดึงใบรับรอง TLS
domain_name=""
helm upgrade --install cdrplatform-portal-access cdrplatform-portal-access \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
--set ingress.tls.enabled=true \
--set ingress.tls.domain=${domain_name} \
--set ingress.tls.secretName=tls-secret \
--set configuration.AuthenticationScheme=None \
--atomic
8.5B - สำหรับการปรับใช้ที่ไม่มี TLS/SSL และการยืนยันตัวตน
helm upgrade --install cdrplatform-portal-access cdrplatform-portal-access \
--set image.registry=glasswallhub.azurecr.io \
--set configuration.AuthenticationScheme=None \
--set image.tag=2.18.1-183506 \
--atomic
8.6 - MongoDB
MongoDB operator
helm install community-operator mongodb/community-operator --namespace cdrplatform \
--set operator.version=0.9.0 \
--set agent.version=107.0.0.8465-1
การติดตั้ง MongoDB
helm upgrade -i cdrplatform-mongodb cdrplatform-mongodb -n cdrplatform --atomic \
--set cloud_provider=gcp
- ดึง connection string จาก Kubernetes secret
kubectl get secret mongodb-cdrplatform-cdrp-user -o jsonpath='{.data.connectionString\.standard}' | base64 -d
- อัปเดต Kubernetes secret ด้วยสตริงการเชื่อมต่อ MongoDB (ลบและสร้างใหม่)
kubectl create secret generic cdrplatform-secrets -n cdrplatform --from-literal=mongodb-cdrp-password=<Add-Value> --from-literal=mongodb-admin-password=<Add-Value> --from-literal=mongodb-connectionstring=<Add-Value>
8.7 - Policy Management API
Policy Management API ใช้สำหรับจัดการ policies สำหรับแฟล็กการจัดการเนื้อหาของ Glasswall Halo นี่เป็นบริการเสริม ให้ติดตั้งหากคุณต้องการสร้างและใช้ polices แบบกำหนดเอง
helm upgrade --install cdrplatform-policy-api cdrplatform-policy-api \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
--set cloud_provider=gcp
สามารถเข้าถึงหน้า swagger ของ Policy API ได้โดยใช้
http://<ip>/swagger/index.html
8.8 - API การจัดการไลเซนส์
บริการการจัดการไลเซนส์ใช้สำหรับจัดการไลเซนส์ใน Glasswall Halo
helm upgrade --install cdrplatform-license-management cdrplatform-license-management -n license-management\
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
-n license-management
8.9 - ล้างบริการ
บริการ Clean up จะลบไฟล์ต้นฉบับและไฟล์ที่สร้างใหม่ออกจาก persistent storage หลังจากประมวลผลไฟล์แล้ว
helm upgrade --install cdrplatform-cleanup cdrplatform-cleanup \
--set image.registry=glasswallhub.azurecr.io \
--set cloud_provider=gcp \
--set image.tag=2.18.1-183506
8.10 - Asynchronous API
Asynchronous API สามารถปรับใช้ได้โดยใช้คำสั่งด้านล่าง MongoDB database เป็นข้อกำหนดเบื้องต้นสำหรับ Asynchronous API
helm upgrade --install cdrplatform-async-api cdrplatform-async-api \
--set image.tag=2.18.1-183506 \
--set image.registry=glasswallhub.azurecr.io \
--set cloud_provider=gcp
8.11 - การฉายเมตริก
บริการ Metrics projection ใช้เพื่อดึงข้อมูลการรายงานจาก MongoDB มาแสดงใน Portal UI
helm upgrade --install cdrplatform-metrics-projection cdrplatform-metrics-projection \
--set image.tag=2.18.1-183506 \
--set image.registry=glasswallhub.azurecr.io \
--set cloud_provider=gcp
8.12 - ตัวแยกรายงาน
บริการ Report extractor ทำการแยกรายงานการวิเคราะห์และเผยแพร่เพื่อใช้ในการรายงาน
helm upgrade --install cdrplatform-report-extractor cdrplatform-report-extractor \
--set image.tag=2.18.1-183506 \
--set image.registry=glasswallhub.azurecr.io \
--set cloud_provider=gcp
8.13 - ตัวสะสมยอดรวม
บริการ Tally accumulator ติดตามและดูแลยอดรวมของสถิติการใช้งาน
helm upgrade --install cdrplatform-tally-accumulator cdrplatform-tally-accumulator \
--set image.tag=2.18.1-183506 \
--set image.registry=glasswallhub.azurecr.io \
--set cloud_provider=gcp
8.14 - บริการตรวจสอบที่เก็บข้อมูล
บริการ Storage monitoring มี API สำหรับสมัครรับและติดตามการเปลี่ยนแปลงที่เกิดขึ้นกับเอกสารในบริการจัดเก็บข้อมูลที่กำหนดค่าไว้ เช่น SharePoint และ OneDrive
ต้องเปิดใช้งาน TLS สำหรับ Webhook
- เพิ่มพารามิเตอร์
--set ingress.tls.enable_tls=trueและ--set ingress.tls.domain=<domain name>
ในตัวอย่างด้านล่าง จะใช้ Kubernetes secret เดียวกันกับที่สร้างไว้สำหรับบริการ API Access เพื่อดึงใบรับรอง TLS
domain_name=""
helm upgrade --install cdrplatform-storage-monitor cdrplatform-storage-monitor --wait --atomic \
--set image.tag="2.18.1-183506" \
--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
8.15 - การปรับขนาด Prometheus แบบทางเลือก
ติดตั้ง chart การปรับขนาด Prometheus เฉพาะเมื่อคุณต้องการเปิดใช้งานการปรับขนาดที่อิงตาม Prometheus
helm upgrade --install prometheus-scaling prometheus-scaling --wait --atomic \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=3.10.0 \
--set imagePullSecrets[0].name=acr-secret \
--set keda.icap.enabled=<true|false>
8.16 - การเข้าถึง Portal & API
ใช้คำสั่งด้านล่างเพื่อระบุ external-IP ที่เชื่อมโยงกับคลัสเตอร์ของคุณ:
หมายเหตุ: external-IP จะเหมือนกับที่อยู่ IP สาธารณะที่เชื่อมต่อกับ AWS 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/index.html
ขอแสดงความยินดี คุณได้ปรับใช้ Glasswall Halo สำเร็จแล้ว!