技術・機能解説、ノウハウ|クラウド全般
Oracle Cloudの安全性を高める設計ポイント
Oracle Cloud のリージョンが東京と大阪に開設され、国内企業での利用が増加している。
そこで、Oracle Cloudを利用する際の設計ポイントについて、認証・認可、アクセス制御、ガバナンスの観点から解説する。尚、解説動画を以下よりご覧いただくことができる。
(解説資料はこちら)
▼目次
・クラウド利用におけるユーザーの課題
・Oracle Cloudとは?
・Oracle Cloudを安全に利用するためのポイント
1. クラウド利用におけるユーザーの課題
クラウドには利用者側と事業者側で管理権限に応じた責任分担の考え方がある。
「責任共有モデル」と呼ばれる責任分担は、IaaSやPaaSにSaaSなどのサービスにより異なる。その違いを伊藤忠テクノソリューションズ(以下、CTC)のプロダクト企画推進部 課長 守屋知美は図のような色分けで示す。
図 1. 責任共有モデル: クラウド事業者と利用者の管理権限に応じた責任分担の考え方
例えば物理的なデータ管理に関する設備やセキュリティの管理はクラウド事業者が担う。
それに対して認証やユーザー管理などは利用者の責任となる。
事業者はユーザーを管理するための仕組みは提供するが、具体的な対策は利用者に委ねられる。
そのため、ユーザー認証をパスワードだけにするのか多要素認証を使うかは利用者の判断になる。
この責任範囲はクラウドサービスの事業者ごとに公開されているが、「厄介なのは、クラウドによって責任範囲が少しずつ変わっており、両者の責任です。と書かれている場合もある」と守屋は指摘する。
合わせてCTCが独自に実施したインターネット調査の結果では、クラウドの利用を阻害する要因について「約4割がセキュリティに不安がある」と回答している。
その不安の中には「会社のポリシーに合わない。クラウドでどのような対策を取ればいいのかわからない」といった意見もあった。
図 2. クラウドの利用を阻害する要因は何ですか? (CTC調べ)
- 調査方式:インターネット調査(調査会社への委託)
- 対象者:国内の上場企業(東証、大証、名証、JASDAQ、マザーズなど)にお勤めの情報システム部門の管理職・主任・リーダー
- 実施時期:2020年8月(360名)
こうした背景を踏まえて、クラウドのエンジニアを育てる時間と労力、セキュリティへの不安がクラウド利用を阻害する課題あると守屋は指摘する。
では、そのような声を踏まえ「Oracle Cloudを『安全に』利用するためのポイント」はあるのだろうか。
2. Oracle Cloudとは?
Oracle Cloudは、IaaS、PaaS、SaaSの3階層で構成され、すべてを統合したパブリッククラウドサービスとなっている。
図 3. Oracle Cloud 概要図
Oracle CloudのSaaSは、Oracle Applicationsと呼ばれ、ERPやHCMといったアプリケーションを含む。IaaSやPaaSは、通称でOCI(Oracle Cloud Infrastructure)と呼ばれている。
そのOCIは、オンプレミスとパプリッククラウドの長所を兼ね備えている。
図 4. Oracle Cloud Infrastructure の利点
そのコンセプトは基幹システムの運用に耐える盤石なクラウドサービスになる。
Oracleといえばデータベースのイメージが強いが、その構成はDevOps環境やアナリティクスにセキュリティなど、多様なラインナップとなっている。
図 5. Oracle Cloud Infrastructure サービス構成
クラウドの特長としてサービス内容は、日々進化しており「今日できなかったことも、明日できるようになる、ということも珍しくありません」と守屋は説明する。
CTCはOracle Cloudの運用を容易にするため、Oracle Cloud マネージドサービスをご用意しています。詳細は下記よりご覧いただけます。
3. Oracle Cloudを安全に利用するためのポイント
Oracle Cloudでのシステム構築に関して、守屋は「基本的にオンプレミスで設計する項目とそれほど変わらない」と指摘し、その上で「クラウドならではの制約やクラウドならではの課金ポイントを押さえる必要がある」と補足する。
その中で安全に関する項目として4点があげられる。
ここからは、ポイントについて掘り下げていきたい。
3-1.「認証」のポイント
まず「認証」については2つのサービスが提供されている。
- OCI Identity and Access Management (IAM)
- OCI単独の環境でネイティブな認証・IDサービス
- Oracle Identity Cloud Service (IDCS)
- Oracle Cloudの全サービスで使用される総合的な認証・IDサービス
OCIの利用にあたってはIAM単独でも認証できるが、IDCSによる認証の連携も可能となる。
これらの認証サービスの使い分けについて整理すると以下の図6のようになる。
図 6. 認証サービスの使い分け
どちらを使うべきかは「IDCSの機能は充実しているが、管理が煩雑になるのであれば、IAMで対応できるならばIAMで充分」とアドバイスする。
また、認証方式の使い分けにも対応している。
その他の管理に関するポイントとして、1ユーザー1アカウントの原則の遵守や、アカウントのライフサイクル管理に配慮し、不正アクセスを防ぐ取り組みが大切になる。
ちなみに、IAMもIDCSもAzure ADと連携した管理が可能となっているという。
3-2. 「認可」のポイント
「認可」に関しては、OCIのコンパートメントについての理解が必要になる。
コンパートメントはリソースの集合体で、グループがアクセスできるリソース群を論理的に分解したものとなる。
OCIのリソースは、必ずどれか1つのコンパートメントに配置され、コンパートメント単位で使用料や課金状況などを設定できる。
テナント全体をルートコンパートメントとして、その中にさらにコンパートメントを切り、その中にコンピュートやネットワークリソースにデータベースなどを配置する。
また、現時点では最大で6階層までの階層化に対応している。コンパートメントの設計を図にすると以下のようになる。
図 7. コンパートメントの設計イメージ
アクセス許可は、コンパートメント単位で設定できるので「権限を分けたい範囲でコンパートメントを切っていく方法」を守屋は設計例として示す。
「認可」に関連するOCIのポリシーは、許可ベースの仕組みになっていて、誰に、どのようなリソースに対して、どのような操作を、どの範囲で「許可」するかを定義する。
この中で「どの範囲」の部分がコンパートメントに該当する。
OCIのポリシーは、グループに対して付与するので、対象となるユーザーをグルーピンクしてから対象となる権限を付与する。
アマゾン ウェブ サービス(AWS)と比べるとシンプルなポリシー設定となっている。
そのため、「ポリシー設計のポイントは、最小権限の原則に従うこと」と守屋は解説する。
具体的には、必要な操作と対象リソースの組み合わせごとにグループを作成し、そのグループに対してアクセス制御のポリシーを定義していく必要がある。
3-3. 「ネットワーク/アクセス制御」のポイント
「ネットワーク/アクセス制御」では、VCN(Virtual Cloud Network)による境界の設定が重要になる。
VCNは、OCI上でネットワークのセキュリティ境界をつくる機能で、サブネットやルーティングテーブル作成にファイアーウォールなどの設定が可能になっている。
追加の設定をしなければ、VCNを超えたトラフィックは流れず、システムや組織や環境などでVCNを構成する例が多い。
ただし、VCN内のネットワークは暗号化されていないので、別途に通信の暗号化を検討する必要がある。
また、ネットワーク的なアクセス制御なので、IAMポリシーとは無関係になる。
OCIと社内のオンプレミス環境を安全につなぐ方法としては、専用線による閉域網かインターネットVPN接続が推奨される。
また、OCI内部での社内ネットワークとの通信をコントロールするポイントは段階がある。
- 社内ネットワークとの通信は、基本的に許可し、制限を設けない
- 同一サブネットのみ許可し、異なるCIDRからの通信は必要な分のみ開放する
- ネットワークセキュリティグループを使い、細かく通信制御する
これらの設計は、OCI側で構築するシステムのセキュリティレベルに応じて設定を検討していく。
その他に、メンテナンスや外部公開などでOCIにインターネットから接続するためのセキュリティ設定について、守屋はOCIのDMZのような領域を活用した接続方法があるという。
「ネットワーク/アクセス制御」の最後のポイントは、OS/コンピューティングへのアクセスになる。
Oracle Cloudでは、PaaSからOSレイヤーの操作が可能になっているので、OSのセキュリティ対策も必要になる。
例えば、SSHやWindowsのリモートデスクトップを利用すると、IAMポリシーを経由しないでOSにアクセスできるので、別途に対策しなければならない。
3-4. 「ガバナンス(監査・監視・コスト管理)」のポイント
「ガバナンス」では、とくに監査・監視について紹介していきたい。
Audit LogとEvents Serviceという監査や監視サービスが用意されている。
Audit LogではAPIコールのログを自動で収集して保管する。
ログの保持はデフォルトで90日となっているが、最大で365日まで設定できる。
ログはリクエストベースでObject Storageにエクスポートできる。
設定はテナンシー単位となる。
ただし、APIを介さないSSHなどの接続ではログは取得できない。
Events Serviceは、リソースの変更を検知してサービス間の連携を可能にするイベント・プラットフォーム。
事前に設定したルールにしたがって、OCIのリソースの状態に変化があった際に指定したアクションをトリガーする無償のサービスである。
Events Serviceを利用すると、IAMの作成イベントやポリシー変更イベントなどを検知してメールで通知する、といった処理を自動化できる。
守屋は「こうした設定の周知は、セキュリティインシデント発生を抑制する効果も期待できる」という。
一方、コスト管理に関してはコンパートメントやタグに対して想定月額消費量を設定するBudgetsや、指定した期間の合計支出などを表示できるCost Analysisに、リソースごとの消費を日次でCSVファイルにするUsage Reportsなどを活用すると管理を容易にできる。
これらのツール活用に加えて、「使用していないときは停止する、余っているリソースは縮小する、といった無駄なリソースの利用を抑制する取り組みもコスト管理では重要になる」と指摘する。
この他にも、ベアメタルやロードバランサーによっては、停止だけでは課金が止まらないケースもあるのでリソースごとの細かい設定に配慮する必要がある。
さいごに
CTCでは、Oracle Cloud 支援サービスとして、構想策定から、PoC、設計、構築、運用と各フェーズでデータベース、IaaSを中心にOracle Cloudの導入を支援している。検討フェーズにおいてはハンズオンの実施も可能となっている。
図 8. Oracle Cloud支援サービス
CTCには、Oracle CloudとOracle Database両方に知見を持つ担当者が多く在籍している。まずは触ってみたいなどCTCに問合せしてみてはいかがだろうか。
尚、解説動画の資料については以下よりご覧いただくことができる。