脆弱性のためのファンクション・イメージのスキャン

OCI Functionsを使用してコンテナ・レジストリにプッシュされたファンクション・イメージのスキャンを有効または無効にする方法、およびこれらのファンクション・イメージで見つかった脆弱性のスキャン結果を確認する方法をご覧ください。

OCI Functionsでは、ファンクションの定義で、Oracle Cloud Infrastructure RegistryのリポジトリにプッシュおよびプルするDockerイメージを指定します。

ファンクション・イメージがファンクションのリポジトリにプッシュされたときに、ファンクション・イメージをスキャンするようにOracle Cloud Infrastructure Registry (コンテナ・レジストリとも呼ばれる)を設定できます。ファンクション・イメージは、公開されているCommon Vulnerabilities and Exposures (CVE)データベースに公開されているセキュリティ脆弱性をスキャンします。脆弱性のためのイメージのスキャンを参照してください。

ファンクション・イメージ・スキャンを実行するために、Container Registryは、Oracle Cloud Infrastructure脆弱性スキャン・サービスおよび脆弱性スキャンREST APIを使用します(脆弱性スキャン・サービス・ドキュメントのコンテナ・イメージ・ターゲットを参照)。コンテナ・レジストリからイメージをプルするには、脆弱性スキャン・サービス権限を付与する必要があります(脆弱性に対するファンクション・イメージのスキャンに必要なIAMポリシーを参照)。

ファンクション・イメージ・スキャンを有効にするには、ファンクションのリポジトリにイメージ・スキャナを追加します。その後、そのリポジトリにプッシュされたイメージは、イメージ・スキャナによって脆弱性がスキャンされます。リポジトリにすでにイメージが含まれている場合、最近プッシュされた4つのイメージがすぐに脆弱性がスキャンされます。イメージ・スキャナを削除することで、特定のリポジトリでイメージ・スキャンを無効にできます。コンソールを使用したイメージ・スキャンの有効化および無効化を参照してください。

新しい脆弱性がCVEデータベースに追加されると、コンテナ・レジストリは、スキャンが有効になっているリポジトリ内のイメージを自動的に再スキャンします。

コンソールでイメージ・スキャンの結果を表示できます(コンソールを使用したイメージ・スキャンの結果の表示を参照)。スキャンされた関数イメージごとに、次のものを表示できます。

  • 過去13か月間のイメージの各スキャンのサマリー。各スキャンで見つかった脆弱性の数、および各スキャンの全体的なリスク・レベルが1つ表示されます。イメージ・スキャン結果は、一定期間スキャン結果を比較できるように13か月間保持されます。
  • 各イメージ・スキャンの詳細な結果。各脆弱性の説明とそのリスク・レベル、および(使用可能な場合は)詳細についてはCVEデータベースへのリンクが表示されます。

常に最新のFDKビルドタイムおよびランタイム・ベース・イメージを使用して、イメージに含まれる既知の脆弱性の数を減らし、スキャン結果に報告します。サポートされている言語の最新のFDKビルドタイムおよびランタイム・ベース・イメージ・バージョンを使用するように既存のファンクションをアップグレードする方法を参照してください。

脆弱性のためにファンクション・イメージをスキャンするために必要なIAMポリシー

イメージ・スキャンに対してリポジトリを有効にする場合は、コンテナ・レジストリからイメージをプルするための脆弱性スキャン・サービス権限を付与する必要があります。

テナンシ全体のすべてのイメージを対象にこの権限を付与するには:
allow service vulnerability-scanning-service to read repos in tenancy
allow service vulnerability-scanning-service to read compartments in tenancy