コンテナを使用して.NET Frameworkエージェントをインストール
インストールを行う前に
本項では、Dockerを例として、コンテナ化されたアプリケーションにContrast .NET Frameworkエージェントをインストールするための一般的な手順について説明します。
コンテナや関連ソフトウェアの仕組みを基本的に理解している必要があります。必要に応じて、お客様の環境に合わせて手順を調整してください。
手順 1:エージェントをインストール
コンテナイメージにアプリケーションを追加する前でも後でもインストールすることができます。推奨される方法は、名前を付けたマルチステージビルドを使用することです。 例:
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8 # Hidden for brevity... # Copy the required agent files from the official Contrast agent image. COPY --from=contrast/agent-dotnet-framework:latest C:\Contrast C:\Contrast
この例では、最新の.NET Frameworkエージェントをコピーしています。 利用可能なタグはDockerHubで確認してください。
手順 2:エージェントを設定
Contrastエージェントは、複数のソースからの設定を受け入れますが、設定の優先順位は優先順位セクションに記載されています。
設定方法を組み合わせて利用することをお勧めします。
YAMLファイルを使用して、複数のアプリケーションで共有する共通の設定を指定します。
アプリケーション固有の設定値や、YAMLファイルで指定した値を上書きする場合や、実行時に組み込む機密情報などには、環境変数を使用します。
YAMLファイルの設定:
YAMLファイルを使用してエージェントを設定する場合に、環境変数のCONTRAST_CONFIG_PATH
を使用して、YAMLファイルがコンテナ内のどこにあるかを指定することもできます。
例えば、contrast_security.yaml
という名前のYAML設定ファイルがDockerのビルドコンテキストに存在するとします。
agent: logger: path: /var/tmp level: WARN
環境変数CONTRAST_CONFIG_PATH
を使用して、以下のようにコンテナイメージにエージェント YAMLファイルを追加することができます。
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8 # Hidden for brevity... # Add the Contrast agent to the image. COPY --from=contrast/agent-dotnet-framework:latest C:\Contrast C:\Contrast # Copy the contrast_security.yaml file from Docker build context. COPY ./contrast_security.yaml /contrast_security.yaml # Finally configure the agent to use the YAML file previously copied. ENV CONTRAST_CONFIG_PATH=/contrast_security.yaml
環境変数の設定:
アプリケーション固有の設定を指定するために、環境変数を使用します。以下は、一般的によく使用される設定オプションです。
項目 | 用途 | 環境変数 |
---|---|---|
アプリケーション名 | Contrastサーバに報告されるアプリケーション名を指定します。 |
|
アプリケーショングループ | オンボード時にこのアプリケーションと関連付けるアクセスグループを指定します。 注記この変数を使用する前に、Contrastでアプリケーションアクセスグループを作成してください。 |
|
アプリケーションのタグ | アプリケーションにタグを追加します。 |
|
サーバ名 | Contrastに報告されるサーバ名を指定します。 |
|
サーバの環境 | アプリケーションを実行する環境を指定します。このオプションで有効な値:Development、QA、Production |
|
サーバのタグ | サーバにタグを追加します。 |
|
手順3:プロファイル変数と認証情報を追加
アプリケーションに.NETエージェントを組み込んで検査を行うには、さらに環境変数が必要です。COR_CLR
変数はエージェントをロードし、CONTRAST_
変数はContrastサーバに対するエージェントの認証用です。
前述のDockerfileの例を使用すると、以下のようになります。
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8 COPY --from=contrast/agent-dotnet-framework:latest C:\Contrast C:\Contrast ENV COR_ENABLE_PROFILING=1 \ COR_PROFILER={EFEB8EE0-6D39-4347-A5FE-4D0C88BC5BC1} \ COR_PROFILER_PATH_32=C:\Contrast\runtimes\win-x86\native\ContrastProfiler.dll \ COR_PROFILER_PATH_64=C:\Contrast\runtimes\win-x64\native\ContrastProfiler.dll
さらに、サーバに対するエージェント認証のために、以下の環境変数が必要です。
CONTRAST__API__URL=https://app.contrastsecurity.com/Contrast CONTRAST__API__API_KEY={APIキーを指定} CONTRAST__API__SERVICE_KEY={サービスキーを指定}
APIの値(エージェントキー)はContrast Webインターフェイスで確認するか、.NET Frameworkエージェント用のYAMLファイルをダウンロードすることで取得できます。
例
こちらのGitHubリポジトリで、設定が完了したコードの例を参照できます。特に、以下のASP.NETアプリケーションのサンプルなどを参考にしてください。
デフォルトのアプリケーションプールを使用:
カスタムのアプリケーションプールを使用:
関連項目
Contrastサポートポータル:KubernetesでのContrastエージェント
Contrastサポートポータル:AWS FargateとContrastエージェント