メイン コンテンツにスキップ

ステップ 7 - CDR コンポーネントをインストール

最後に、Glasswall Halo アプリケーションサービスをインストールします。各 Helm chart について、イメージタグがリリースノートに記載された対応バージョンに設定されていることを確認してください。

以下の例には、v2.18.1 のタグがあらかじめ入力されています。

7.1 - Engine

Halo を ReversingLabs と統合するには、enable_reversing_labs 変数を true に設定します。ステップ 3 で説明したとおり、ReversingLabs のシークレットが AWS Secrets Manager に作成されていることを確認してください。

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 - 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=aws

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 \
--set image.tag=2.18.1-183506 \
--atomic

7.3B - TLS または SSL を使用するデプロイ

CDR API で SSL 証明書を使用するには、必要なドメイン用の秘密鍵と証明書を作成します。

Create a Kubernetes secret from the private key and certificate files using the command below. This command creates a secret named tls-secret using server.key as the private key and server.crt as the certificate.

この例では、秘密鍵はパスフレーズで保護されていてはなりません。

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=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 - API 認証を有効化

Glasswall Halo API の認証はデフォルトで無効になっています。認証を有効にするには、以下の手順を完了してください。

  • AWS Secrets Manager に 2 つのシークレットを作成します。

    • 1 つは organisation ID 用のシークレット
    • 1 つは organisation tokens 用のシークレット

    複数のトークンを指定する場合は、カンマで区切ってください。各トークンにカンマが含まれていないことを確認してください。

  • AWS Secrets Manager 内のシークレットは、以下の命名規則に従う必要があります。

    • Organisation ID シークレット

      • organisation で始まる必要があります
      • -id で終わる必要があります
      • プレフィックスとサフィックスの間に数値インデックスを含めます
      • 例: organisation0-idorganisation1-idorganisation2-id
    • Organisation tokens secret

      • organisation で始まる必要があります
      • 末尾は -tokens である必要があります
      • プレフィックスとサフィックスの間に数値インデックスを含めます
      • 例: organisation0-tokensorganisation1-tokensorganisation2-tokens
  • 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=2.18.1-183506 \
--set configuration.AuthenticationScheme=Basic \
--atomic

7.4 - MongoDB

注: 以前に AWS 内で MongoDB を設定およびセットアップしており、クラスター内で MongoDB を管理およびインストールしたくない場合は、この手順をスキップして、以下の Portal Services のインストールに進むことができます。

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 \
--atomic

MongoDB のインストール

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

MongoDB のデプロイ後、MongoDB 接続文字列を取得し、AWS Secrets Manager に保存します。

  • k8s secret から接続文字列を取得します
mongodb_conn_str=$(kubectl get secret mongodb-cdrplatform-cdrp-user -o jsonpath='{.data.connectionString\.standard}' | base64 -d)
  • AWS Secrets Manager に、MongoDB 接続文字列を含む新しいシークレットを作成します。
aws secretsmanager create-secret --name "mongodb-connectionstring" --secret-string "${mongodb_conn_str}" --region "${region}"

7.5 - Portal

Portal サービスをデプロイするには、以下のコマンドを実行します。

7.5A - TLS または SSL なしのデプロイ

注: これらのコマンドで参照されている <ip-address> は、ロードバランサーのパブリック IP アドレスです。これは、以下の Portal and API Access の手順に従って取得できます。

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 - 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 \
--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 - 認証なしで管理者アクセスを有効にする

Portal で Single Sign On ログインが有効になっていない場合、ライセンス管理や 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

7.5D - API を認証するよう Halo Portal を設定する

API 認証が有効になっている場合は、${organisation1_id}${organisation1_tokens} を、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 管理 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=aws \
--atomic

Policy API の swagger ページには、以下を使用してアクセスできます

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

7.7 - Portal アクセス

Portal Access サービスは、Portal のバックエンドとして機能します。これにより、Portal は Policy 管理 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 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 - 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 - ライセンス管理

ライセンス管理サービスは、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 - クリーンアップサービス

クリーンアップサービスは、ファイルの処理後に永続ストレージから元のファイルと再構築されたファイルを削除します。

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 - 非同期 API

Asynchronous API は、以下のコマンドを使用してデプロイできます。Async 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=aws \
--atomic

7.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=aws \
--atomic

7.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=aws \
--atomic

7.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=aws \
--atomic

7.14 - ストレージ監視サービス

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="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 - オプションの 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>

7.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].hostname}'

これで、上記で返された IP を使用して、Portal と API documentation にアクセスできます(TLS が有効な場合は https を使用してください)。

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