ステップ 7 - CDR コンポーネントをインストール
最後に、Glasswall Halo サービスをインストールします。各 Helm chart について、イメージタグがリリースノートに記載された対応バージョンに設定されていることを確認してください。
以下の例には、v2.16.0 の値があらかじめ入力されています。
7.1 - Engine
Halo を ReversingLabs と統合するには、enable_reversing_labs 変数を true に設定します。ステップ 3 で説明したとおり、ReversingLabs のシークレットが Vault に作成されていることを確認してください。
enable_reversing_labs=""
helm upgrade --install cdrplatform-engine cdrplatform-engine -n cdrplatform \
--set image.tag=165275 \
--set image.registry=glasswallhub.azurecr.io \
--set cloud_provider=oracle \
--set configuration.ENABLE_REVERSING_LABS="${enable_reversing_labs}" \
--atomic
7.2 - Synchronous API
helm upgrade --install cdrplatform-sync-api cdrplatform-sync-api -n cdrplatform \
--set image.tag=166415 \
--set image.registry=glasswallhub.azurecr.io \
--set cloud_provider=oracle
7.3 - API Access サービス
API Access service は、Glasswall Halo Synchronous API および Policy Management API へのゲートウェイとして機能します。
これは、HTTP 経由で CDR 機能を公開します。お使いの環境で TLS または SSL を使用した HTTPS が必要な場合は、TLS または SSL を有効にしてサービスをインストールする手順に従ってください。そうでない場合は、TLS または SSL を使用しないインストール手順に従ってください。
7.3A - TLS/SSl なしのデプロイメントの場合
helm upgrade --install cdrplatform-api-access -n cdrplatform cdrplatform-api-access \
--set image.registry=glasswallhub.azurecr.io \
--atomic --set image.tag=165925
7.3B - 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 を有効にするために使用できます。以下のコマンドでドメイン名が設定されていることを確認してください。
helm upgrade --install cdrplatform-api-access -n cdrplatform cdrplatform-api-access \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=165925 \
--set cloud_provider=oracle \
--set ingress.tls.enabled=true \
--set ingress.tls.domain=<domain name> \
--set ingress.tls.secretName=tls-secret \
--atomic
7.3C - API 認証を有効化
Glasswall Halo API の認証はデフォルトで無効になっています。認証を有効にするには、以下の手順を完了してください。
-
Vault シークレット
vault_secret_nameに 2 つの新しいエントリを追加します。- organisation ID 用のエントリを 1 つ
- organisation tokens 用のエントリを 1 つ
複数のトークンを指定する場合は、カンマで区切ってください。各トークンにカンマが含まれていないことを確認してください。
-
Vault シークレットエントリは、以下の命名規則に従う必要があります。
-
Organisation ID
organisationで始まる必要があります-idで終わる必要があります- プレフィックスとサフィックスの間に数値インデックスを含めます
- 例:
organisation1-id、organisation2-id、organisation3-id
-
Organisation tokens
organisationで始まる必要があります- 末尾は
-tokensである必要があります - プレフィックスとサフィックスの間に数値インデックスを含めます
- 例:
organisation1-tokens、organisation2-tokens、organisation3-tokens
-
{
"organisation1-id": "org-1",
"organisation1-tokens": "org-1-token-1,org-1-token-2"
}
- helm chart のデプロイ時に
configuration.AuthenticationScheme=Basicを設定します。例:
helm upgrade --install cdrplatform-api-access -n cdrplatform cdrplatform-api-access \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=165925 \
--set configuration.AuthenticationScheme=Basic \
--set cloud_provider=oracle \
--atomic
7.4 - Portal
7.4A - TLS または SSL なしのデプロイ
Portal サービスをデプロイするには、以下のコマンドを実行します。
注: これらのコマンドで参照されている <IP-address> は、ロードバランサーのパブリック IP アドレスです。これは、以下の Portal and API Access の手順に従って取得できます。
helm upgrade --install cdrplatform-portal cdrplatform-portal -n cdrplatform \
--set image.registry=glasswallhub.azurecr.io \
--set configuration.OIDC=null \
--set image.tag=166435 \
--set configuration.BackendUrl=http://<IP-address> \
--set configuration.HaloVersion=2.16.0 \
--atomic
7.4B - TLS または SSL を使用するデプロイ
TLS を有効にするには、--set ingress.tls.enable_tls=true および --set ingress.tls.domain=<domain name> パラメータを追加します。
以下の例では、API Access サービス用に作成したものと同じ Kubernetes secret を使用して TLS 証明書を取得します。
helm upgrade --install cdrplatform-portal cdrplatform-portal -n cdrplatform \
--set image.tag=166435 \
--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.16.0 \
--atomic
7.4C - 認証なしで管理者アクセスを有効化
Portal で Single Sign On ログインが有効になっていない場合、ライセンス管理や policy 設定などの管理機能にはアクセスできません。
SSO を設定せずにこれらの管理機能へのアクセスを有効にするには、以下の設定で Helm chart をデプロイします。
helm upgrade --install cdrplatform-portal cdrplatform-portal \
--set image.tag=166435 \
--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.5 - MongoDB
MongoDB は、Policy Management API および Asynchronous API の前提条件です。
helm upgrade -i cdrplatform-mongodb cdrplatform-mongodb -n cdrplatform --atomic \
--set cloud_provider=oracle
MongoDB のデプロイ後、MongoDB の接続文字列を取得し、それをキーと値のシークレットに追加します。
- Kubernetes シークレットから接続文字列を取得します:
kubectl get secret mongodb-cdrplatform-cdrp-user -o jsonpath='{.data.connectionString\.standard}' | base64 -d
- キーと値のペアを追加して Oracle Vault シークレットを更新します:
{
"mongodb-connectionstring": "<output-from-previous-step>"
}
- Oracle Vault の更新後、次のコマンドを実行してシークレットを Kubernetes に同期します。
kubectl annotate externalsecret external-secret updated_at=$(date +%s) --overwrite -n cdrplatform
cdrplatform-secretsKubernetes シークレットを確認し、mongodb-connectionstringが存在して同期されていることを検証します。その後、次の Helm チャートのデプロイに進みます。
kubectl describe secret cdrplatform-secrets
7.6 - Policy 管理 API
Policy Management API は、Glasswall Halo のコンテンツ管理フラグを管理するために使用されます。このサービスはオプションであり、カスタム policy を作成して使用する予定がある場合にのみインストールしてください。
helm upgrade --install cdrplatform-policy-api -n cdrplatform cdrplatform-policy-api \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=165921 \
--set cloud_provider=oracle
7.7 - Portal Access
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> パラメータを追加します。
以下の例では、API Access サービス用に作成したものと同じ Kubernetes secret を使用して TLS 証明書を取得します。
helm upgrade --install cdrplatform-portal-access -n cdrplatform cdrplatform-portal-access \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=166410 \
--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 -n cdrplatform cdrplatform-portal-access \
--set image.registry=glasswallhub.azurecr.io \
--set configuration.AuthenticationScheme=None \
--set image.tag=166410 \
--atomic
7.8 - ライセンス管理
ライセンス管理サービスは、Glasswall Halo でライセンスを管理するために使用されます。
helm upgrade --install cdrplatform-license-management cdrplatform-license-management \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=157724 \
-n license-management \
--atomic
7.9 - クリーンアップサービス
クリーンアップサービスは、ファイルの処理後に永続ストレージから元のファイルと再構築されたファイルを削除します。
helm upgrade --install cdrplatform-cleanup cdrplatform-cleanup \
--set image.registry=glasswallhub.azurecr.io \
--set cloud_provider=oracle \
--set image.tag=165228 \
--atomic
7.10 非同期 API
Asynchronous API は、以下のコマンドを使用してデプロイできます。Asynchronous API には MongoDB データベースが必要です。
helm upgrade --install cdrplatform-async-api cdrplatform-async-api \
--set image.tag=166413 \
--set image.registry=glasswallhub.azurecr.io \
--atomic
7.11 - Metrics collation(バージョン 2.6.2 で削除)
Metrics collation サービスは CDRPlatform からイベントを取得し、MongoDB に保存します。Halo バージョン 2.6.1 以下を使用する場合にのみデプロイしてください。
helm upgrade --install cdrplatform-metrics-collation cdrplatform-metrics-collation \
--set image.tag=120018 \
--set image.registry=glasswallhub.azurecr.io \
--set cloud_provider=oracle \
--atomic
7.12 - Metrics projection
メトリクス投影サービスは、Portal UI に表示するために MongoDB からレポートデータを取得するために使用されます。
helm upgrade --install cdrplatform-metrics-projection cdrplatform-metrics-projection \
--set image.tag=166407 \
--set image.registry=glasswallhub.azurecr.io \
--set cloud_provider=oracle \
--atomic
7.13 - Report extractor
Report extractor サービスは、分析レポートを抽出し、レポート作成用に公開します。
helm upgrade --install cdrplatform-report-extractor cdrplatform-report-extractor \
--set image.tag=166411 \
--set image.registry=glasswallhub.azurecr.io \
--wait --atomic
7.11 - Tally accumulator
Tally accumulator サービスは、使用統計の集計を追跡し、維持します。
helm upgrade --install cdrplatform-tally-accumulator cdrplatform-tally-accumulator \
--set image.tag=165227 \
--set image.registry=glasswallhub.azurecr.io \
--set cloud_provider=oracle \
--wait --atomic
7.12 - ストレージ監視サービス
Storage Monitoring サービスは、SharePoint などの設定済みストレージサービス内のドキュメントに加えられた変更をサブスクライブして追跡するための API を提供します。
webhook では TLS を有効にする必要があります。
--set ingress.tls.enable_tls=true および --set ingress.tls.domain=<domain name> パラメーターを追加します。
以下の例では、API Access サービス用に作成したものと同じ Kubernetes secret を使用して TLS 証明書を取得します。
helm upgrade --install cdrplatform-storage-monitor cdrplatform-storage-monitor --wait --atomic \
--set image.tag="165098" \
--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
7.13 - ポータルとAPIアクセス
以下のコマンドを使用して、クラスターに関連付けられた外部IPアドレスを確認します。
注: 外部IPは、Oracle Cloud load balancer に割り当てられたパブリックIPアドレスと同じです。
kubectl get services --namespace cdrplatform nginx-ingress-ingress-nginx-controller --output jsonpath='{.status.loadBalancer.ingress[0].ip}'
これで、上記で返された IP を使用して、Portal と API documentation にアクセスできます(TLS が有効な場合は https を使用してください)。
Portal: http://<ip>
API Documentation: http://<ip>/swagger