セキュリティ - AWS での 5G ネットワークの継続的インテグレーションと継続的デリバリー

セキュリティ

セキュリティは重要な要素です。アプリケーションをデプロイする際に AWS の CI/CD プロセスで考慮されるセキュリティステップの一覧を次に示します。

  • ソース — ベンダーに割り当てられた ECR リポジトリでは、Docker イメージのアップロードが直ちにセキュリティスキャンの対象となるように、[プッシュ時にスキャン] フラグを有効に設定します。既知の共通脆弱性識別子 (Common Vulnerabilities and Exposures: CVE) があれば通知されます。ECR とは別に、ベンダーが AWS CodeCommit リポジトリにチャートを配置する際には、プレーンテキストではなく Secrets Manager で使用されるパスワードを暗号化するようベンダーに要求されます。

  • アーティファクトの整合性 — パイプライン全体で使用されるアーティファクトは、保管時 (AWS マネージドキーを使用) でも送信中 (SSL/TLS を使用) でも暗号化されます。

  • IAM ユーザーおよびロール — ユーザーまたはリソースに付与されるアクセス許可は、最小特権の原則に基づいています。異なる複数のサービスのリソースにまたがって運用している場合は、IAM ロール間での信頼関係の設定が必要になることがあります。例えば AWS CodeBuild には、Amazon EKS クラスターでコマンドを実行するためのアクセス許可が必要です。

  • 監査AWS CloudTrail によって提供される監査機能を使用すると、サービスおよびユーザー操作全体ですべての API コールを追跡し、過去のイベントを評価できます。

  • イメージの脆弱性スキャン — Amazon ECR にアップロードされた CNF イメージについては、セキュリティの脆弱性がないか自動的にスキャンが行われます。スキャン結果のレポートは AWS Management Console に用意されており、API 経由で取得することもできます。その後、CNF イメージの置き換えなどの是正措置を受けるために、調査結果を CSP オペレーターに送信できます。

セキュリティチェックはパイプラインのさまざまなステージで実施され、新しくアップロードされたイメージが安全であり、必要なコンプライアンスチェックに準拠していることを確認します。これにより、CSP に通知を送信して承認を受けることができます。

  • コンテナレジストリは、オープンな CVE 脆弱性をスキャンします。

  • テストステージでは、情報漏えい、個人を特定できる情報 (PII) の既知のパターンがないかチェックされ、予期せず開いている TCP/UDP ポートや DOS 脆弱性などの問題に対するコンプライアンスチェックルールがトリガーされます。

  • アップグレード/ロールバックの安全性について、下位互換性と上位互換性が検証されます。

アプリケーション以外でも、保管時または転送中を問わず、ステージ間でアーティファクトを暗号化して転送できるようにすることで、パイプラインのセキュリティをプロビジョニングすることが重要です。