クレジットカード会社のシステムにおける運用の一部(ログ閲覧)をリモートで可能にした件について

本稿はJCB Advent Calendar 2022の12月6日の記事です。

JCBデジタルソリューション開発部 PFチームの平松です。

今回はクレジットカード業界のセキュリティ基準であるPCI DSS1に則って作られたプラットフォームにおいて、ログをリモート環境下でも可能にした取り組みについてご紹介していきます。

PCI DSS上でのリモート運用がなぜ難しいか

通常、GCP等のパブリッククラウドを用いたサービスを構築する際は当然のようにリモートでCloud Logging等からログを参照する機会が多々あるかと存じます。

しかし、当社のような金融業界では個人情報を多々扱うこともあり、個人情報保護法といった各種法律を遵守するため、基本的にリモートでの本番環境アクセスは許可していません。

クレジットカード業界では各システム及びプラットフォームに対してPCI DSSと言う基準を設けており、その要件に従えば本番環境へは限られた空間である「セキュアルーム」内からしかアクセスしてはいけないことになっています。 弊社でも様々なネットワーク系サービスと物理的なネットワーク構成を駆使して、こちらの要件を遵守しています。

上記のような制約上、本番環境へのリモートでの業務ログ閲覧は基本的には不可能です。インシデントの際は、いち早く出社してセキュアルーム内からログを確認することが求められます。

課題について

昨今の社会情勢上、我々の組織も在宅・出社のハイブリッドワークが主流になっており、インシデント発生時の迅速な対応は大きな課題の1つとなってきています。 当プロジェクトではDatadogを活用し、各種メトリクスやAPM(Application Performance管理)についてはセキュアルーム外でも監視できるようには取り組んでいました。

しかし、インシデントの際に素早く対応できる仕組みを整えることが重要という声が大きくなってきており、リモートからの運用を一部可能とするためにはどうすればいいか?が課題になってきました。

その中で、まずは障害の早期切り分け・出社要否を判断する上で必要となるログを、セキュアルーム外から参照できるようにする仕組みを設計・構築することにいたしました。

リモートでのログ参照

前置きが長くなりましたが、ここからが本題です。

リモートからのログ参照を実現するためには、大前提として前述の通りPCI DSSの適用範囲となる機密情報データの出力は不可です。 その上で万が一のミスを防ぐために、機密情報データが出力されたことを確認したら、即座に閲覧権限を停止する処理を追加します。 上記要件を担保するため、以下の対策をとることにいたしました。

  • 通常ログからリモート参照させる対象のログのみをフィルターで抽出する
  • 機密情報が含まれるかを自動検知し、検知後に権限を剥奪する仕組みを構築する
  • 自動検知の漏れに対応するため、閲覧権限の取得及び閲覧行為の記録を取得する

全体像はこちらの図になります。

大きな流れとして、以下プロセスによって制御されます。

  1. 対象となるログの抽出
  2. 抽出ログに対して、DLP2を実行して機密情報が含まれているかを判定
  3. DLPの結果、機密情報が含まれると判定されたら以下処理を実行
    1. リモートからの閲覧権限を即時停止
    2. PagerDuty経由でPF担当者にアラート発報
  4. 監査ログを収集

1. 対象ログの絞り込み

まず、対象となるログについての定義です。

出力するログに機密情報は出さないという大前提があるので、実際にリモートで参照したいログのみを抽出するようにクエリを設定し、ログ転送によってリモート参照環境に転送します。

この時、クエリ自体はStage環境によって動作検証を行い、かつアプリ・PFチーム双方によるレビューによって安全性を確保しています。

また、同一ログをLog SinkによってDLP検査環境のGoogle Cloud Storageバケットに向けて送ります。

2. DLPの実行

機密情報は出さない取り決めがあるものの、意図せず出力してしまう可能性はゼロではありません。 そこで、出力予定ログに対してCloud DLPを用いてログのチェックを行います。

Cloud Pub/SubによってLog Sink対象バケットにログが送られたことを検知して、バケットに入っているログに対してDLPを実施します。

DLP検査後、結果をCloud Functionsで判定するロジックを組んでいます。機密情報が含まれると判定された場合は、PFチームにPagerDutyを用いて通知すると同時に、参照用プロジェクトに対して閲覧権限の剥奪処理を行います。

DLP結果については、BigQueryにまとめて出力して、後からセキュアルーム内にて確認することを可能にしています。

3. 参照環境へのアクセス

ここまでの対応で、リモートで参照可能なログの機密情報はほぼ除去できています。 アプリ担当者は参照用ログバケットにアクセスし、ログを確認いたします。

4. 監査ログの収集

参照用Projectへのアクセスについては監査ログを収集しており、万が一漏洩が生じたとしてもログ閲覧者をトラッキングできる仕組みとなっています。

まとめと今後について

以上の通り、ログ閲覧対象のフィルタリング・DLPによる判定・監査ログの3重の漏洩対策を盛り込むことにより、リモートからのログ参照環境を整えることができました。 2022年12月の運用状況としては、現在複数のアプリチームによるクエリの検証段階ではありますが、年明けからさらに他のアプリチームに解放し、運用を開始する予定です。

さらに、こちらはログの参照についての仕組みの検討となっていますが、同時にログの分析としてBigQueryにログを取り込んで統計情報を出力する仕組みについても同時に構築しています。

こちらの内容については機会があればご説明したいと思います。

最後になりますが、JCBでは我々と一緒に働きたいという人材を募集しています。 詳しい募集要項等については採用ページをご覧下さい。


本文および図表中では、「™」、「®」を明記しておりません。
Google Cloud, GCPならびにすべてのGoogleの商標およびロゴはGoogle LLCの商標または登録商標です。
記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。


  1. PCI DSS : 当社を含む、国際ペイメントブランド5社(JCB・American Express・Discover・VISA・MasterCard)が共同で策定したカード情報セキュリティの国際統一基準で、PCI SSC(Payment Card Industry Security Standards Council)によって運用・管理されている。
  2. DLP : Data Loss Prevensionの略。対象となる特定データに含まれるパターンなどを検知し、情報漏洩を防ぐセキュリティツールのこと。

© since 2021 JCB Co., Ltd.︎