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

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

最後に、CDR アプリケーション サービスをインストールします。これらのチャートについては、最新のリリースノートに記載されている対応するタグに image tag を設定してください。

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

8.1 Engine

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

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

8.2 - Sync API

helm upgrade --install cdrplatform-sync-api cdrplatform-sync-api \
--set image.tag=2.18.1-183506 \
--set image.registry=glasswallhub.azurecr.io \
--atomic

8.3 API Access service

API Access service は、Glasswall Halo Synchronous API および Policy Management API へのゲートウェイとして機能します。

HTTP 経由で CDR 機能を公開します。環境でセキュアな通信が必要な場合は、TLS または SSL のインストール手順に従って、サービスが TLS または SSL を使用するように HTTPS を設定してください。それ以外の場合は、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 を有効にするには、使用するドメイン用の秘密鍵と証明書を作成します。

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. In this example, the private key must not be protected by a passphrase.

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

このシークレットは、その後 ingress で TLS を有効にするために使用できます。以下のコマンドでは、ドメイン名が設定されていることを確認してください。

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 - 基本 API 認証を有効にするには

Glasswall Halo では、認証はデフォルトで無効になっています。有効にすると、Glasswall Halo Synchronous API と Policy API の両方に適用されます。

認証を有効にするには:

  • Azure Key Vault に 2 つのシークレットを作成します。1 つのシークレットには organisation ID を保存し、もう 1 つには organisation トークンを保存します。複数のトークンを指定する場合は、カンマで区切ってください。個々のトークンにカンマが含まれていないことを確認してください。Azure Key Vault シークレットは、以下の命名規則に従う必要があります:
  • 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  cdrplatform-api-access \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
--set configuration.AuthenticationScheme=Basic \
--atomic

8.3D - Azure AD API 認証を有効にするには

Azure AD ベースの認証を有効にするには、Helm chart のデプロイ時に configuration.AuthenticationScheme=Bearer を設定し、tenant_id および domain_name 変数を構成します。

アプリ登録 URI は、アプリが作成された時期によって異なる場合があることに注意してください。必ず Azure portal からアプリ登録 URI をコピーし、それを有効な audience として使用してください。

tenant_id=""
domain_name=""
valid_audiences="api://cdrplatform-api-access" or "api://${tenant_id}/cdrplatform-api-access" # (verify app registration URI from Azure)
helm upgrade --install cdrplatform-api-access cdrplatform-api-access --wait --atomic \
--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.AuthenticationScheme="Bearer" \
--set configuration.Authentication__Schemes__Bearer__ValidAudiences__0=${valid_audiences} \
--set configuration.Authentication__Schemes__Bearer__ValidIssuer=https://sts.windows.net/${tenant_id}/ \
--set configuration.Authentication__Schemes__Bearer__Authority=https://login.microsoftonline.com/${tenant_id}/v2.0/
Azure US Government ユーザー

Azure US Government にデプロイする場合は、次のコマンドを使用します。

これらの設定により、正しいエンドポイントと環境値が使用されます。

tenant_id=""
domain_name=""
valid_audiences="api://cdrplatform-api-access" or "api://${tenant_id}/cdrplatform-api-access" # (verify app registration URI from Azure portal)
helm upgrade --install cdrplatform-api-access cdrplatform-api-access --wait --atomic \
--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.AuthenticationScheme="Bearer" \
--set configuration.Authentication__Schemes__Bearer__ValidAudiences__0=${valid_audiences} \
--set configuration.Authentication__Schemes__Bearer__ValidIssuer=https://sts.windows.net/${tenant_id}/ \
--set configuration.Authentication__Schemes__Bearer__Authority=https://login.microsoftonline.us/${tenant_id}/v2.0/

8.4 Portal

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

8.4A - TLS/SSL なしのデプロイ向け

注: このコマンドで記載されている <IP-address> は、Load Balancer のパブリック IP アドレスを指します。これは、以下の「Portal & API Access」の手順で取得できます。

helm upgrade --install cdrplatform-portal cdrplatform-portal \
--set image.registry=glasswallhub.azurecr.io \
--set configuration.BackendUrl="http://<IP-address>" \
--set image.tag=2.18.1-183506 \
--set configuration.HaloVersion=2.18.1 \
--atomic

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}" \
--set configuration.HaloVersion=2.18.1 \
--atomic

