OCI Functionsのセキュア・コンテナ・イメージの構築について学習

セキュリティのベストプラクティスとして、お客様は脆弱性スキャナを使用して、重要なOSパッチなどのコンテナ・レジストリ・イメージをスキャンしています。脆弱性スキャナは、コンテナ・イメージの脆弱性を悪用する前に特定して修正し、セキュリティ侵害、データ・リーク、その他のセキュリティ侵害を防ぐのに役立ちます。OCI Functionsを使用してファンクションをビルドまたはデプロイすると、Dockerイメージが作成され、Dockerレジストリにプッシュされます。脆弱性スキャナは、画像の脆弱性をスキャンして報告し、さまざまなリスクレベルを報告します。

このソリューション・プレイブックでは、Dockerレジストリのイメージを安全に構築するためのベストプラクティスを共有しています。

アーキテクチャ

デフォルトのDockerfileはベースライン・イメージ(fnproject/python:3.9-dev)から構築されており、依存パッケージの最新バージョンが欠落している可能性があります。

次に、コンテナ・イメージ・スキャンが重要であり、脆弱性が検出された場合に修正する必要がある理由をいくつか示します。

  • 早期検出: ビルド・フェーズ中にイメージをスキャンすると、脆弱性を本番環境にデプロイする前に識別できます。
  • コスト効率が高い: 脆弱性を早期に修正することは、デプロイメント後に修正するよりもコストが低くなります。
  • 攻撃対象領域の削減: コンテナ・イメージは複数のレイヤーで構成され、それぞれに脆弱性が含まれる可能性があります。スキャンは、これらの脆弱性を特定して対処するのに役立ちます。
  • セキュリティ・ポスチャの向上: 信頼できるソースから適切に管理された最小限のベース・イメージを使用すると、セキュリティ・ポスチャの向上に役立ちます。

次の図は、デフォルトのDockerfileを使用したこのリファレンス・アーキテクチャのワークフローを示しています。



build-container-image-oci-functions-default-docker.zip

次の図は、カスタムDockerfileを使用したこのリファレンス・アーキテクチャのワークフローを示しています。



build-container-image-oci-functions-custom-docker.zip

このアーキテクチャでは、次のコンポーネントがサポートされています。

  • リージョン

    Oracle Cloud Infrastructureリージョンとは、可用性ドメインと呼ばれる1つ以上のデータ・センターを含む、ローカライズされた地理的領域です。リージョンは他のリージョンから独立し、長距離の場合は(複数の国または大陸にまたがって)分離できます。

  • Tenancy

    テナンシは、Oracle Cloud Infrastructureのサインアップ時にOracle Cloud内でOracleによって設定される、セキュアで分離されたパーティションです。テナンシ内のOracle Cloudでリソースを作成、編成および管理できます。テナンシは、会社または組織と同義です。通常、会社は1つのテナンシを持ち、そのテナンシ内の組織構造を反映します。通常、1つのテナンシは1つのサブスクリプションに関連付けられ、1つのサブスクリプションには通常、1つのテナンシのみが含まれます。

  • レジストリ

    Oracle Cloud Infrastructure Registryは、本番ワークフローを簡素化できる、Oracle管理のレジストリです。レジストリを使用すると、Dockerイメージなどの開発アーティファクトを簡単に格納、共有および管理できます。Oracle Cloud Infrastructureの高可用性とスケーラビリティのアーキテクチャにより、アプリケーションを確実にデプロイして管理できます。

  • 関数

    Oracle Cloud Infrastructure Functionsは、完全に管理された、マルチテナントのスケーラビリティが高いオンデマンドのFunctions-as-a-Service (FaaS)プラットフォームです。これは、Fn Projectのオープン・ソース・エンジンによって機能します。ファンクションを使用すると、コードをデプロイし、直接コールするか、イベントに応答してトリガーできます。Oracle Functionsは、Oracle Cloud Infrastructure RegistryでホストされているDockerコンテナを使用します。

  • ストリーミング

    Oracle Cloud Infrastructure Streamingは、リアルタイムで消費および処理できる連続した大容量データ・ストリームを収集するための、スケーラブルで耐久性の高いフルマネージド・ストレージ・ソリューションを提供します。ストリーミングは、アプリケーション・ログ、運用テレメトリ、Webクリック・ストリーム・データなど、大量のデータを取り込むために使用できます。また、パブリッシュ/サブスクライブのメッセージング・モデルにおいてデータが連続して順番に生成および処理されるような他のユース・ケースでも使用できます。

  • 脆弱性スキャン・サービス

    Oracle Cloud Infrastructure Vulnerability Scanning Serviceは、ポートおよびホストの潜在的な脆弱性を定期的にチェックすることで、Oracle Cloudのセキュリティ状態を改善するのに役立ちます。このサービスは、これらの脆弱性に関するメトリックおよび詳細を含むレポートを生成します。

OCIファンクションのコンテナ・イメージの構築について

このソリューションの機能は、Dockerイメージとして構築され、指定されたDockerレジストリにプッシュされるため、パッチを適用する必要があるコンテナ・イメージです。更新されたイメージには、多くの場合、新機能、パフォーマンスの向上および最適化が含まれます。イメージを更新すると、最新のライブラリおよびソフトウェアの依存関係との互換性が保証され、悪意のあるアクターが悪用して機密データまたはリソースへの不正アクセスを取得する可能性のある脆弱性が修正されます。イメージの更新は、業界標準および規制に準拠し続けるのに役立ちます。