Tenable Container Security Scanner 環境変数

Tenable FedRAMP Moderate 環境では、以下はサポートされません。詳細については、Tenable FedRAMP Moderate 製品を参照してください。

環境変数を設定して Container Security Scanner を実行するためには、お使いのコンピューター上で CLI を使用する必要があります。

レジストリとレジストリソースの任意の組み合わせを使用して、Container Security Scanner を必要な回数だけ設定して実行できます。

環境変数

変数 説明 タイプ 必須 サポートされたモード
TENABLE_ACCESS_KEY

Tenable Vulnerability Management API のアクセスキーです。

文字列

Image Inspect

または

Registry Import

TENABLE_SECRET_KEY

Tenable Vulnerability Management API の秘密鍵です。

文字列

Image Inspect

または

Registry Import

IMPORT_REPO_NAME

イメージをインポートする Container Security Scanner リポジトリの名前です。この名前にはスペースを含めることができません。

リポジトリ名は以下の要件を満たす必要があります。

  • 64 文字以下であること
  • 英数字、ダッシュ (-)、アンダースコア (_)、または終止符 (.) のみを含むこと
  • 英数字で始まること
  • 英大文字を含まないこと

文字列

Image Inspect

または

Registry Import

REGISTRY_URI

イメージのインポート元となるレジストリの URI です。

文字列 Registry Import
REGISTRY_USERNAME

スキャンするレジストリを認証するためのユーザー名です。

レジストリの認証が必要な場合に、この変数を設定してください。

ユーザー名の変数は、スキャンするレジストリに応じて異なります。

  • Amazon Web Services (AWS) Elastic Container Registry (ECR) - ユーザー名として AWS アクセスキー ID を入力します。アクセスキー ID を取得する方法については、AWS のドキュメントを参照してください。
  • Azure レジストリ - レジストリのサービスプリンシパル ID を入力します。サービスプリンシパルを作成する方法の詳細については、Azure のドキュメントを参照してください。
  • Google Cloud Platform (GCP) Google Container Registry (GCR) - サービスアカウントプライベートキー JSON ファイルの client_email フィールドに表示される、GCR アカウントのクライアントメールアドレスを入力します。サービスアカウントプライベートキーを作成してダウンロードする方法については、Google Container Registry のドキュメントを参照してください。
  • 他のすべてのレジストリ - レジストリの認証に使用するユーザー名を入力します。
文字列

Registry Import

REGISTRY_PASSWORD

イメージのインポート元となるレジストリの認証用パスワード

レジストリの認証が必要な場合に、この変数を設定してください。

パスワードは、スキャンするレジストリに応じて異なります。

  • Amazon Web Services (AWS) Elastic Container Registry (ECR) - パスワードとして AWS アクセス秘密鍵を入力します。アクセス秘密鍵を取得する方法については、AWS のドキュメントを参照してください。
  • Azure レジストリ - レジストリのサービスプリンシパルパスワードを入力します。サービスプリンシパルを作成する方法の詳細については、Azure のドキュメントを参照してください。
  • Google Cloud Platform (GCP) Google Container Registry (GCR) - サービスアカウントプライベートキー JSON ファイルの private_key フィールドに表示される、GCR サービスアカウントの秘密鍵を入力します。サービスアカウントプライベートキーを作成してダウンロードする方法については、Google Container Registry のドキュメントを参照してください。
  • 他のすべてのレジストリ - レジストリの認証に使用するパスワードを入力します。
文字列 Registry Import
TENABLE_PROXY

Container Security ScannerTenable Vulnerability Management に接続するために使用する HTTP プロキシの URL です。

Container Security Scanner をデプロイしたマシンが Tenable Vulnerability Management に接続するためにプロキシサーバーを必要とする場合に、この変数を設定してください。

注意: Container Security Scanner をデプロイしたマシンが、レジストリと Tenable Vulnerability Management の両方にプロキシ接続を必要とする場合は、設定に REGISTRY_PROXY 変数と TENABLE_PROXY 変数の両方を適用できます。両方の変数を適用する場合は、Container Security Scanner を [Registry Import] モードで実行してください。

TENABLE_PROXY 変数は、プロキシがユーザー名とパスワードの認証を必要とするかどうかによって異なります。

  • 認証が必要な場合 - プロキシ URL を以下の形式で入力します。

    <ユーザー名>:<パスワード>@<ホスト>:<ポート>
  • 認証が不要な場合 - プロキシ URL を以下の形式で入力します。

    <ホスト>:<ポート>

注意: ホストはホスト名 (例: example.com) または IP アドレス (例: 192.0.2.202) を使用して指定できます。

文字列

Image Inspect

または

Registry Import

REGISTRY_PROXY

Container Security Scanner がレジストリに接続するために使用する HTTP プロキシの URL です。

Container Security Scanner をデプロイしたマシンがスキャン対象のレジストリに接続するためにプロキシサーバーを必要とする場合に、この変数を設定してください。

