注:本記事は(2022年3月1日)に公開された(Automating SOX and Internal Controls Monitoring with Snowflake)を翻訳して公開したものです。

IPOの急増、めまぐるしく変化するビジネス環境、増加する規制要件の下で、SOX(米国連邦上場企業会計改革および投資家保護法)コンプライアンス報告はますます時間とコストがかかる業務になっていますが、実効性のあるインサイトに基づく効果的でデータドリブンな分析アプローチを実践すれば、コンプライアンスおよびリスク管理タスクの効率性と信頼性を高めることができます。Snowflakeでは、データクラウドがSOXコンプライアンスおよび内部コントロールタスクへの対応に不可欠な存在となっています。

従来の方法によるSOXコンプライアンス対応における課題

データセットのボリュームが増えその変動幅が拡大すると、監査、リスク、コンプライアンス機能によるコントロール運用効率の特定や監視が困難になります。さらに、従来の監査手法は時間のかかる証拠収集やサンプリングを伴うため、コストのかかる例外や非効率性に対して十分なリスクカバレッジやリアルタイムの可視性を得ることができません。

課題が見られることの多い代表的なユースケース:

  • 機密性の高いロールへの不正アクセスや職務分掌違反など、主要システムに対するユーザーアクセスやセキュリティ課題への対応
  • 組織のポリシーや手順に関する主要なコンフィギュレーション設定およびその逸脱
  • 仕分入力分析(特にトランザクションデータが大量で複雑な場合)

また内部監査チーム、会計検査官、コンプライアンスチームにはリアルタイムに行動し対応する能力が備わっていません。リアルタイムデータ分析とアラート体制が整備されていないため、外部監査で初めて不備が明らかになることもよくあります。

Snowflakeでどのようにソリューションを設計、構築するか

社内でのIPOの取り組みとSOX対応システム整備に着手したところ、主要なコントロールの遂行とテストの両方に大量の手動アクティビティが存在することが判明しました。そこで、Snowflakeのコアバリューの1つである「全体像で考える」を実践した結果、対象となる財務報告プロセスの一般的なSOCコントロールの一部をSnowflakeで自動化できることに気づきました。

Snowflakeの優れた拡張性とコスト効率を活かして半構造化データを含む多様なデータを1か所に取り込んで保管すれば、コントロール効率のモニタリングが円滑化され、ほぼリアルタイムでのクエリ、例外事項のフラグ、アラート、コンプライアンスポスチャのモニタアリングが可能になります。そこで、以下の条件に合致するいくつかのユースケースに焦点を当てて、数週間にわたりでSOXコントロールのモニタリング用Snowflakeアナリティクスの構築に取り組みました。

  • データの可用性:コントロールの母集団に簡単にアクセスでき、一貫性と完全性を検証できること。
  • 安定したプロセスとデータの知識:プロセスとコントロールが近い将来に変更される予定がなく、また当該データに関連するリスクとポリシーについて十分な知識があること。
  • 大量で複雑なデータセット:Snowflakeはもともと複数のデータソースからの大量のデータセットに複雑なクエリを実行することを目的として構築されているため、大量のデータボリュームの関与するユースケースはSnowflakeによる自動化の対象としてうってつけです。

現在、SOXコントロールのモニタリングの自動化には以下のアーキテクチャを使用しています。どのようにデータを取り込み、どのようにリアルタイムアラートに基づいて例外を分析するかを示します。

SOXコントロールのモニタリングを自動化するおおまかなステップは以下のとおりです。

  • 事業にとって有益なインサイトの得られる主要なユースケースを特定する。
  • コネクタを使用して必要なデータをSnowflakeに取り込む。
  • クエリを設計、実装(SQLを使用)してデータを可視化し分析する。
  • 異常の監視とアラートを実装し、必要なチームがすぐにアクションを取れるようリアルタイムでアラートを通知する(たとえば、承認なしで仕訳切りが実行された場合にSlackアラート、ServiceNow、JIRAチケットを作成し関係するチームに割り当てる、等)。

SOXの自動化の3つのユースケース

上記のステップを使用して、以下の3つのユースケースを自動化しました。

  1. 仕分入力分析
  2. IT全般コントロールの一部としてのユーザーアクセス管理
  3. 職務分掌分析

このセクションでは、これらのユースケースそれぞれに対応するSnowflakeソリューションから得たいくつかの課題と価値に焦点を当てて説明します。

仕分入力分析 

データ分析は、特に複雑なERP、複数のデータソースまたは補助元帳、あるいは大量のデータを扱う際の仕分入力と修正に関わるプロセスや管理の把握に不可欠です。そのためのいくつかのツールが市場化されていますが、それらを利用してもなお、データを取り込んで潜在的なエラーや不正をリアルタイムで分析するのは時間がかかります。私たちはSnowflakeのコアコンピューティング機能を利用して、複数の仕訳入力源からの200万件を超えるトランザクションをわずか数秒で分析することに成功しました。

