Lunarはクラウドネイティブな銀行の構築において、セキュリティを開発の早期段階に組み込んだ
Brian Piper
2022年1月20日
0 分で読めますSnykCon 2021では、AppSecプログラムの構築に成功した企業による、示唆に富む講演が数多く行われました。Lunarのリードプラットフォームアーキテクトであり、Cloud Native Computing Foundation(CNCF)のアンバサダーでもあるKasper Nissen氏のプレゼンテーションも、その一つです。
この記事では、Lunarのセキュリティチームがクラウドネイティブな銀行を構築しながら、どのようにセキュリティを開発の早期段階に組み込んだのか、Nissen氏の講演を振り返ります。セキュリティを早期に取り入れるとはどういうことか、マイクロサービスアーキテクチャにおけるオーナーシップをどう確立するか、セキュリティツールを通じて開発者をどう支援するかなどについて解説します。
フィンテックスタートアップからクラウドネイティブな銀行へ
Lunarは当初、北欧地域の既存銀行の基盤上に構築したモバイルバンキングアプリを提供するフィンテックスタートアップとして始まりました。しかし2020年、Lunarは独自の銀行免許を持つ正式な銀行へと移行しました。現在では完全なクラウドネイティブ銀行として、デンマーク、ノルウェー、スウェーデンの顧客にサービスを提供しています。
私たちが始めたときの課題は、21世紀にふさわしい銀行をどう構築するかということでした。だからこそ、すべてをクラウドネイティブテクノロジーと完全に自律したマイクロサービスアーキテクチャで運用することにしたのです。
俊敏なクラウドネイティブセキュリティ
コンテナ、Infrastructure as Code(IaC)などの最新テクノロジーを用いたクラウドネイティブアーキテクチャの導入と並行して、Lunarはアプリケーションセキュリティのより良いアプローチが必要だと認識しました。Nissen氏によると、銀行として競争力を保ちながらセキュリティリスクを生まないために、セキュリティと俊敏性を両立する方法が必要でした。
セキュリティを開発の早期段階に組み込む、つまりソフトウェア開発ライフサイクル(SDLC)の早い段階でセキュリティを実装することで、Lunarは開発のスピードを落とすことなく、マイクロサービスのセキュリティを強化できました。セキュリティを優先することは、フィンテックスタートアップから正式な銀行へと移行するうえで不可欠でした。
セキュリティを開発の早期段階に組み込むため、従来のウォーターフォールモデルで後から行っていたことを、より早い段階で実施しています。セキュリティは継続的に取り組み、フィードバックを得て、必要に応じて適応し、修正していくものです。
マイクロサービスのオーナーシップを明確にする
Lunarの開発者がクラウドインフラストラクチャに対してより大きな責任を担うようになったため、セキュリティチームは各マイクロサービスのオーナーを明確にする必要があると考えました。Single Team Owned Service Architecture(STOSA)では、設計、開発、テスト、セキュリティ、デプロイ、監視など、各マイクロサービスの管理を開発チームが担います。
STOSAを採用する組織では、サービスを所有するチームが、そのサービスのあらゆる側面について最終的な責任を100%負います。Lunarでは、開発チームがこうしたオーナーシップを担えるよう支援しながら、この考え方に基づいてインフラストラクチャとプラットフォームを構築してきました。
セキュリティツールで開発者を支援する
Lunarは、ソフトウェアを迅速かつ安全に提供するには、開発者が既存のワークフロー内でアプリケーションセキュリティに対処できるよう支援する必要があると認識しました。そのためLunarでは、誰もがデフォルトで適切な対応を簡単に行えるセキュリティツールを、すべての開発者が使えるようにしています。
開発者は、自分たちのサービス内にある脆弱性と、使用する依存関係に対して責任を負います。その責任を果たせるよう、実行可能なアドバイスや自動化を提供し、日々使う監視ツールすべてとの連携を目指しています。
たとえばLunarはSnykを使って、依存関係やコンテナのセキュリティ上の問題を自動的にスキャンしています。コンテナも含めた脆弱性スキャンを開発プロセスにシームレスに組み込むことで、開発者がアプリケーションセキュリティを主体的に管理できるようにしています。その結果、各マイクロサービスはデフォルトで安全な状態になっています。
さらにLunarは、組織全体のクラウドネイティブソフトウェアプロジェクトを可視化する開発者ポータル、BackstageでSnykプラグインを利用しています。Snyk、Backstage、その他のツールを活用することで、ソースコードや設定に加えられたあらゆる変更を明確に追跡できるようになりました。これは金融サービス業界のセキュリティ要件への準拠に欠かせません。
スピードとセキュリティを両立
セキュリティを開発の早期段階に組み込むアプローチを導入して以来、Lunarはスピードの速い開発ライフサイクルにセキュリティを統合してきました。実際、同行では本番環境へのリリースを1日に平均25回行っています。開発者は自らのリリースに責任を持ち、新しいビルドのたびにセキュリティ基準を遵守していることを確認します。この効率的なアプローチは、銀行免許を持つ銀行としてのコンプライアンス要件を満たすうえで重要な役割を果たしてきました。
適切な対応を簡単に行えるようにし、可能な限りセキュリティを組み込みましょう。そしてセキュリティを早期に取り入れる際には、開発者が責任とオーナーシップを担えるよう、実行可能な情報を提供してください。
フィンテックソフトウェアのセキュリティ対策について、詳しく知りたいですか? Snykがどのように支援できるかをご覧ください 開発者ではなく、金融業界に変革を。



