ข้ามไปยังเนื้อหาหลัก

ขั้นตอนที่ 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 สำเร็จแล้ว!