ขั้นตอนที่ 7 - ติดตั้งส่วนประกอบ CDR
สุดท้าย ให้ติดตั้งบริการแอปพลิเคชัน Glasswall Halo สำหรับ Helm chart แต่ละรายการ ตรวจสอบให้แน่ใจว่าได้ตั้งค่า image tag เป็นเวอร์ชันที่สอดคล้องกันตามที่ระบุไว้ใน release notes
ตัวอย่างด้านล่างถูกกรอกแท็กสำหรับ v2.18.1 ไว้ล่วงหน้าแล้ว
7.1 - Engine
หากต้องการผสานรวม Halo กับ ReversingLabs ให้ตั้งค่าตัวแปร enable_reversing_labs เป็น true ตรวจสอบให้แน่ใจว่าได้สร้าง secrets ของ ReversingLabs ใน AWS Secrets Manager แล้ว ตามที่อธิบายไว้ในขั้นตอนที่ 3
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=aws \
--timeout 10m \
--atomic
7.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=aws
7.3 - บริการ API Access
บริการ API Access ทำหน้าที่เป็นเกตเวย์ไปยัง Glasswall Halo Synchronous API และ Policy Management API
บริการนี้เปิดเผยความสามารถของ CDR ผ่าน HTTP หากสภาพแวดล้อมของคุณต้องใช้ HTTPS พร้อม TLS หรือ SSL ให้ทำตามคำแนะนำเพื่อติดตั้งบริการโดยเปิดใช้งาน TLS หรือ SSL มิฉะนั้น ให้ทำตามคำแนะนำสำหรับการติดตั้งโดยไม่ใช้ TLS หรือ SSL
7.3A - สำหรับ deployment ที่ไม่มี tls/ssl
helm upgrade --install cdrplatform-api-access -n cdrplatform cdrplatform-api-access \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
--atomic
7.3B - Deployment ที่ใช้ TLS หรือ SSL
หากต้องการใช้ใบรับรอง SSL กับ CDR API ให้สร้าง private key และ certificate สำหรับโดเมนที่ต้องการ
สร้าง Kubernetes secret จากไฟล์ private key และ certificate โดยใช้คำสั่งด้านล่าง คำสั่งนี้จะสร้าง secret ชื่อ tls-secret โดยใช้ server.key เป็น private key และ server.crt เป็น certificate
ในตัวอย่างนี้ private 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=2.18.1-183506 \
--set cloud_provider=aws \
--set ingress.tls.enabled=true \
--set ingress.tls.domain=${domain_name} \
--set ingress.tls.secretName=tls-secret \
--atomic
7.3C - เปิดใช้การยืนยันตัวตนของ API
การยืนยันตัวตนสำหรับ Glasswall Halo API ถูกปิดใช้งานเป็นค่าเริ่มต้น หากต้องการเปิดใช้การยืนยันตัวตน ให้ทำตามขั้นตอนด้านล่างให้ครบถ้วน
-
สร้าง secrets สองรายการใน AWS Secrets Manager
- secret หนึ่งรายการสำหรับ organisation ID
- secret หนึ่งรายการสำหรับ organisation tokens
เมื่อระบุ token หลายรายการ ให้คั่นแต่ละรายการด้วยเครื่องหมายจุลภาค ตรวจสอบให้แน่ใจว่า token แต่ละรายการไม่มีเครื่องหมายจุลภาค
-
Secrets ใน AWS 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 -n cdrplatform cdrplatform-api-access \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
--set configuration.AuthenticationScheme=Basic \
--atomic
7.4 - MongoDB
หมายเหตุ: หากคุณได้กำหนดค่าและตั้งค่า MongoDB ภายใน AWS ไว้ก่อนหน้านี้แล้ว และไม่ต้องการจัดการและติดตั้ง MongoDB ภายในคลัสเตอร์ของคุณ คุณสามารถข้ามขั้นตอนนี้และดำเนินการติดตั้ง Portal Services ด้านล่างต่อได้
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 \
--atomic
ติดตั้ง MongoDB
helm upgrade -i cdrplatform-mongodb cdrplatform-mongodb -n cdrplatform --atomic \
--set cloud_provider=aws
หลังจาก deploy MongoDB แล้ว ให้ดึงสตริงการเชื่อมต่อ MongoDB และจัดเก็บไว้ใน AWS Secrets Manager
- ดึงสตริงการเชื่อมต่อจาก k8s secret
mongodb_conn_str=$(kubectl get secret mongodb-cdrplatform-cdrp-user -o jsonpath='{.data.connectionString\.standard}' | base64 -d)
- สร้าง secret ใหม่ใน AWS Secrets Manager โดยใช้สตริงการเชื่อมต่อ MongoDB
aws secretsmanager create-secret --name "mongodb-connectionstring" --secret-string "${mongodb_conn_str}" --region "${region}"
7.5 - Portal
หากต้องการ deploy บริการ Portal ให้รันคำสั่งด้านล่าง
7.5A - การ deploy โดยไม่มี TLS หรือ SSL
หมายเหตุ: <ip-address> ที่อ้างถึงในคำสั่งเหล่านี้คือที่อยู่ IP สาธารณะของ load balancer ซึ่งสามารถดึงมาได้โดยทำตามขั้นตอน Portal and API Access ด้านล่าง
helm upgrade --install cdrplatform-portal cdrplatform-portal \
--set image.registry=glasswallhub.azurecr.io \
--set configuration.OIDC=null \
--set image.tag=2.18.1-183506 \
--set configuration.BackendUrl=http://<ip-address> \
--set configuration.HaloVersion=2.18.1 \
--atomic
7.5B - การ deploy ด้วย 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 \
--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 \
--set configuration.BackendUrl=https://${domain_name} \
--set configuration.OIDC=null \
--set configuration.HaloVersion=2.18.1 \
--atomic
7.5C - เปิดใช้งานการเข้าถึงของผู้ดูแลระบบโดยไม่ต้องยืนยันตัวตน
เมื่อไม่ได้เปิดใช้งานการเข้าสู่ระบบแบบ Single Sign On สำหรับ 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
7.5D - กำหนดค่า Halo Portal เพื่อยืนยันตัวตน APIs
หากเปิดใช้งานการยืนยันตัวตน API ให้แทนที่ ${organisation1_id} และ ${organisation1_tokens} ด้วยชื่อ secret ที่เหมาะสมซึ่งสร้างไว้ใน AWS Secrets Manager
helm upgrade --install cdrplatform-portal cdrplatform-portal \
--set image.tag=2.18.1-183506 --set image.registry=glasswallhub.azurecr.io \
--set configuration.EnableAuth=true \
--set AuthSecrets.orgIdKey=${organisation1-id} \
--set AuthSecrets.orgTokenKey=${organisation1-tokens} \
--atomic
7.6 - API การจัดการ policy
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=aws \
--atomic
สามารถเข้าถึงหน้า swagger ของ Policy API ได้โดยใช้
http://<ip>/swagger/index.html
7.7 - การเข้าถึง Portal
บริการ Portal Access ทำหน้าที่เป็นแบ็กเอนด์สำหรับ 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 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
7.7B - สำหรับการปรับใช้ที่ไม่มี 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
7.8 - การจัดการไลเซนส์
บริการการจัดการไลเซนส์ใช้สำหรับจัดการไลเซนส์ใน 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 \
--set cloud_provider=aws \
--atomic
7.9 - บริการล้างข้อมูล
บริการ Clean up จะลบไฟล์ต้นฉบับและไฟล์ที่สร้างใหม่ออกจาก persistent storage หลังจากประมวลผลไฟล์แล้ว
helm upgrade --install cdrplatform-cleanup cdrplatform-cleanup \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
--set cloud_provider=aws \
--atomic
7.10 - API แบบอะซิงโครนัส
สามารถปรับใช้ Asynchronous API ได้โดยใช้คำสั่งด้านล่าง ฐานข้อมูล MongoDB เป็นข้อกำหนดเบื้องต้นสำหรับ Async 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=aws \
--atomic
7.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=aws \
--atomic
7.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=aws \
--atomic
7.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=aws \
--atomic
7.14 - บริการตรวจสอบที่เก็บข้อมูล
บริการ 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="2.18.1-183506" \
--set image.registry="glasswallhub.azurecr.io" \
--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.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>
7.16 - การเข้าถึง Portal & API
ใช้คำสั่งด้านล่างเพื่อระบุ external-ip ที่เชื่อมโยงกับคลัสเตอร์ของคุณ:
หมายเหตุ: external-ip จะเหมือนกับ public ip address ที่แนบอยู่กับ AWS load balancer
kubectl get services --namespace cdrplatform nginx-ingress-ingress-nginx-controller --output jsonpath='{.status.loadBalancer.ingress[0].hostname}'
ขณะนี้คุณสามารถใช้ IP ที่ได้จากด้านบนเพื่อไปยัง Portal และเอกสาร API ได้แล้ว (ใช้ https หากเปิดใช้งาน TLS):
Portal: http://<ip>
API documentation: http://<ip>/swagger