マルチクラウドを組織規模で戦略的に活用するためには
AWSの登場が2006年、Microsoft Azureの提供開始が2010年。今やクラウドはマルチクラウドの活用が当然のようになりつつある。
HashiCorpがグローバルで実施した『2022年 クラウド戦略実態レポート』によると、マルチクラウドを採用している企業は81%、CCoE(Cloud Center of Excellence:クラウド活用推進組織)などクラウドプラットフォームチームを導入している企業は86%。企業の経営目標に向けてマルチクラウドが有益に働いていること、また組織のクラウドサービス運用にCCoEのようなチームが必要であるとの認識が浮かび上がった。
多くの企業がマルチクラウド戦略を選ぶ理由をHashiCorp Japan カントリーマネージャーを務める花尾和成氏は次のように説明する。「あらゆる業界や産業においてビジネス変革が進んでいます。新しい技術を活用し、従来とは異なる新しい顧客体験をいち早く市場に投入することで競争力を高めようとしています。このときオンデマンドで利用でき、拡張性のあるクラウドは利便性が高い。革新的なクラウドサービスが次々と登場しており、それぞれの良さを享受しようとしてマルチクラウド環境に移行しています。また、企業M&Aでマルチクラウド環境になるケースも見受けられます」。
実際に新しい顧客体験の創出に成功している企業を見ると、先端技術やイノベーションを組織規模で戦略的に導入し、クラウドを活用しているのが見受けられる。より具体的に言うとこうした企業では、①標準化されたワークフロー、②モダンアーキテクチャにおける一貫性のあるコントロールポイント、③シフトレフト(セキュリティとコンプライアンス)、④自動化、⑤コスト最適化といった共通項がある。
また、IT環境においてはパラダイムシフトが起きている。従来のスタティックからダイナミックへ、あるいは均一アーキテクチャから異種混合アーキテクチャへ。戦略的にクラウドを活用するための架け橋としてHashiCorpでは『クラウド運用モデル』を掲げている。構成要素となるのがワークフロー標準化、システム拡張性、管理・マネジメントだ。
実現までは、3ステージで進む。最初のステージでは多種多様なクラウドサービスを導入。この時点ではワークフローがバラバラで、データやチームもサイロ化している。次のステージでは、クラウド運用モデルにおいて統一インターフェースとなる“単一のコントロールプレーン”を作り出し、運用効率と開発生産性を高めていく。ここにHashiCorpの各スタックが機能していく。そして最後のステージでは、クラウドだけではなくオンプレミスも含め、自社IT環境を内製化して、さらなる運用生産性の向上を目指していく。
では、前述したような変革に向けてどのように前進しているのか。ここからは、HashiCorpのユーザーやパートナー企業がマルチクラウドやCCoEの実践を語る。
トヨタ自動車:CCoEチームを結成、TORO PFをベースとして2ヵ月でセキュリティ設定の自動化を実現
トヨタ自動車では、2022年にCCoEを立ち上げた。経緯や目的について同社 デジタル変革推進室 クラウドCoEグループ CCoEリード 馬渕充啓氏が説明する。
自動車業界は100年に1度の大変革期に直面しており、トヨタ自動車においてもコネクテッドカーや自動運転、基幹システムの領域を中心にモビリティカンパニーへのフルモデルチェンジを進めている。そのためソフトウェア開発やクラウドに新たに取り組むメンバーが増えている状況にあるという。
これまで各部署やプロジェクトでクラウド環境を必要とした場合には、契約や発注、セキュリティ整備、開発環境整備などのために申請から平均2ヶ月を要していた。また、そのレベルは均一化されておらず、ノウハウが足りないためにコストや時間が余分にかかっていたという。なおトヨタ生産方式(TPS)には、付加価値をつける作業を最大化し、それ以外の作業は最小化するという理念がある。そのため、セキュリティなどの環境設定は自動化することで最小化したい。一方、開発プロジェクト単体で見ると、1度しかやらない環境設定は、わざわざ工数をかけて自動化するほどでもないと考えがちだ。
そこでR&D部門でクラウド支援活動として、CCoEの前身となるプラットフォームチームを結成。同社はAWSをベースにクラウドを利用していたため、手間のかかるセキュリティ設定や開発環境準備などを共通プラットフォーム化した。とはいえ、これをR&D全体に普及させるためには、セキュリティポリシーの再考、より多くのセキュリティポリシーへの自動対応、DevSecOpsの浸透、申請プロセスやワークフローの簡略化、仲間を増やすための開発者コミュニティ形成など、取り組むべき課題が山積していた。
2021年12月末、馬渕氏らはプラットフォームの効果最大化と全社規定ポリシー・ワークフロー改革を目指してデジタル化推進部署にCCoE設立を提案。「すぐにやろう」と即断即決での立ち上げとなると、年明けすぐには企画立案や関係部署調整に動き始めた。そして2022年4月には『トヨタの開発者全員が安心して使えるクラウド利用環境を整える』をミッションにCCoEが始動する。
また、CCoEを運用していくにあたっての柱として『適切なポリシーで統制が取れたクラウド環境を、使いたいときにすぐに使える』『必要なインフラ・ツールが揃っており、プロダクト開発に集中できる』『情報(ノウハウや事例)にすぐにアクセスでき、効率的な開発と育成ができる』を掲げた。なお、基幹システムやコネクテッドカーにおいては、既にプラットフォームがあったものの、ガバナンスやセキュリティが異なるため別立てとしながらも、相互に情報共有することで重複がないように進めているという。
では、具体的にCCoEがどのような役割を担うのか。トヨタ自動車のCCoEには、①プラットフォームの開発と運用、②プロジェクト支援と人材育成、③コミュニティ活動の推進が期待されている。今回は①がメインのため後述するとして、②ではクラウドを使いこなすためにCCoEメンバーがプロジェクトを伴走支援したり、クラウドネイティブなアーキテクチャを構築できるように教育から支援したりする。③では、開発者が横のつながりを持つことでより一層レベルアップできるようにサポートするという。
CCoEが考えるプラットフォームは、大きく分けて4階層(申請プロセス/ワークフロー、クラウドセキュリティポリシー、クラウドインフラ、アプリケーションインフラ)で構成される。馬渕氏は「アジリティやリーン開発などクラウドの特性を生かすためには、既存プロセスやポリシーにもメスを入れる必要があり、アプリ開発を加速させるためのインフラやツール(GitやCI/CDなど)も整備していきたいと考えています」と話す。
特にクラウドインフラとアプリケーションインフラ部分は、『TORO PF』と愛称をつけ、ロゴも作りブランディングしている。なお、TOROとは「TOyota Reliable Observatory/Orchestration」の略。AWSとTerraformをベースに、AWS OrganizationsやControl Towerなどを用いて、ユーザーが申請してから約2営業日で基礎的なセキュリティ設定が完了しているクラウド環境が提供できるようになった。なかでも、自動化によりセキュリティ設定工数は約96%削減できたという。
また、アジャイル開発をするチームにとってCCoEがボトルネックとならないように、各プロジェクトに大きな権限を与えているという。そのためセキュリティはゲートキーパー型ではなくガードレール型とし、ミスや逸脱がないようにインシデントリスクを下げるようにしている。実際にTORO PFは、前身となるプラットフォームをベースにAWSとTerraformを使える社内のエンジニア2人が約2ヶ月で構築した(他業務と兼任なので実質的には1ヶ月程度)。今後の拡張を考えて内製を選んでいる。
Terraformを選んだ理由に馬渕氏は、「IaCのデファクトであり、活発なOSSコミュニティがあり技術情報の入手が容易。それにロゴがかっこいいから」と笑顔で語る。また、OSS版ではなくTerraform Cloud for Businessを選んだ理由について、『目指すはマルチクラウド(最適なクラウドを選びたい)』『ステート管理が容易(リモートでもステートを確実に管理したい)』『セキュリティチェック(Sentinelでチェックを確実かつ自動実行したい)』という理由を挙げた。加えて、最近発表されたばかりの『No-Code Provisioning機能』にも期待を寄せている。
同社におけるCCoEは2022年に活動が始まったばかりであり、まだまだ社内の認知度は低いという。馬渕氏は、運用体制が整ってきた現状を踏まえて、「そろそろ大々的にアピールして、TORO PFのユーザーを増やしていきたい」と意欲満々だ。
大日本印刷:hontoのハイブリッド化に伴うセキュリティ課題を「Vault」で解決
大日本印刷(以下、DNP)は『未来のあたりまえをつくる。』をブランドステートメントに掲げ、独自の「P&I」(印刷と情報)の強みを活かして、持続可能なより良い社会、より心豊かな暮らしを実現する新しい価値の創出に取り組んでいる。本イベントでは、DNPが提供しているハイブリッド型総合書店『honto』がハイブリッドインフラ環境へと移行することにともない生じたセキュリティ課題と、それをHashiCorp Vaultでどのように解決したかを解説した。
hontoは、インターネット書店とリアル書店を連携させたハイブリッド型総合書店。各ストアを共通のサービスインフラで連携することで、横断的にポイントや商品検索などのサービスが利用できる。佐野氏は「生活者に本の価値を伝え、読者を増やし、人々と社会の知を支える出版文化の可能性を広げることを目的としています」と話す。
そして、2022年にはhontoがサービスを開始して10周年を迎えており、会員数は700万人を突破した。言い換えれば700万人の個人情報を預かっているため、セキュリティ事故防止のために細心の注意を払っている。
2012年のサービス開始当時はオンプレミス環境のみで稼働しており、物理的な場所やネットワーク(境界防御モデル)でアクセス制限がなされていた。2015年にDWHをGCPのマネージドサービスに移行するプロジェクトが発足し、これをきっかけに他のシステムも段階的にGCPへ移行するようになったという。
クラウド環境への移行直後、セキュリティは手探りの状態。社内のアカウント認証とSSOで連携するなどしていた。次第にマイクロサービス化が進むと、機能ごとに適した環境やサービスを利用するようになり、マルチクラウドとオンプレミスのハイブリッドインフラ環境へと発展。2020年ごろからは、社内CCoEと連携してセキュリティ戦略を見直すことにした。
特に課題となったのが、クラウドへのアクセス制御とクラウドサービスの利用状況の監査だ。開発者や運用担当者など、人間がアクセスするときなら認証サーバーと連携したSSOを利用できるが、プログラムがアクセスするときには権限を持つサービスアカウントを使用し、キーを開発拠点のサーバーに配置していた。このアーキテクチャでは、もしサービスアカウントキーが流出してしまうと、外部からhontoが利用するGCPサービスにアクセスできてしまう。そのため、キーが流出した際のリスクを低減する方策や、キーの作成や利用状況についてきちんと監査できる体制が必要だった。
そうしてセキュリティを見直した結果、ネットワーク分割によるアクセス制限は保持したままアカウント管理をシステム化し、アクセス制御をよりセキュアにすることに。具体的には、アカウントキーを短期間でローテーションさせることや、アカウントキーの発行には開発者の手を介さないフローとしている。そしてアカウントキーの作成とダウンロード、サービスアカウントを利用した外部からのアクセスを監視するような運用とするだけでなく、監視していることを内部向けにも周知して、万が一の不正利用に対する抑止力とした。
なお、初期構想においては、期限付きアクセストークンの使用を考えていたという。GCPでは期限付きでサービスアカウントのアクセストークンを作成できるため、同機能を利用。サービスアカウントから期限付きトークンをリクエストして、この期限付きトークンを用いてGCPにアクセスするという具合だ。これならもし流出したとしても、悪用されるリスクはトークンの有効期限内に限られる。
ただし、アクセストークンをリクエストする権限をもったサービスアカウントをプログラム側が持っている必要があり、そのサービスアカウントの有効期限の管理ができないという問題があった。そこでアカウントキーやアクセストークンを取得するタイミングで認証・認可ができるシステム、あるいはアカウントキーやアクセストークンを扱うエージェントのような機能が求められ、模索した結果としてVaultを試してみることにしたという。
当初、Vaultを次のような構成で導入することを構想として描いた。オンプレミス環境にはVaultエージェントをインストールし、このエージェントをクラウドにあるVaultサーバーで認証することで、GCPで使用するアカウントキーを要求。Vaultサーバーでは、GCPのIAM(Identity and Access Management)から必要なアカウントキー(有効期限付き)を取得して、エージェントに返す。オンプレミスにあるプログラムは取得したアカウントキーを使い、GCPにアクセスする。この方法ならアカウントキーのやり取りに人手を介す必要がなく、アカウントキーの有効期限が設定できるだけでなく、アカウントキー取得時に認証・認可のプロセスを挟むことが可能だ。
PoCを実施した結果、サービスへの影響や耐障害性、キー漏えい時のセキュリティ、監査などの要件を満たすことが確認できた。また、大きなプログラム改修も必要なく利用可能であることも判明したという。実装については、運用観点からの変更点は加えたが、PoCで検証した構成を大きく変えることなく、システムを構築することができた。
佐野氏は、Vaultの今後の展開として「将来的にDBなどをクラウド上で扱うことになった場合に、そのデータ領域を暗号化・復号する用途に利用すること、プログラムのリリースや突発的な障害対応をテレワーク環境からも可能とするように認証・認可のコントロールに利用することを考えています」と見据えて締めくくった。
ラック:アプリケーションのセキュリティ向上に「Vault」でシークレット管理
ラックは、組織のインシデント対応や運用監視を行うセキュリティオペレーションセンター(JSOC)、サイバー救急センターなどを提供している。今回は、インシデント事例からDevSecOpsを実現する戦略的セキュリティ対策をテーマに解説した。なお、ラックはHashiCorpのHyper-Specialized Partnerでもある。
まずは、Webアプリケーションに関する重大リスクをまとめた『OWASP(Open Web Application Security Project)トップ10』から見てみよう。上位はアクセス制御の不備、暗号化の失敗、インジェクション攻撃が並び、続く4位には『安全が確認されない不安な設計』とある。これは最新版で初めてランクインしたものであり、設計上の欠陥と実装上の欠陥を区別していることがポイントだ。
ラック 執行役員 CTOの倉持浩明氏は、「戦略によるミスは戦術でリカバリーできないと言われるように、安全でない設計は完ぺきな実装で修正することはできません」と指摘する。アプリケーションの安全性を高めるには、設計段階からセキュリティを要件定義に盛り込みレビューしていく『セキュリティ・バイ・デザイン』、実装段階では『ペイブドロード(Paved Road:舗装道路)コンセプト』という考えがあるという。
ペイブドロードとは、(荒野ではなく)ガードレールもある舗装道路で運転者がルールを守り、高速走行するイメージだ。開発現場には信頼性が高く、安全性が検証されているツールを導入し、セキュリティを維持しながら高速に開発できるようにする。「ペイブドロードを用意することが戦略的なDevSecOpsのアプローチ」と倉持氏は言う。
具体的にDevSecOpsにつながる施策として、シークレット管理がある。シークレットとはIDやパスワード、APIキー、認証トークン、証明書など、アプリケーションのセキュリティを守るために欠かせないものの総称であり、開発現場では様々なところにシークレットが存在する。
もし、シークレット管理に不備があるとインシデントにつながりかねない。実際にラックが対応したインシデントから、倉持氏がいくつか例を挙げた。1件目は設定の不備。オンプレミスからクラウドに移行する際の検証環境のセキュリティグループに不備があり、外部から侵入されていたという。バックドアが仕掛けられたままで本番環境に移行してしまったため、本番サーバーが攻撃者から侵入されてしまった。
2件目は認証情報管理の不備。ある企業ではキャンペーンサイトなど急激な負荷増加にも対応できるようにクラウドでAutoScalingを設定していたところ、請求金額が不自然なほど急激に増加。調べたところクラウドの認証情報が窃取されたために、攻撃者がクラウドのインスタンスを大量に作成して仮想通貨のマイニングに使っていた。
ラックが運営しているJSOCでも、シークレットを狙う攻撃を何度も検知しているという。攻撃者は日常的にアクセスキーをあさるようなスキャンを行っており、作業ミスや設計の不備で公開ディレクトリに置いてあると瞬く間に窃取され、前述したような不正アクセスや不正使用につながる。下図のようなファイルが公開フォルダに残っていないか、よく確認しよう。
他にもシークレットの漏えいには、ソースコードにシークレットを直接書き込み、そのソースコードをGitHubで公開したために攻撃者にシークレットが渡ってしまうケースもある。何らかのルートでシークレットが攻撃者の手に渡ると、シークレットを置き換える、または権限を廃止する必要があるため、この作業を速やかに行うことで被害を最小限に食い止めることにもつながるという。
特に開発チームの責任者であれば、開発現場で扱うシークレットが漏えいしないように何らかの対策を施す必要がある。その1つのソリューションとなるのが、HashiCorp Vaultによるシークレット管理だ。
Vaultは、開発現場における各種シークレットの『Create/Update/Rotate/Revoke』を一元管理し、動的なシークレットとすることで漏えいリスクを軽減する。ラックを通じたVault導入事例には、Excelで管理していたサーバーのユーザーIDやパスワードをVaultから発行するように変更したケース、ソースコードにシークレットを書き込んでいたところをVaultにシークレット発行をリクエストするように変更したケース、KubernetesのPodが使うシークレットをVaultで一元管理するように構築したケースなどがあるという。
ここであらためて組織規模で取り組むべき、戦略的なセキュリティ対策に目を向けよう。実現に向けて有効なのがリスクアセスメントを実施し、取り組みの優先順位を決めて、実装へと進むという流れだ。セキュリティのフレームワークとして倉持氏が挙げるのが、The Center for Internet Security(CIS)が管理する、2021年5月にリリースされた『CIS Controls v8』だ。何をすればいいのかが『18の対策(コントロール)』として提示されている。ここにある基本的な対策を行うことで「70%以上の攻撃が防御可能」と倉持氏は言う。
なお、ラックでは2022年12月よりDevSecOps開発環境の導入支援サービスを提供開始している。業務フローを洗い出し、IaCやシークレット管理を実践することでDevSecOpsの実現に導き、迅速なアプリケーションリリースとビジネスの継続性に役立てることが可能だ。
クロージング:HashiCorpで実現する、DevSecOpsやゼロトラストセキュリティ
クラウドを中心に構成するダイナミックインフラはメリットがあるものの、従来の境界型のアプローチでは防御しきれなくなるという課題も生じる。本イベントの最後には、HashiCorp JapanでSE Directorを務める小原光弥氏が登壇し、「セキュリティ侵害事故の多くが人に起因しています。そのため、人の介在を極小化するような運用の自動化、またアクセスの正当性を確認するためのクレデンシャル管理を軸としたセキュリティ対策が重要になります」と強調する。
同社では、どのリソースへアクセスする場合であろうとも、人もマシンも認証・認可され、権限は必要最低限かつ最小限の時間内に留めるだけでなく、データを継続的に防御し、暗号化するべきという思想の下でプロダクトを構成している。マシンの認証と認可は『HashiCorp Vault』、マシン間のアクセス制御は『HashiCorp Consul』、人からマシンへのアクセス制御は『HashiCorp Boundary』が担う。人の認証と認可については、既存で使用されているSSO製品との連携でカバーする。
たとえば、HashiCorpのプロダクトでDevSecOpsを実現するのならば、HashiCorp Terraformでインフラを構成管理し、HashiCorp WayPointでアプリケーションのデリバリーを実施。そして、Vaultで認証やシークレットを管理するという構成が考えられる。
では、セキュリティにおいてはどのように寄与するのか、サイバー攻撃の段階別に同社のプロダクトがどう防御するかも見ていこう。1ステップ目は初期アクセス。Vaultはインフラやリソースへのアクセスを制御し、Boundaryでユーザーやセッションを監視・管理する。2ステップ目は権限の昇格。攻撃者は管理者権限やルート権限を付与するトークンを探すが、Vaultはシークレットの動的な作成や失効を行い、攻撃者の権限昇格を防ぐという。
そして、3ステップ目はクレデンシャルアクセス(IDとパスワードの窃取)。Vaultで金庫のようにシークレットを安全に保管し、盗難から守る。4ステップ目は横方向の移動。侵入に成功した攻撃者は横方向(別サービス)にも侵攻していくが、VaultとConsulが連携することでサービス間通信の不正アクセスを防ぐ。
最後の5ステップ目はデータの流出。データが平文のままでは容易に情報が攻撃者の手に渡ってしまうが、Consulは継続的に検証と承認を行うことでネットワーク通信を保護できる。加えて、Vaultで256ビット暗号鍵(AES 256)を使用することでデータ流出を防ぐことが可能だ。
実際のシステム構成例は下図のようになる。システム利用者(左)が個人情報を入力すると、データはVaultで暗号化され、アプリケーションがデータベースアクセスに必要なシークレットを発行する。Consulで安全な通信を行い、暗号化されたデータがデータベースに格納される。開発者や運用者(右)は自社の認証基盤で認証された後、Boundaryを介して対象システムに接続する。このときに必要最小限かつ短時間のシークレットをVaultが生成するという。
このようにHashiCorpのプロダクトが連携することで、アイデンティティベースで制御し、ゼロトラストセキュリティを実現していく。最後に小原氏は、「Vault、Consul、Boundaryという3つのソリューションを組み合わせた『HashiCorp Stack」によって、ゼロトラスト環境の実現をサポートしていきます」と力強く述べた。
トヨタやDNP、ラックの“実践知”を動画でいつでもご覧いただけます!
今回、記事の中で紹介した『HashiCorp Virtual Strategy Day Japan Vol.3』をオンデマンド配信しています。より詳細な取り組みはもちろん、図表を交えながら解説しているため、有名企業による“実践的なクラウド活用”について理解を深めていただけます。いつでも好きなタイミングで視聴いただけますので、ぜひお役立てください。