注意: Container Security Scanner をデプロイしたマシンが、レジストリと Tenable Vulnerability Management の両方にプロキシ接続を必要とする場合は、設定に REGISTRY_PROXY 変数と TENABLE_PROXY 変数の両方を適用できます。

REGISTRY_PROXY 変数は、プロキシがユーザー名とパスワードの認証を必要とするかどうかによって異なります。

  • 認証が必要な場合 - プロキシ URL を以下の形式で入力します。

    <ユーザー名>:<パスワード>@<ホスト>:<ポート>
  • 認証が不要な場合 - プロキシ URL を以下の形式で入力します。

    <ホスト>:<ポート>

注意: ホストはホスト名 (例: example.com) または IP アドレス (例: 192.0.2.202) を使用して指定できます。

文字列

Registry Import

IMAGE_NAME_WHITELIST

Tenable Container Security Scanner が行うレジストリスキャンに含めたいイメージ名またはイメージに割り当てられたタグです。

Tenable Container Security Scanner を [Registry Import] モードで実行し、特定の名前またはタグを持つイメージのみをスキャナーのスキャン対象としたい場合に、この変数を含めてください。

この変数を設定しない場合、Tenable Container Security Scanner はレジストリ内のすべてのイメージをスキャンします。

注意: 同じスキャン設定内に、IMAGE_NAME_WHITELIST 変数と IMAGE_NAME_BLACKLIST 変数を含めることはできません。

許可リスト変数は、何に基づいてイメージを含めるか (名前、タグ、またはその両方) によって異なります。

  • 名前 - スキャンに含めるイメージに割り当てられた名前を入力します。

    たとえば「-e IMAGE_NAME_WHITELIST=alpine」と入力すると、Tenable Container Security Scanner は alpine という名前のイメージのみをスキャンします。

  • タグ - 含めるイメージに割り当てられたタグを *:<tag> の形式で入力します。

    たとえば「-e IMAGE_NAME_WHITELIST=*:latest」と入力すると、Tenable Container Security Scanner は latest のタグが付いたイメージのみをスキャンします。

  • 両方 - 含めるイメージに割り当てられた名前とタグのセットを <image>:<name> の形式で入力します。

    たとえば「-e IMAGE_NAME_WHITELIST=alpine:latest」と入力すると、alpine という名前で latest タグが付いたイメージのみをスキャンに含めます。

ヒント: イメージ名とタグの値を指定する際には、アスタリスク (*) ワイルドカード文字を使用できます。

ヒント: 各変数をコンマで区切ることにより、複数の許可リスト変数を指定できます (例: -e IMAGE_NAME_WHITELIST=alpine1,alpine2,alpine3,*:latest)。

文字列 Registry Import
IMAGE_NAME_BLACKLIST

Tenable Container Security Scanner によるレジストリスキャンから除外するイメージ名またはイメージに割り当てられたタグです。

Tenable Container Security Scanner を [Registry Import] モードで実行するとき、特定のイメージをスキャン対象から除外したい場合には、この変数を含めてください。この変数を設定しない場合、Tenable Container Security Scanner はレジストリ内のすべてのイメージをスキャンします。

この変数を設定しない場合、Tenable Container Security Scanner はレジストリ内のすべてのイメージをスキャンします。

注意: 同じスキャン設定内に、IMAGE_NAME_BLACKLIST 変数と IMAGE_NAME_WHITELIST 変数を含めることはできません。

ブロックリスト変数は、何に基づいてイメージを除外するか (名前、タグ、またはその両方) によって異なります。

  • 名前 - スキャンから除外するイメージに割り当てられた名前を入力します。

    たとえば「-e IMAGE_NAME_BLACKLIST=alpine」と入力すると、Tenable Container Security Scanner は alpine という名前のイメージのみをスキャンから除外します。

  • タグ - スキャンから除外するイメージに割り当てられたタグを *:<tag> の形式で入力します。

    たとえば「-e IMAGE_NAME_BLACKLIST=*:latest」と入力すると、Tenable Container Security Scanner は latest のタグが付いたイメージのみをスキャンから除外します。

  • 両方 - 除外するイメージに割り当てられた名前とタグのセットを <image>:<name> の形式で入力します。

    たとえば「-e IMAGE_NAME_BLACKLIST=alpine:latest」と入力すると、alpine という名前で latest タグが付いたイメージのみをスキャンから除外します。

ヒント: イメージ名とタグの値を指定する際には、アスタリスク (*) ワイルドカード文字を使用できます。

ヒント: 各セットをコンマで区切ることにより、複数のブロックリスト変数のセットを指定できます (例: -e IMAGE_NAME_BLACKLIST=alpine1,alpine2,alpine3,*:latest)。

image_name_ Registry Import
CHECK_POLICY

真の場合、Tenable Container Security ScannerTenable Vulnerability Management に対して、スキャン結果に 1 つ以上のコンプライアンスポリシー違反が含まれているかどうかを検証するよう要求します。

