冒頭分
上場企業やIPOを目指している会社が、内部統制の整備・運用を進めるにあたって、「IT統制」という関門があります。
IT統制の検証は監査法人の公認会計士でなく、IT専門家と呼ばれる方が個別に検証を行うなど、専門性の高い領域として思われるのが一般的です。
そのため、監査対応している方も、監査をしている公認会計士も、
- 「いったいどういう点を見ているのか?」
- 「そもそも現場で稼働しているツール/システムのことがわからないから、システム監査人の話に全くついていけない、、」
となっている場面に遭遇することが実は多いです。では、実際にシステム監査を行うにあたって、どのようなツールが存在するのでしょうか?
今回は、システム監査技術者と公認会計士である知見を活かして、IT全般統制にどのようなシステムが利用されてるか、監査人が何を見ているのかについて解説していきたいと思います。
この記事を読むと以下の内容が理解できます。
- そもそもIT統制とは何か
- IT統制に用いられるツールにはどんなものがあるか
- システム監査人はどんなところを見てるのか
IT統制とは
システム監査について解説を行うにあたり、IT統制とはそもそも何を指しているのか?について解説していきます。システム監査といっても様々な種類があり、「何を目的としているのか」がわからないと、そもそも議論の前提に立てないからです。
システム監査概要
まず前提として、システム監査には様々な種類とルールが存在します。筆者が良く見かける、システム監査のルールと目的について、以下のようにまとめました。
上場企業やIPOを目指している会社に対して適用される基準のうち、特に重要になるものは、「財務報告に係る内部統制の評価及び監査の基準(以下、内部統制基準とする)」「一般に公正妥当と認められる監査の基準」です。
この基準の中で「財務報告(≒企業の財政状態及び経営成績)」に係る内部統制の有効性を評価することが求められます。
重要な点は「財務報告に係る」という点です。
あくまで見るべき所は、財務報告に係る部分になるため、それ以外の部分はそこまで重要視されないことになります。
ITに係る内部統制の全体像
前述では、ITを対象とする内部統制は主に3つあると述べてきましたが、それぞれ何を監査していくのでしょうか。内部統制の全体像をまとめると下記のようになります。
※情報システム監査実践マニュアルを基に筆者作成
また内部統制基準は上記の表でまとめたように財務報告に係る、情報システム処理の信頼性や正確性を点検・評価するのですが、ITを対象とするものは主に3種類あります。
- IT全社的統制
- IT全般統制
- 情報処理統制(IT業務処理統制)
その中で、特にシステム監査人との話が全くわからなくなる可能性が高いのが「IT全般統制」です。
IT全般統制とは
IT全般統制の定義は以下のようになります。
IT全般統制とは、IT環境の継続的かつ適切な運用を支援する企業のITプロセスに係る内部統制のこと
何を言ってるのかわからないですよね。筆者も最初に読んだ時はマジでわからなかったです(翻訳がひどいのか・・・?)。
要するに、システムやITインフラ環境がきちんと動いている前提として、会社の体制がちゃんとしてるのか?ということになります。
IT統制で見るべき部分は、主に以下の3つになります。
- システム開発・保守・変更プロセス
- システム運用プロセス
- アクセス管理プロセス
言われてみれば、上記3つはシステムやITインフラ環境がきちんと動くためには、ちゃんと整備されてる必要がありそうですよね?
そのため、IT全般統制統制を整備・運用するときは、これらの前提を理解した上でプロセス構築を行う必要があります。
また、情報処理統制はIT全般統制が監査対象期間を通じて有効であることを前提としないと、内部統制に依拠することが難しくなるため、検証が必要があります。
そもそもなぜツールを理解しないといけないのか
前段落で、IT全般統制の解説をしていきました。
では、なぜIT全般統制を検証するために、それらに用いられるツールを理解しないといけないのでしょうか?それは、IT全般統制の整備及び運用のために諸々のツールを用いてシステムの整備・運用・監査を実施するためです。
しかし、監査人もツールについて網羅的な知識があるとは限らないため、どういう機能を持ったツールなのか説明を受けて理解出来れば足りる部分はぶっちゃけあります。以下のツール解説を読み、基本を押さえていくことから始めてみましょう。
ツール解説
この段落では、IT全般統制に利用されるツール一覧を紹介していきます。
機能としてどんなものがあるか、どういう役割があるかを理解していきましょう。細かいツールの詳細についてはググるなりしながら身につければOKです。大事なのは基本です。
クラウドサービス
そもそもクラウドとは何か
クラウド会計ソフトなど、よく「クラウド」と言う言葉は耳にしますよね。
では「クラウド」とは何かというと、代表的なクラウドサービスであるAWSでは下記のように定義しております。
「クラウド(クラウドサービス、クラウドコンピューティング)」とは、クラウドサービスプラットフォームからインターネット経由でコンピューティング、データベース、ストレージ、アプリケーションをはじめとした、さまざまな IT リソースをオンデマンドで利用することができるサービスの総称です
出典:Amazon Web Services, Inc. or its affiliates.All rights reserved.
他にも代表例として、Google社が提供するGoogle Cloud Platform(GCP)やマイクロソフト社が提供するAzureが該当します。
どのインフラがクラウドに変わるのか
昨今のwebサービス等はAWS等のクラウドサービス上に構成されることが多いため、かつて置かれていたオンプレミス(自社で保有し運用する)のサーバーやデータベース等がクラウドに置き換わりつつあります。
基本的にはシステムインフラがクラウドサービス上で構成されるため、基本的に以下のようなインフラがクラウド上に置かれるイメージで良いでしょう。
- サーバー
- ネットワーク環境
- データベース
クラウドに置き換えることのリスク
ここまで解説するとクラウドは非常に便利なものだと思いますが、その特性を考慮して利用しないと、セキュリティやシステム構築面で思わぬリスクが発生します。
まず挙げられるデメリットは「サーバー等を容易に増設することが可能であることから、これらの設置や運用に関する管理体制を整備しないと、システム環境を管理することが出来なくなる」ことでしょう。
平たくお伝えすると、「エンジニアだったらどこでも、誰でも簡単に触れるようになるので、管理体制が定まっていないと、色々と危険度が高いですよ」という意味です。
そのため、クラウドサービスにおいてアクセスコントロールの重要性は非常に高く・特にアカウント付与権限を持った特権IDの管理はとても重要になります。
しかし、クラウドは提供母体が相応の物理セキュリティ体制やメンテナンス体制を構築していることから、それに乗っかることが出来るというメリットも存在します。
その体制が有効であることを証明するために、それぞれのクラウドサービス提供会社がSOCレポートというものを提供しています。それにより、IT全般統制の要素の一部について、SOCレポートで代替することが可能になることも多いです。
ですので、システム構築段階で「SOCレポートはあるのか?」という部分を考えてみるのも良いかと思います。
バージョン管理システム
バージョン管理システムとは何か
バージョン管理システムとは、その名の通りエンジニアが作成したコードデータ等のバージョンを管理するソフトウェアのことです。以下のようなサービスが代表例です。
- GitHub
- BitBucket
- Backlogなど
具体的な内容としては下記のようなことを行います。
- コード変更におけるログ・ソースコードのレビュー機能などを有している
(コード変更が不可能であることの証拠として残す機能)
- プルリクエストを行うことにより、ソースコードの相互レビューや本番環境へのマージなどを管理する。
- 開発におけるタスクとコード変更の紐づけを行うことが出来る
自社開発システムが財務報告と密接に関わっている場合には、IT全般統制において絶対にコード変更の管理が要求されることから、バージョン管理システム導入はほぼマストである、と考えていただいて大丈夫でしょう(まぁ自社開発でバージョン管理システムを利用していないケースはほぼ無いと思いますが・・・。)。
テストツール
テストツールとは何か。
テストツールとはシステム等のプログラムから欠陥を見つけ出すためのツールのことを指します。下記のようなサービスが代表例です。
- Jenkins
- TestRail
- Selenium
自動テストツール等を利用する場合もあるが、Excelのチェックリスト等を用いたりする手動テストが行われることもあります。
テストツールを考える上で大切なこと
テストツールを利用する上で重要になるのが、実際にシステムを使える前の状態(デプロイ前)にどれだけテスト体制を構築するのかが重要になります。
そのための方法はシステム監査の現場に合わせて様々ございますが、テスト内容の管理・承認作業はシステム監査を行う上で必要な項目です。
またテスト結果で発見したバグの重要度の評価、そこからチケット(タスク)の優先度を評価することも行います。
バッチ処理のツール
バッチ処理とは何か
バッチ処理とは、“一定量の(あるいは一定期間の)データを集め、一括処理するための処理方法”のことを指します。例えば、月次のう売上データ、販売データ、人事労務データなどを一定期間ごとに大量に集めて処理したり、アプリケーションの自動実行などで活用されます。
下記のようなサービスが代表例です。
- Cloud FunctionsとCloud Scheduler
- AWS Lambda
- digdag
バッチ処理ならではの性質
バッチ処理は自動実行される性質があるため、定期実行の方法やエラーが出た場合の通知機能をどうにかする必要があります。例えば、、
- そもそもバッチ処理は何のツールで行うのか
- バッチ処理してエラーが出た場合、どのように対処するのか
- エラーが出た後の変更管理はどのように対処するのか
- 定期実行はどのようにプログラミングされるのか
などをシステム監査人はチェックします。
その他にも業務によっては様々なツールを使うこともありますが、主要なものを押さえておけば大丈夫でしょう。
まとめ
以上、システム監査で扱えわれるツールをまとめてみました。冒頭でも解説したように、システム監査の目的を達成するためには、IT環境を理解することは必須です。ITに慣れていない方は大変かと思いますが、この記事を参考にシステム監査で用いられるツールの理解を深めていただければ幸いです。
また、今回ご紹介したこれらのツールの発展は著しく、システム監査人側も理解不足で挑み、クライアントに迷惑をかけてしまうケースも耳にします。なのでシステム監査を依頼する場合は、この記事に記載したツール内容を正確に理解している方をアサインすると失敗は起きにくいです(とはいえシステム監査人は担当者ガチャの側面も強いため、アサインされる人を選ぶことは難しい現状もあります)。
とはいえ、システム監査が的確にできる方、システム監査人と適切にやり取りを行うのは、非常に難しいですよね・・・。その結果、監査人の言いなりになって変な内部統制が出来上がってしまうケースも無きにしろあらずだったりします。
当事務所では会計・税務処理だけに止まらず、システム監査技術者の資格を有している専門家がいることから、業務プロセス改善・システム導入はもちろん、IPO支援に強みを持っています。またデータサイエンスに関する知識もあるし、それらのエンジニアとも連携も可能です。
もしシステム構築や、システム監査に関して迷われているのであればお気軽にお問合せください。
※プログラミングに関する書籍も書いておりますので、気になる方はこちらもご一読くださいませ。
現役公認会計士が解説!GASで自動化する経営管理 (技術の泉シリーズ(NextPublishing))
稲垣大輔/インプレスR&D