その中でも、仕訳入力管理に関わる監査懸念事項への対応とオペレーションの非効率性に関するインサイト取得の面で非常に大きな効果が得られたユースケースをいくつか以下に紹介します。

主なメリット:

  • 監査リスクの管理:SOXコンプライアンスチームに強力なインサイトを提供することで、構成、ワークフロー、データインターフェイス、ジャーナルへの不正アクセスなどの主要コントロールに対する十分なカバレッジを確保します。サンプルを確認するだけでなく母集団全体を監視することでリスクカバレッジが拡大します。
  • 例外のリアルタイム監視:会計チーム向けおよびコンプライアンスチーム向けに、さまざまな仕訳入力トランザクションと異常をリアルタイムで完全に可視化します。
  • コストとプロセスの非効率性の低減:Snowflakeを利用してエビデンスの文書化などの監査関連タスクの負担を減らすと同時に、仕訳分析の結果に基づいて決算処理効率向上のため少額仕訳入力の頻度を再検討する必要があるかどうかなどを判断します。

Snowflakeの仕訳入力ダッシュボードの例

上図のように、分析には次のサンプルユースケースが含まれます。

  • 通常ではない仕訳入力: 週末または営業日以外に実行された仕訳入力、高額の仕訳項目など。
  • 想定外のユーザー:仕訳作成者/承認者を確認し、同じユーザーによって入力された仕訳項目、または適切なセキュリティグループの一員ではないユーザーによって入力された仕訳項目がないかを特定しました。
  • 異常なアカウントの組み合わせ:資本化された費用や異常な収益エントリなどのアカウントの組み合わせ。

ユーザーアクセス管理t 

重要なシステムへの不正アクセスによるインサイダー脅威あらゆる組織にとって大きなリスクであり、企業イメージや業績に重大な損害をもたらします。Snowflakeを使用してリアルタイム例外をフラグ付けするクエリを構築することで、SOXアクセス管理コントロールのモニタリングの自動化を実現しました。この実装では、まずユーザーアクセスのログを取り込んでから、例外の監視とアラートのロジックを構築しました。このロジックの設計において重要であったのは、アプリケーション内のアクセスデータモデル(特定のロール、認証概念、アクセスなど)と関連するアクセスポリシーについての正しい理解でした。

自動化した主なユースケースは以下のとおりです。

  • アクセスのプロビジョニング:承認前もしくは承認なしにアクセス権を付与されたユーザー、特定されたルールに基づいた職務分掌違反、未使用ライセンスなど。
  • アクセスのプロビジョニング解除:登録解除されたユーザーの不正なタイミングでのアクセス取り消しを特定できました。最終ログイン日付と未承認アクティビティの確認に基づくユースケースの影響評価も実行できました。
  • ユーザーアクセスのレビュー: 四半期間で新しいロールまたは許可が追加または削除されたかどうか、最新アクセスレビュー以降に付与されたアクセス許可で承認済みのロールベースポリシーと職務に沿っていないものがあるかどうかを追跡します。

主なメリット:

  • セキュリティリスクの管理:SOX/コンプライアンスとITチームが機密データへの不正アクセスのインスタンスのリスクをリアルタイムで特定して軽減措置を取るのを支援します。自動化されたダッシュボードによって、特定の期間のセキュリティアクセス違反の監査証跡を確認することもでき、テストサンプルのみに留まらないコントロールモニタリングの保証を提供します。
  • 監査コストの削減:テスト用の母集団を取得し、承認用にスクリーンショットをリクエストするといった監査の負担を大幅に軽減します。自動化によって、すべてを一度に監視できるようになりました。
  • ライセンスの監視と最適化:アプリケーションログインダッシュボードは、ライセンスの使用状況の監視と最適化にも役立ち、結果的にコスト削減につながります。

Snowflakeを使用したアクセス管理ダッシュボードの例

これらのダッシュボードは、SOX違反が発生する前にチームが修正を実施するのに役立ちます。また、特定のアプリケーションのコントロール設計とアクセスポリシーにおける潜在的なプロセス改善の可視化にも役立ちます。たとえば、主要な販売アプリケーションの1つでアクセスロールとシステム機能を再検討したことで、四半期ごとのユーザーアクセスレビューのプロセスの効率が大幅に向上しました。

職務分掌

職務分掌(SoD)統制の実装とテストは、内部統制フレームワークの重要な要素であり、外部監査機関が主に焦点を当てる部分でもあります。包括的なSoDポリシーと数千ものアプリケーションのアクセスポイントにわたる違反をきめ細かに検出し分析する機能がなければ、SoDの実装、テスト、改善、軽減は非常に困難な作業になります。

ここでSnowflakeがその威力を発揮します。内部監査の一環として、主要アプリケーション内の高リスクルールを特定し、ロールとユーザーレベルの両方に隠れたSoDの競合を検出しました。その後、それらのルールをSnowflake内に構成し、定義済みのSoDルールに違反するロール/ユーザーを特定するクエリを作成しました。ここではITルールとビジネスSoDルールの両方をカバーしました。