Tenable Container Security Scanner が出力ログに出力するメッセージは、ポリシーチェックの結果に応じて異なります。

  • ポリシー違反が検出された場合 - Tenable Container Security Scanner は次のメッセージを出力します: [この画像はコンプライアンスポリシーに準拠していません]
  • ポリシー違反が検出されなかった場合 - Tenable Container Security Scanner は次のメッセージを出力します: [画像はポリシーコンプライアンスに準拠しています]
  • ポリシーチェックがタイムアウトした場合 - Tenable Container Security Scanner は次のメッセージを出力します: [致命的なエラー: レポートを取得しようとしてタイムアウトしました]

ポリシーチェックが、ポリシー違反やポリシーチェックのタイムアウト以外の何らかの理由で失敗した場合、Container Security Scanner は失敗の原因となったエラーごとに固有のメッセージを出力します。

ヒント: Container Security Scanner を介したイメージのスキャンを自動化するためのカスタムコードを記述した場合、以下の終了コードを参照することにより、イメージがポリシーチェックに合格したかどうかを判定できます。
  • 0 - イメージはポリシーチェックに合格しました。
  • 1 - タイムアウトまたはその他のエラーにより、ポリシーチェックは失敗しました。
  • 2 - イメージのポリシーチェックは失敗しました。1 つ以上のコンプライアンスポリシー違反があります。

Tenable Container Security Scanner のポリシーに関する詳細については、Tenable Container Security ポリシーを管理するを参照してください。

Boolean Image Inspect
CHECK_POLICY_TIMEOUT

Tenable Vulnerability Management がイメージのスキャンを終えて、脆弱性検出分析を完了するのを Tenable Container Security Scanner が待機する時間 (秒) です。

デフォルトでは、Container Security Scanner は 600 秒経っても応答のないポリシーの要求をタイムアウトとします。

注意: Container Security Scanner は、ポリシーのタイムアウトの上限値を設定しません。

整数 Image Inspect
IMPORT_INTERVAL_MINUTES

Container Security Scanner が選択したレジストリからイメージをインポートしてスキャンする間隔 (分) です。

設定した時間間隔でスキャナーを繰り返し実行したい場合に、この変数を設定してください。

この変数を設定しない場合、Container Security Scanner はユーザーがレジストリのスキャンを実行した最初の 1 回のみ、選択したレジストリからイメージをインポートしてスキャンします。

この変数を設定しない場合、Container Security Scanner は選択したレジストリからイメージを 1 回のみインポートしてスキャンし、スキャン完了後に終了します。

注意: レジストリをスキャンする場合にのみ、設定した時間間隔でスキャナーを実行するようにスケジュール設定できます。スキャナーを [Image Inspect] モードに設定して実行する場合には、スケジュールを設定することはできません。

整数 Registry Import
DEBUG_MODE

真の場合、Container Security Scanner はデバッグに追加情報をスキャンのログに追加します。

注意: Tenable では、Tenable サポート から要求があった場合にのみ、この変数を含めることを推奨しています。

Boolean

Image Inspect

または

Registry Import

ALLOW_INSECURE_SSL_REGISTRY

真の場合、Container Security Scanner はレジストリの SSL 証明書が信頼できる認証局 (CA) によって発行されていることを検証せずに、証明書を受け入れます。

警告: 信頼できる認証局 (CA) によって発行された SSL 証明書であることを検証せずに Tenable が証明書を受け入れると、証明書は有効ではなく、接続は安全ではない可能性があります。したがって、Tenable ではテストまたはデバッグ作業中にのみこの変数を含めることを推奨しています。

Boolean

Registry Import
HTTP_CONNECTION_TIMEOUT_SECONDS

Container Security Scanner がレジストリに接続要求を送信した後、応答が来るのを待機する時間 (秒) です。レジストリがこの時間内に接続要求を受け入れない場合、Container Security Scanner は要求をキャンセル (タイムアウト) します。

デフォルトでは、Container Security Scanner は 10 秒経っても応答のない接続要求をタイムアウトとします。

整数

Image Inspect

または

Registry Import

HTTP_IDLE_TIMEOUT_SECONDS

Container Security Scanner がレジストリにイメージデータの要求を送信した後、応答が来るのを待機する時間 (秒) です。レジストリがこの制限時間内に応答しない場合、Container Security Scanner は要求をキャンセル (タイムアウト) します。

デフォルトでは、Container Security Scanner は 60 秒経っても応答のない要求をタイムアウトとします。

整数

Image Inspect

または

Registry Import

HTTP_REQUEST_TIMEOUT_SECONDS

要求をアクティブな状態にしておくことを Container Security Scanner が許可する時間 (秒) (すなわち、レジストリが接続要求を受け入れて、イメージデータの要求に応答するのを Container Security Scanner が待機する時間)。この制限時間の経過後に要求がアクティブな場合、Container Security Scanner は要求をキャンセル (タイムアウト) します。

デフォルトでは、Container Security Scanner はアクティブな要求を 60 秒後にタイムアウトとします。

整数

Image Inspect

または

Registry Import