8.4C - 認証なしで管理者アクセスを有効にする

Portal で 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.4D Glasswall Halo の Portal で SSO ログインを設定するには

以下のコマンドで portal_domainportal_client_id、および tenant_id 変数を設定してから実行します。

portal_domain は Portal サービスの TLS を設定するために使用するドメイン名であり、cdrplatform-portal-client app registration で使用するドメインと一致している必要があります。

portal_client_id は、前提条件の手順で作成した cdrplatform-portal-client app registration のアプリケーション (client) ID です。

tenant_id は、APP registrations が作成されるテナントの ID です。

enabled_pages には、有効にする必要がある各種ページを含める必要があります。値はカンマ(,)区切りで渡してください。

たとえば、Policy API、ICAP server、および ReversingLabs をデプロイしている場合は SystemSettings\,PolicySettings\,ValidationSettings\,IcapSettings\,IcapRequests\,IcapReporting に設定する必要があります。Policy API のみをデプロイしている場合は、SystemSettings\,PolicySettings\,ValidationSettings に設定します。

Policy API と ICAP server のいずれもデプロイされていない場合は、これを enabled_pages="SystemSettings" に設定します。

portal_domain=""
portal_client_id=""
tenant_id=""
enabled_pages="SystemSettings\,PolicySettings\,ValidationSettings"
helm upgrade --install cdrplatform-portal cdrplatform-portal \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
--set ingress.tls.enabled=true \
--set ingress.tls.domain=${portal_domain} \
--set ingress.tls.secretName=tls-secret \
--set configuration.BackendUrl="https://${portal_domain}" \
--set configuration.EnabledPages=${enabled_pages} \
--set configuration.OIDC.ProviderOptions.Authority="https://login.microsoftonline.com/${tenant_id}/v2.0" \
--set configuration.OIDC.ProviderOptions.RedirectUri="https://${portal_domain}/authentication/login-callback" \
--set configuration.OIDC.ProviderOptions.ClientId="${portal_client_id}" \
--set configuration.OIDC.ProviderOptions.PostLogoutRedirectUri="https://${portal_domain}/authentication/logout-callback" \
--set configuration.HaloVersion=2.18.1 \
--atomic
Azure US Government ユーザー

Azure US Government にデプロイする場合は、次のコマンドを使用します。

これらの設定により、正しいエンドポイントと環境値が使用されます。

portal_domain=""
portal_client_id=""
tenant_id=""
enabled_pages="SystemSettings\,PolicySettings\,ValidationSettings"
helm upgrade --install cdrplatform-portal cdrplatform-portal \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
--set ingress.tls.enabled=true \
--set ingress.tls.domain=${portal_domain} \
--set ingress.tls.secretName=tls-secret \
--set configuration.BackendUrl="https://${portal_domain}" \
--set configuration.EnabledPages=${enabled_pages} \
--set configuration.OIDC.ProviderOptions.Authority="https://login.microsoftonline.us/${tenant_id}/v2.0" \
--set configuration.OIDC.ProviderOptions.RedirectUri="https://${portal_domain}/authentication/login-callback" \
--set configuration.OIDC.ProviderOptions.ClientId="${portal_client_id}" \
--set configuration.OIDC.ProviderOptions.PostLogoutRedirectUri="https://${portal_domain}/authentication/logout-callback" \
--set configuration.HaloVersion=2.18.1 \
--set appenvironment.HTTP_CSP_CONNECT_SRC="'self'https://login.microsoftonline.us https://graph.microsoft.us" \
--set appenvironment.HTTP_CSP_FRAME_SRC="'self' https://login.microsoftonline.us" \
--set appenvironment.HTTP_CSP_FRAME_ANCESTORS="'self' https://login.microsoftonline.us" \
--atomic

8.5 Portal アクセス

Portal Access は 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 証明書を取得します。

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.5C 認証なし

helm upgrade --install cdrplatform-portal-access cdrplatform-portal-access \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
--set configuration.AuthenticationScheme=None \
--atomic

8.5D Azure AD 認証を有効にするには

Portal Access は、Azure AD を使用した SSO 認証を有効にします。

以下のコマンドで tenant_idportal_domain 変数を設定してから、実行します。

APP registration URI は、作成された時期によって異なる場合があることに注意してください。必ず Azure portal から app registration URI をコピーし、それを有効な audience として使用してください。

