OCI Functionsのセキュア・コンテナ・イメージの構築について学習
このソリューション・プレイブックでは、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のセキュリティ状態を改善するのに役立ちます。このサービスは、これらの脆弱性に関するメトリックおよび詳細を含むレポートを生成します。