Step 8 - CDR コンポーネントのインストール.md
最後に、CDR アプリケーションサービスをインストールします。これらの chart については、リリースノートに記載されている対応するタグに image 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 service は、Glasswall Halo Synchronous API および Policy Management API へのゲートウェイとして機能します。
これは HTTP 経由で CDR 機能を公開します。環境で TLS または SSL を使用した HTTPS が必要な場合は、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 ありのデプロイ向け
CDR API で SSL 証明書を使用するには、使用するドメイン用の秘密鍵と証明書を作成します。
以下のコマンドを使用して、key ファイルと CRT ファイルから Kubernetes secret を作成します。このコマンドでは、server.key(秘密鍵)および server.crt(証明書)ファイルから、"tls-secret" という名前の secret を作成します。この例では、key はパスフレーズで保護されていてはいけません。
kubectl create secret tls tls-secret --key server.key --cert server.crt
このシークレットは、その後 ingress で TLS を有効にするために使用できます。以下のコマンドでドメイン名が設定されていることを確認してください。
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) ログインが有効になっていない場合、ライセンス管理や policy 設定などの管理機能にはアクセスできません。SSO を設定せずにこれらの管理機能へのアクセスを有効にするには、以下の設定で 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 の両方で認証が有効になります。認証を有効にする必要がある場合は、次の手順を実施してください。
-
Google Secrets Manager に 2 つの secret を作成します。1 つは organisation ID 用、もう 1 つは organisation token 用です。
- 複数の token を指定する場合は、カンマで区切ってください。
- 各 token にカンマが含まれていないことを確認してください。
-
Google Secrets Manager 内の secret は、以下の命名規則に従う必要があります。
-
Organisation ID シークレット
organisationで始まる必要があります-idで終わる必要があります- プレフィックスとサフィックスの間に数値インデックスを含めます
- 例:
organisation0-id、organisation1-id、organisation2-id
-
Organisation tokens secret
organisationで始まる必要があります- 末尾は
-tokensである必要があります - プレフィックスとサフィックスの間に数値インデックスを含めます
- 例:
organisation0-tokens、organisation1-tokens、organisation2-tokens
-
-
Helm chart のデプロイ時に
configuration.AuthenticationScheme=Basicを設定します。例:
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 - ポータル
Halo Portal サービスをデプロイするには、以下のコマンドを実行します。
8.4A - TLS/SSL なしのデプロイ向け
注: このコマンド内で言及されている ip_address は、ロードバランサーのパブリック IP アドレスを指します。これは、以下の「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> を設定します。
以下の例では、API Access サービス用に作成したものと同じ Kubernetes secret を使用して 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 access
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> パラメータを追加します。
以下の例では、API access サービス用に作成したものと同じ Kubernetes secret を使用して 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
- Kubernetes シークレットから接続文字列を取得します
kubectl get secret mongodb-cdrplatform-cdrp-user -o jsonpath='{.data.connectionString\.standard}' | base64 -d
- MongoDB 接続文字列で Kubernetes secret を更新します(削除して再作成します)
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 管理 API は、Glasswall Halo コンテンツ管理フラグの policy を管理するために使用されます。これはオプションのサービスであり、カスタム policy を作成して使用したい場合にインストールしてください。
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
Policy API の swagger ページには、以下を使用してアクセスできます
http://<ip>/swagger/index.html
8.8 - License management 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 - サービスのクリーンアップ
クリーンアップサービスは、ファイルの処理後に永続ストレージから元のファイルと再構築されたファイルを削除します。
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 - 非同期 API
非同期 API は、以下のコマンドを使用してデプロイできます。非同期 API の前提条件として MongoDB データベースが必要です。
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 - メトリクス投影
メトリクス投影サービスは、Portal UI に表示するために MongoDB からレポートデータを取得するために使用されます。
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 - ストレージ監視サービス
ストレージ監視サービスは、SharePoint や OneDrive などの設定済みストレージサービス内のドキュメントに加えられた変更をサブスクライブして追跡するための API を提供します。
Webhook では TLS を有効にする必要があります。
--set ingress.tls.enable_tls=trueおよび--set ingress.tls.domain=<domain name>パラメーターを追加します。
以下の例では、API Access サービス用に作成したものと同じ Kubernetes secret を使用して 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 スケーリング
Prometheus ベースのスケーリングを有効にする場合にのみ、Prometheus scaling chart をインストールしてください。
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 は、AWS load balancer に割り当てられたパブリック IP アドレスと同じです。
kubectl get services --namespace cdrplatform nginx-ingress-ingress-nginx-controller --output jsonpath='{.status.loadBalancer.ingress[0].ip}'
これで、上で返された IP を使用して Portal と API ドキュメントにアクセスできます。
注: TLS が有効になっている場合は HTTPs を使用してください。
Portal: http://<ip>
API documentation: http://<ip>/swagger/index.html
おめでとうございます。Glasswall Halo のデプロイに成功しました。