Snowflakeを使用したSoDダッシュボードの例

SoDダッシュボードの実装により現在の環境でのSoDの競合を特定し、必要に応じてアクセスを更新することで迅速に問題を修正できました。

主なメリット:

  • セキュリティと不正リスクの管理:SOX/コンプライアンスチームとITチームによる、定義済みSoDルールに違反するシステム間またはシステム内アクセスのインスタンスのリスク特定と軽減措置の実施をサポートします。アクセス監視はリアルタイムで行い、アクセス取り消しやリスク軽減を含めた是正措置を実行します。
  • アクセスガバナンスの一元化されたビューの維持: Snowflakeデータレイクを一元化されたレポジトリとして利用することによりシステム全体のログへのアクセスを確保し、信頼できる唯一の情報源(SSOT)と全社的視野を提供します。
  • コンプライアンスコストの削減:ロールレベルでのSoDリスク監視はロールなどのユーザーアクセスの割り当てを介した違反の拡大を防ぐ効果があるため、コンプライアンスコストが削減されます。

コントロールモニタリングの有効な自動化を実現する主要イネーブラー

データ分析に基づくSOX監視の自動化は、データとテクノロジーだけの話ではありません。信頼できる自動化には、監査手法への組み込み、適切なスキルを持った人材による例外の設計・構築・モニタリングなど、ビジネス価値の提供も求められます。さらに、適切なコントロール体制が整備されていることも、監査チームや経営陣が上述のメリットを実現するうえでの重要な要素です。

信頼できる自動化に求められる主な要件は以下のとおりです。

  • プログラムのガバナンスと部門間の連携:主要なステークホルダー(コントロール所有者、内部監査チーム、ITチーム、コンプライアンスチーム)と共同での設計要件の明確な特定とすり合わせ。これらの自動化を管理するため、以下のロールと責任を定義したコアチームを立ち上げました。
    • メリットを最大化する自動化ユースケースの特定と調整。
    • 自動化要件の設計(監査、データ、システム、プロセスの集合知を組み合わせる)。
    • 十分な品質チェックを備えた要件の作成。
    • 実装中と実装後の両方における重要コントロールの設計とテスト。
    • 一貫性のある自動化を実装するためのツールとテンプレートの開発。
  • 分析開発コントロール:アプリケーションの開発ライフサイクルのコントロールと同様に、これらの分析の開発、テスト、展開には、ITだけでなく関連する全てのコントロールオーナーが主体的に関与する必要があります。開発とテストの手順を確立しそれを順守すること、そしてIT、データサイエンス、監査/コンプライアンスチーム、プロセスオーナーの適切なメンバーを取り組みに関与させることが重要です。
  • 開発後のIT管理:実装された自動化に監査担当者が安心して依存できるようにするには、主要なSOXコンプライアンス関連の自動化と同様に、アクセスおよび変更の管理に適切なポリシーとIT管理が実装されていることが重要です。この点に関して、監査チームとコンプライアンスチームは監査担当者が安心して自動化に依存できるようエビデンス要件のガイダンスを提供できます。これらの監査とコンプライアンス要件を考慮して早期に自動化フレームワークに組み込むことで、組織は価値を実現しやすくなります。
  • 継続的な監査プロセス:IT管理の設計と同様に、例外をタイムリーかつ効果的に解決するためのコントロールモニタリングを考慮することが重要です。コントロールオーナーは、監視、追跡、例外の報告に関わる明確なSLAを定義する必要があり、これは監査のために非常に重要です。Snowflakeでは、例外をリアルタイムで関連チームにアラートすることで、合意済みのSLAに基づく対応を可能にしました。

Snowflakeを使用したアクセス管理の監視からの例外アラートの例

同様の自動化の取り組みを開始する際に覚えておくべきこと

  • 実行可能であるかどうかを確認したうえで、真の価値命題にフォーカスする:コントロールモニタリングの自動化は、スーパーヒーローやコンプライアンスチームのみに任せておくべきテーマではありません。重要なのは、まず影響度の大きい少数のユースケースに絞って着手すること、また設計と構築要件についてステークホルダーと十分なとすり合わせを行うことです。全てを一度に自動化しようとするのではなく、方法論的アプローチに基づいて少数のユースケースから取り組むことが大切です。
  • リアルタイムに可視化することで、説明責任性を保証し実効性のあるインサイトを確保する:主要なコントロールの運用を日常的に可視化することで、機能的リーダーは重要な業務に集中でき、問題が発生してから対処するのではなく、能動的にエラーを特定して修正できるようになります。
  • 自動化は楽しむもの:今回ご紹介したSnowflakeを使用したプロジェクトは、私たちの「全体像で考える」「失敗を恐れない」という社風から生まれたものです。選りすぐりのチームメンバーがプロセスについての理解向上とデータのテストに基づいたクエリの強化というテーマに取り組んだ結果、主要なステークホルダーに価値をもたらすという重要な目標を数週間で達成することができました。