Chuyển đến nội dung chính

Bước 7 - Cài đặt các thành phần CDR

Cuối cùng, cài đặt các dịch vụ ứng dụng Glasswall Halo. Với mỗi Helm chart, hãy đảm bảo rằng image tag được đặt thành phiên bản tương ứng được liệt kê trong ghi chú phát hành.

Các ví dụ bên dưới được điền sẵn các thẻ cho v2.18.1.

7.1 - Engine

Để tích hợp Halo với ReversingLabs, hãy đặt biến enable_reversing_labs thành true. Đảm bảo rằng các secret của ReversingLabs đã được tạo trong AWS Secrets Manager, như được mô tả ở Bước 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 - API đồng bộ

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 - Dịch vụ API Access

Dịch vụ API Access hoạt động như một cổng vào Glasswall Halo Synchronous API và Policy Management API.

Dịch vụ này cung cấp chức năng CDR qua HTTP. Nếu môi trường của bạn yêu cầu HTTPS với TLS hoặc SSL, hãy làm theo hướng dẫn để cài đặt dịch vụ với TLS hoặc SSL được bật. Nếu không, hãy làm theo hướng dẫn cài đặt không có TLS hoặc SSL.

7.3A - cho các triển khai không có 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 - Các triển khai có TLS hoặc SSL

Để sử dụng chứng chỉ SSL với CDR API, hãy tạo khóa riêng tư và chứng chỉ cho miền được yêu cầu.

Tạo một Kubernetes secret từ các tệp khóa riêng tư và chứng chỉ bằng lệnh bên dưới. Lệnh này tạo một secret có tên tls-secret bằng cách sử dụng server.key làm khóa riêng tư và server.crt làm chứng chỉ.

Trong ví dụ này, khóa riêng tư không được bảo vệ bằng passphrase.

kubectl create secret tls tls-secret --key server.key --cert server.crt

Secret này sau đó có thể được օգտագործ để bật TLS trên ingress, bảo đảm rằng tên miền được đặt trong lệnh bên dưới:

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 - Bật xác thực API

Xác thực cho Glasswall Halo API bị tắt theo mặc định. Để bật xác thực, hãy hoàn thành các bước bên dưới.

  • Tạo hai secret trong AWS Secrets Manager.

    • Một secret cho ID tổ chức
    • Một secret cho các token của tổ chức

    Khi chỉ định nhiều token, hãy phân tách chúng bằng dấu phẩy. Đảm bảo rằng từng token riêng lẻ không chứa dấu phẩy.

  • Các secret trong AWS Secrets Manager phải tuân theo các quy ước đặt tên bên dưới.

    • Secret ID tổ chức

      • Phải bắt đầu bằng organisation
      • Phải kết thúc bằng -id
      • Bao gồm một chỉ mục số giữa tiền tố và hậu tố
      • Ví dụ: organisation0-id, organisation1-id, organisation2-id
    • Secret token của tổ chức

      • Phải bắt đầu bằng organisation
      • Phải kết thúc bằng -tokens
      • Bao gồm một chỉ mục số giữa tiền tố và hậu tố
      • Ví dụ: organisation0-tokens, organisation1-tokens, organisation2-tokens
  • Đặt configuration.AuthenticationScheme=Basic khi triển khai Helm chart. Ví dụ:

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

Lưu ý: nếu trước đó bạn đã cấu hình và thiết lập MongoDB trong AWS và nếu bạn không muốn quản lý và cài đặt MongoDB trong cluster của mình, bạn có thể bỏ qua bước này và tiếp tục cài đặt các Portal Services bên dưới.

Toán tử MongoDB

helm install community-operator mongodb/community-operator --namespace cdrplatform \
--set operator.version=0.9.0 \
--set agent.version=107.0.0.8465-1 \
--atomic

Cài đặt MongoDB

helm upgrade -i cdrplatform-mongodb cdrplatform-mongodb -n cdrplatform --atomic \
--set cloud_provider=aws

Sau khi MongoDB được triển khai, hãy truy xuất chuỗi kết nối MongoDB và lưu trữ nó trong AWS Secrets Manager.

  • Truy xuất chuỗi kết nối từ secret k8s
mongodb_conn_str=$(kubectl get secret mongodb-cdrplatform-cdrp-user -o jsonpath='{.data.connectionString\.standard}' | base64 -d)
  • Tạo một secret mới trong AWS Secrets Manager với chuỗi kết nối MongoDB.
aws secretsmanager create-secret --name "mongodb-connectionstring" --secret-string "${mongodb_conn_str}" --region "${region}"

7.5 - Portal

