本記事ではSysdig SecureのGit統合による、GitHubでのKubernetesマニフェストファイルのIaCスキャン手順についてご紹介します。
SysdigのGit統合により、あらかじめ定義されたポリシーに基づいて、プルリクエストのセキュリティ違反をスキャンできます。スキャン評価の結果はプルリクエスト自体に表示されます。このIaCスキャン結果に応じて、プルリクエストのマージを許可またはブロックするようにリポジトリプラットフォームを構成することができます。
ドキュメント
ドキュメントは下記をご参照ください。
前提条件
- Sysdig Secure SaaSアカウントのAdmin権限
- GitHub SaaSアカウントのAdmin権限
Git統合の手順
-
Sysdig Secure UIから Integrations > Data Sources > Git Integrations に移動します。
-
GitHub側の画面に自動的に遷移します。
-
対象とするリポジトリを選択し、Install をクリックします(今回は All repositories を選択しています)。
-
Installに成功すると自動的にSysdig UI画面に遷移するので、Configure Sources をクリックします。
-
スキャン対象となるKubernetesマニフェストファイルを格納するリポジトリとフォルダ、スキャン対象とするブランチ名の情報を入力し(今回はすべてのブランチ名を対象とするため、正規表現で .* と入力)、 Add Source をクリックします。
-
一段上の Git Integrations 画面に移動し、統合したGitHubのStatusが Active になっていることを確認します。
Zoneの確認
IaCスキャンの対象と照合する定義済みのポリシーは、Zoneを使って紐づけることができます。
-
Sysdig UIの Policies > Configurations > Zones に移動します。
-
Entire Git をクリックして詳細を確認します。スキャン対象と紐づける定義済みのポリシーがあらかじめ設定されています。Entire Git ではスキャン対象を設定する Scopes を変更することはできませんが(すべてのGit統合が対象となります)、Apply Posture Policies で紐づけるポリシーを変更することは可能です。
IaCスキャンのテスト
-
GitHubの対象フォルダにKubernetesのマニフェストファイルをアップロードします(今回はexample-voting-app.yamlをアップロード)。
-
IaCスキャンによるチェックが自動的に実行されます。あらかじめ定義されたポリシーに違反する場合はチェックに失敗するので、Details をクリックして違反の詳細を確認します。
まとめ
Sysdig SecureのGit統合を利用することで、KubernetesマニフェストファイルのIaCスキャンを簡単に自動実行できることが確認できました。
Infrastructure as Codeのスキャンは、セキュリティ標準のチェックを開発パイプラインに移行し、開発プロセスのできるだけ早い段階で潜在的な問題を浮かび上がらせて解決するのに役立ちます。これは、組織内の多くの関係者に利益をもたらします。
- セキュリティおよびコンプライアンスの担当者は違反とセキュリティリスクの減少を実感できます。
- DevOps マネージャーはプロセスを合理化し、パイプラインを保護できます。
- 開発者は問題を早期に検出でき、最小限の労力で問題を修復する方法について明確なガイダンスを得ることができます。