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

การเปิดใช้งานแบนเนอร์อีเมล Outlook ผ่าน Helm

แบนเนอร์อีเมลเป็นฟีเจอร์เสริมสำหรับการมอนิเตอร์ Outlook โดย Halo จะทำการ sanitize ไฟล์แนบอีเมลไม่ว่าจะมีการกำหนดค่าแบนเนอร์หรือไม่ก็ตาม เมื่อเปิดใช้งานแล้ว Storage Monitor จะ:

  • เมานต์ใบรับรอง Exchange Online จาก secret cdrplatform-secrets โดยใช้คีย์ exchange-online-cert
  • ตั้งค่า EXCHANGEONLINE__CertificatePath=/mnt/exchange/exchange-certificate.pfx
  • ใช้ EXCHANGEONLINE__AppId และ EXCHANGEONLINE__Organization จากการกำหนดค่า chart
  • สร้าง distribution group และ transport rule ของ Exchange Online เมื่อเริ่มต้นระบบ
  • ทำให้ distribution group ซิงโครไนซ์กับ Outlook monitors ในเบื้องหลังอยู่เสมอ

ข้อกำหนดเบื้องต้น

  • คุณได้กำหนดค่าการมอนิเตอร์ Outlook สำหรับบริการนี้ไว้แล้ว
  • คุณได้ลงทะเบียนแอปพลิเคชันของคุณกับ Microsoft Entra IDพร้อมสิทธิ์ Exchange Online ที่จำเป็นแล้ว
  • คุณมีใบรับรอง .pfx ที่มี private key สำหรับการลงทะเบียนแอป Exchange Online — ดูตั้งค่า Exchange Online สำหรับแบนเนอร์ Outlookสำหรับคำแนะนำในการสร้างใบรับรอง
  • คุณทราบค่า AppId ของการลงทะเบียนแอป Exchange Online
  • คุณทราบค่า Organization ของ Exchange Online แล้ว ตัวอย่างเช่น glasswall.com
  • คุณมี Helm chart cdrplatform-storage-monitor เวอร์ชัน 2.4.0+ แล้ว

การปรับใช้

เพิ่มใบรับรองลงใน secret cdrplatform-secrets ที่มีอยู่แล้วใน namespace เป้าหมาย:

# Linux-only
kubectl -n cdrplatform patch secret cdrplatform-secrets \
--type merge \
-p "{\"data\":{\"exchange-online-cert\":\"$(base64 -w0 < exchange-certificate.pfx)\"}}"
# Windows-only
$tmpFile = [IO.Path]::GetTempFileName()
Set-Content -Path $tmpFile -NoNewline -Value ('{"data":{"exchange-online-cert":"' + [Convert]::ToBase64String([IO.File]::ReadAllBytes("path/to/exchange-certificate.pfx")) + '"}}')
kubectl -n cdrplatform patch secret cdrplatform-secrets --type merge --patch-file $tmpFile
Remove-Item $tmpFile

จากนั้นให้ deploy หรือ upgrade chart:

helm upgrade --install cdrplatform-storage-monitor cdrplatform-storage-monitor -n cdrplatform \
--set image.tag="178428" \
--set image.registry="glasswallhub.azurecr.io" \
--set image.pullPolicy=IfNotPresent \
--set cloud_provider=local \
--set ingress.tls.enabled=true \
--set ingress.tls.domain=${domain_name} \
--set ingress.tls.secretName=tls-secret \
--set deployment.replicaCount=1 \
--set configuration.DATABASE__Provider="mongo" \
--set configuration.GRAPHAPI__TenantName="${storage_monitor_tenant_name}" \
--set configuration.WEBHOOKS__CallbackBaseAddress="https://${domain_name}" \
--set secretsFromRef[0].DATABASE__ConnectionString.secretName="mongodb-cdrplatform-cdrp-user" \
--set secretsFromRef[0].DATABASE__ConnectionString.key="connectionString.standard" \
--set configuration.ENABLE_OUTLOOK_BANNER=true \
--set configuration.EXCHANGEONLINE__AppId="<exchange-online-app-id>" \
--set configuration.EXCHANGEONLINE__Organization="<tenant>"
-f cdrplatform-storage-monitor/values.yaml \
--atomic

หมายเหตุ

  • หากต้องการปิดใช้งานฟีเจอร์นี้อีกครั้ง ให้ตั้งค่า ENABLE_OUTLOOK_BANNER กลับเป็น false แล้ว redeploy ผ่าน Helm