Để triển khai dịch vụ Portal, hãy chạy các lệnh bên dưới.

7.5A - Triển khai không có TLS hoặc SSL

Lưu ý: <ip-address> được tham chiếu trong các lệnh này là địa chỉ IP công khai của load balancer. Có thể lấy địa chỉ này bằng cách làm theo các bước Portal and API Access bên dưới.

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 - Triển khai có TLS hoặc SSL

Nếu требуется TLS, hãy thêm các tham số --set ingress.tls.enable_tls=true--set ingress.tls.domain=<domain_name>.

Trong ví dụ bên dưới, cùng một Kubernetes secret được tạo cho dịch vụ API Access được dùng để lấy các chứng chỉ 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 - Bật quyền truy cập admin mà không cần xác thực

Khi đăng nhập Single Sign On chưa được bật cho Portal, các tính năng quản trị như quản lý giấy phép và cấu hình policy sẽ không thể truy cập.

Để bật quyền truy cập vào các tính năng quản trị này mà không cần cấu hình SSO, hãy triển khai Helm chart với cấu hình sau.

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 - Cấu hình Halo Portal để xác thực API

Nếu xác thực API được bật, hãy thay thế ${organisation1_id}${organisation1_tokens} bằng các tên secret phù hợp đã được tạo trong 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 - Policy Management API

Policy Management API được sử dụng để quản lý các policy cho các cờ quản lý nội dung của Glasswall Halo. Đây là một dịch vụ tùy chọn, hãy cài đặt dịch vụ này nếu bạn muốn tạo và sử dụng các policy tùy chỉnh.

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

Có thể truy cập trang swagger của Policy API bằng cách sử dụng

http://<ip>/swagger/index.html

7.7 - Truy cập Portal

Dịch vụ Portal Access hoạt động như một backend cho Portal. Dịch vụ này cho phép Portal truy cập Policy Management API và Synchronous API.

7.7A - Triển khai với TLS hoặc SSL

Nếu требуется TLS, hãy thêm các tham số --set ingress.tls.enable_tls=true--set ingress.tls.domain=<domain_name>.

Trong ví dụ bên dưới, cùng một Kubernetes secret được tạo cho dịch vụ API Access được dùng để lấy các chứng chỉ 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 - cho các triển khai không có 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 - Quản lý giấy phép

Dịch vụ License management được sử dụng để quản lý giấy phép trong 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 - Dịch vụ dọn dẹp

Dịch vụ Clean up xóa các tệp gốc và các tệp đã được dựng lại khỏi bộ nhớ lưu trữ bền vững sau khi các tệp được xử lý.

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 - Asynchronous API

Asynchronous API có thể được triển khai bằng lệnh bên dưới. Cơ sở dữ liệu MongoDB là điều kiện tiên quyết cho 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 - Chiếu số liệu

Dịch vụ Metrics projection được dùng để lấy dữ liệu báo cáo từ MongoDB nhằm hiển thị trong 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 - Trình trích xuất báo cáo

Dịch vụ Report extractor trích xuất các báo cáo phân tích và phát hành chúng để phục vụ báo cáo.

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 - Bộ tích lũy tally

Dịch vụ Tally accumulator theo dõi và duy trì số liệu thống kê sử dụng.

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 - Dịch vụ giám sát lưu trữ

Dịch vụ Storage Monitoring cung cấp một API để đăng ký và theo dõi các thay đổi được thực hiện đối với tài liệu trong các dịch vụ lưu trữ đã cấu hình như SharePoint.

TLS phải được bật cho webhook.

Thêm các tham số --set ingress.tls.enable_tls=true--set ingress.tls.domain=<domain_name>.

Trong ví dụ bên dưới, cùng một Kubernetes secret được tạo cho dịch vụ API Access được dùng để lấy các chứng chỉ 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 - Tùy chọn mở rộng Prometheus

Chỉ cài đặt chart mở rộng quy mô Prometheus nếu bạn muốn bật tính năng mở rộng quy mô dựa trên 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 - Truy cập Portal & API

Sử dụng lệnh bên dưới để xác định external-ip được liên kết với cụm của bạn:

Lưu ý: external-ip sẽ giống với địa chỉ IP công khai được gắn với bộ cân bằng tải AWS.

kubectl get services --namespace cdrplatform nginx-ingress-ingress-nginx-controller --output jsonpath='{.status.loadBalancer.ingress[0].hostname}'

Bây giờ bạn có thể sử dụng IP được trả về ở trên để truy cập Portal và tài liệu API (sử dụng https nếu TLS được bật):

Portal: http://<ip>
API documentation: http://<ip>/swagger