tenant_id=""
portal_domain=""
valid_audiences="api://cdrplatform-portal-access" or "api://${tenant_id}/cdrplatform-portal-access" # (verify app registration URI from Azure)
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=${portal_domain} \
--set ingress.tls.secretName=tls-secret \
--set configuration.AuthenticationScheme=Bearer \
--set configuration.Authentication__Schemes__Bearer__ValidAudiences__0=${valid_audiences} \
--set configuration.Authentication__Schemes__Bearer__ValidIssuer=https://sts.windows.net/${tenant_id}/ \
--set configuration.Authentication__Schemes__Bearer__Authority=https://login.microsoftonline.com/${tenant_id}/v2.0/ \
--atomic
Azure US Government ユーザー

Azure US Government にデプロイする場合は、次のコマンドを使用します。

これらの設定により、正しいエンドポイントと環境値が使用されます。

tenant_id=""
portal_domain=""
valid_audiences="api://cdrplatform-portal-access" or "api://${tenant_id}/cdrplatform-portal-access" # (verify app registration URI from Azure)
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=${portal_domain} \
--set ingress.tls.secretName=tls-secret \
--set configuration.AuthenticationScheme=Bearer \
--set configuration.Authentication__Schemes__Bearer__ValidAudiences__0=${valid_audiences} \
--set configuration.Authentication__Schemes__Bearer__ValidIssuer=https://sts.windows.net/${tenant_id}/ \
--set configuration.Authentication__Schemes__Bearer__Authority=https://login.microsoftonline.us/${tenant_id}/v2.0/ \
--atomic

8.6 Policy Management API

Policy Management API は、Glasswall Halo のコンテンツ管理フラグを管理するために使用されます。このサービスはオプションであり、カスタム policy を作成して使用する予定がある場合にのみインストールしてください。

helm upgrade --install cdrplatform-policy-api  cdrplatform-policy-api \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
--set configuration.DATABASE__Provider=${database_provider}
  • Policy Management API の swagger ページには、以下を使用してアクセスできます:
http://<ip>/swagger/index.html

8.7 License Management

License Management サービスは、Glasswall Halo Portal でライセンスを管理するために使用されます。

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 configuration.DATABASE__Provider=${database_provider} \
-n license-management \
--atomic

8.8 Clean up service

Clean up service は、処理完了後に永続ストレージから元のファイルと再構築されたファイルを削除します。

helm upgrade --install cdrplatform-cleanup cdrplatform-cleanup \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag=2.18.1-183506 \
--atomic

8.9 Asynchronous API

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

8.10 メトリクス投影

Metrics projection サービスは、MongoDB からレポート用データを取得し、Halo 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 configuration.DATABASE__Provider=${database_provider} \
--set cloud_provider=azure \
--atomic

## 8.11 レポート抽出

Report extractor サービスは、分析レポートを抽出し、レポート作成用に公開します。

helm upgrade --install cdrplatform-report-extractor cdrplatform-report-extractor \
--set image.tag=2.18.1-183506 \
--set image.registry=glasswallhub.azurecr.io \
--atomic

## 8.12 Tally accumulator

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 configuration.DATABASE__Provider=${database_provider} \
--atomic

8.13 MongoDB

注: MongoDB がすでに Azure で構成されており、クラスター内で 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 \
--atomic

MongoDB のインストール

helm upgrade -i cdrplatform-mongodb cdrplatform-mongodb -n cdrplatform --atomic \
--set cloud_provider=azure
  • Kubernetes シークレットから接続文字列を取得します
kubectl get secret mongodb-cdrplatform-cdrp-user -o jsonpath='{.data.connectionString\.standard}' | base64 -d
  • Azure Key Vault シークレットを MongoDB 接続文字列で更新します
az keyvault secret set --name "mongodb-connectionstring" --vault-name "${kvname}" --value "<output-from-previous-step>"

8.14 Storage Monitoring Service

Storage Monitoring サービスは、SharePoint や OneDrive などの設定済みストレージ機構内のドキュメントに加えられた変更をサブスクライブして追跡するための 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

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 アクセス

次のコマンドを使用して、クラスターに関連付けられている外部 IP アドレスを確認します。

外部 IP は、Azure load balancer に割り当てられたパブリック IP アドレスに対応します。

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

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

Portal: http://<ip>
API Documentation: http://<ip>/swagger/index.html