AppScan 360° 静的分析 環境のセットアップ
AppScan 360° 静的分析 をインストールする前に、最適な配置環境を設定します。
- すべての Kubernetes 環境:
- Harbor から AppScan 360° 静的分析 をダウンロードしている場合:
- HCL ライセンスおよびダウンロード・ポータルを介して、アーカイブ・ファイルから AppScan 360° 静的分析 をダウンロードする場合:
- クラウドベースの Azure クラスターを使用している場合:
HCL ID
HCL ID により、アカウントに有効なライセンスと、ソフトウェアおよびサポートへのアクセス権が関連付けられます。HCL ライセンス、ダウンロード・ポータル、HCL Harbor へのアクセスに必要です。
HCL ID の作成とライセンスおよびソフトウェアへのアクセスの詳細については、この資料を参照してください。
Linux システム
デプロイメントを開始するには、Ubuntu または Red Hat Enterprise Linux システムが必要です。実際のデプロイメントは、リモート Kubernetes クラスター (たとえば、Azure Kubernetes Service のクラスター) にデプロイできますが、デプロイメントはこの Linux マシンから開始されます。
AppScan Central Platform
AppScan Central Platform は、AppScan 360° エクスペリエンスの基盤であり、ユーザー・インターフェース、API、およびコア・サーバー・コンポーネントを統合します。
AppScan Central Platform のインストールおよび構成の詳しい手順については、こちらをご覧ください。
- ASCP サービス・ホスト名:
ASCP サーバーのホスト名 (FQDN)。たとえば、
ascp.example.com
。 - 認証トークン
認証トークンは、
<ascp-install-path>\Keys\AgentsApiKey.txt
にあります。 - CA 証明書 (CA certificate)
証明書ファイルは、
<ascp-install-path>\Certs\AppScan360_RootCA.crt
にあります。 - 秘密鍵
秘密鍵ファイルは、
<ascp-install-path>\Certs\AppScan360_RootCA.key
にあります。
ローカル・コンテナー・サービス
HCL License and Download Portal からダウンロードしたアーカイブ・ファイルから AppScan 360° 静的分析 をインストールする場合、リモート・レジストリーにイメージをプッシュできるローカル・コンテナー・サービスが必要です。コンテナーを管理する永続的なプロセスである Docker か、物理マシンや仮想マシン上のコンテナーのライフサイクルを管理するランタイムである containerd のどちらかを使用できます。
Kubectl
Kubectl は、リモート Kubernetes クラスターとの通信に使用されます。
Kubectl のインストールおよび構成の詳しい手順については、こちらをご覧ください。
Kubernetes クラスター
このクラスターは、AppScan 360° 静的分析 エージェント・コンテナーが存在する場所であり、活用される場所です。
たとえば、Azure Kubernetes クラスターをデプロイするには、クラスターで消費されるリソースを管理するためのリソース・グループが必要です。
- AppScan 360° SAST
preparer
およびanalyzer
のポッドには、デフォルトで最低 16GB のメモリーが必要です。 ReadWriteMany
をサポートするストレージ・プロバイダーが必要です。AKSは、ReadWriteMany
をサポートするストレージ・プロバイダーとしてazurefile
を提供します。longhorn
のようなカスタム・ストレージ・プロバイダーを使用する場合は、ReadWriteMany
をサポートしていることを確認します。
VM と Kubernetes クラスター間の通信の検証
- 次のコマンドで Azure アカウントにログインします。
> azure login
- Azure の Kubernetes クラスターに接続するには、次のコマンドを実行します。
> az aks get-credentials --resource-group <resource-group-name> --name <cluster-name>
--resource-group
は、クラスターのある Azure リソース・グループです。--name
は、CLI に接続するクラスターの名前です。クラスターに接続すると、インストール・トークンがホーム・フォルダー内の .kube/config ファイルにマージされます。構成ファイルが存在しない場合は、ファイルが作成されます。
Keda
> helm repo add kedacore https://kedacore.github.io/charts
> helm repo update
> helm install keda kedacore/keda --namespace keda --create-namespace
ingress コントローラー
ingress コントローラーをデプロイします。
推奨される ingress コントローラーは NGINX (最新バージョン) です。ただし、ingress コントローラーが既にクラスターに存在する場合、新しいコントローラーをインストールする必要はありません。
DNS 名にリンクされた IP アドレスが必要です。この IP アドレスは、AKS 配置用のデフォルトの Kubernetes リソース・グループに存在する必要があります。
> helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
> helm repo update
> helm install ingress-nginx ingress-nginx/ingress-nginx \
--namespace ingress-nginx \
--create-namespace \
--set controller.service.loadBalancerIP=<ip-address> \
--set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-health-probe-request-path"=/healthz
NGINX ingress をインストールすると、toleration、nodeSelector などを構成できます。これらの構成は、-f
オプションを使用して ingress helm 配置コマンドに渡すことができます。構成可能なパラメーターには、以下のものが含まれます。
パラメーター | 説明 |
---|---|
controller.config.proxy-body-size |
要求本文の最大許容サイズ。この値は、プッシュするデータのサイズより大きくする必要があります。 |
controller.config.proxy-connect-timeout |
プロキシー・サーバーとの接続を確立するためのタイムアウト最大値。 |
controller.config.proxy-read-timeout |
プロキシー・サーバーへの要求の読み取りのタイムアウトを設定します。 |
controller.config.proxy-send-timeout |
プロキシー・サーバーへの要求の送信のタイムアウトを設定します。 |
controller.config.enable-access-log-for-default-backend |
デフォルト・バックエンドへのロギング・アクセスを有効にします。デフォルトで無効になっています。 |
controller.config.ssl-redirect |
サーバーに TLS 証明書がある場合、リダイレクト (301) のグローバル値を HTTPS に設定します。デフォルト値は true です。 |
controller.config.use-http2 |
セキュア接続で HTTP/2 サポートを有効または無効にします。 |
nodeSelector.kubernetes.io/os |
ingress を実行するノードの OS タイプ。 |
tolerations.key |
フォールト・トレランス。 |
cert-manager
> helm repo add jetstack https://charts.jetstack.io
> helm repo update
> helm install cert-manager jetstack/cert-manager --namespace cert-manager --create-namespace --set installCRDs=true
Helm
Helm は、Kubernetes アプリケーションを容易に構成および使用できるようにするための一連のリソースです。
Helm CLI のインストールの詳しい手順については、こちらをご覧ください。
Azure CLI
Azure CLI は、Azure リソースの作成と管理に使用される一連のコマンドです。
Azure CLI のインストールの詳しい手順については、こちらをご覧ください。