PDPとPEPを分離してOracle Cloudでゼロトラスト・アーキテクチャをサポート

ゼロトラスト・アーキテクチャでは、絶え間ない脅威のリスクを軽減するために、ポリシー決定ポイント(PDP)に別のコントロール・プレーンを使用し、データ・プレーンにポリシー強制ポイント(PEP)を実装する必要があります。Oracle Cloudサービスを使用して、ゼロトラスト・アーキテクチャをサポートし、PDPおよびPEP実装のためにOracle Cloudのアクセス制御を強化できます。

Oracle Cloud Infrastructure(OCI)は、ミッションクリティカルなワークロードと機密データを保護するための魅力的なセキュリティ機能セットを提供します。Oracle Cloudは、National Institute of Standards and Technology (NIST)によって設立されたゼロトラスト・アーキテクチャによって通知されるゼロトラスト・セキュリティ・モデルを実装しています。このモデルを使用すると、システム、ネットワークおよびデータへのアクセスを取得しようとするすべてのユーザーからの検証を必要とする厳格なセキュリティ状態を強制できます。

OCI Identity and Access ManagementOCI API Gatewayを統合して、PDPとPEPを分離できます。

アイデンティティおよびアクセス管理(IAM)

Oracle Cloudは、OCI Identity and Access Managementと呼ばれるエンタープライズクラスのIdentity-as-a-Service (IDaaS)プラットフォームを提供します。OCI Identity and Access Managementは、アイデンティティ・ドメインを使用して、クラウド・アイデンティティ、ユーザーおよびセキュアなアプリケーションをプロビジョニングします。OCI Identity and Access ManagementをPDPとしてアイデンティティ・ドメインとともに使用して、詳細なポリシーを定義することで、様々なクラウド・リソースまたはサービスへのアクセスを許可または拒否できます。

アイデンティティ・プラットフォームは、クラウド・サービスへの玄関口として機能し、エンタープライズ・ユーザーと消費者の両方に対応するスタンドアロンのIdentity-as-a-Service (IDaaS)プラットフォームとして機能します。このプラットフォームは、Oracle Cloud、サードパーティ・クラウドおよびオンプレミス・データ・センターで実行されているアプリケーションとサービスに、主要なアイデンティティ管理機能を提供します。OCI Identity and Access Management offers authentication, single sign-on (SSO), and identity lifecycle management for Oracle Cloud and for Oracle and non-Oracle applications, whether they are SaaS, cloud-hosted, or on-premises.IAMでは、ユーザーのグループがどのタイプのアクセス権を持ち、どの特定のクラウド・リソースにアクセスできるかも制御できます。

APIゲートウェイ

Oracle Cloudは、セキュリティファーストの設計アプローチでサービスを構築します。このアプローチでは、OCI API Gatewayなどのサービスを使用して、認可されたユーザーまたはアプリケーションのみがエンタープライズ全体のデータにアクセスできるようにするデータ・アクセス・ポリシーを作成できます。

OCI API Gatewayサービスを使用すると、OCI Load BalancingOCI FunctionsOCI Computeインスタンス、およびVPNまたはOCI FastConnectを介してOracle Cloudに接続されたオンプレミス・アプリケーションなどのOracle Cloudサービスを含む、複数のバックエンドの管理対象HTTP/Sインタフェース(API)を作成できます。OCI API Gatewayは、HTTP/Sエンドポイントへのレート制限、アイデンティティ・プロバイダによる認証、クラウドとオンプレミスの両方での複数のRESTfulサービスへのアクセスなどのポリシー強制機能を提供します。

OCI APIゲートウェイは、ゲートウェイに接続されたバックエンドを匿名でコールできないように、コール元が認証されるようにします。OCI APIゲートウェイでは、認可を確認することもできます。また、HTTPおよびHTTP/S URLをバックエンド・サービスに追加して、それらのサービスにポリシー強制によるフロントエンド・アクセスを付与できます。バックエンド・サービスに対して指定するHTTP/S URLは、次のいずれかです。

  • Oracle CloudサービスのURL (OCI FunctionsOCI Object Storageなど)
  • VPNまたはOCI FastConnectを介してOCIに接続されている、独自のプライベートまたは内部ネットワーク内のサービスのURL

アーキテクチャ

このアーキテクチャ設計では、OCI Identity and Access ManagementOCI API Gatewayの統合について説明します。このアーキテクチャでは、OCI APIゲートウェイはポリシーを適用することでPEPとして機能し、OCI Identity and Access Managementはトークンを承認し、認可されたユーザーにアクセス権を付与することでPDPとして機能します。この統合では、一般的にアクセス・トークンとも呼ばれるJWTまたはJSON Webトークンを利用します。JWTは、他のIAMシステムと統合できるオープン業界標準です。

次の図は、このリファレンス・アーキテクチャを示しています。

zero-trust-pdp-pep-oci.pngの説明が続きます
図zero-trust-pdp-pep-oci.pngの説明

ゼロトラストpdp-pep-oci-oracle.zip

次のステップでは、OCI APIゲートウェイおよびOCI Identity and Access Managementを使用したアーキテクチャ認可フローについて説明します:
  1. アクセス・トークンの生成

    エンド・ユーザーのクライアント・アプリケーションは、IAM APIを使用して、OCI Identity and Access Management (PDP)からJWTアクセス・トークンを生成します。

  2. アクセス・トークン(JWT)によるコール

    JWTアクセス・トークンは、すべてのAPIコールのHTTPリクエスト・ヘッダーの一部としてOCI APIゲートウェイに送信されます。オプションで、トークンには、リソース用に特別に定義されたスコープを含めることができます。

  3. IAMを使用したポリシー検証およびJWT検証

    OCI APIゲートウェイ(PEP)は、IAM認可APIをコールし、クライアントから受信したアクセス・トークンを渡します。

  4. ポリシー決定

    OCI Identity and Access Managementサービス(PDP)はトークンを評価し、許可または拒否の決定を返します。

  5. バックエンドへのアクセス権の付与

    OCI API Gateway (PEP)は、IAMポリシーの決定の結果に基づいて、バックエンド・サービス(Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE)で実行されているマイクロサービス、OCI FunctionsOCI Object StorageまたはVMで実行されているアプリケーションによって公開されているサービス・エンドポイントなど)へのアクセスを付与または拒否します。

  6. レスポンス(200 OK / 403禁止)

    OCI APIゲートウェイ(PEP)は、ステータス200 OK (許可)または403 Forbidden (拒否)をコール元に戻します。

OCIコンソール、GUIおよびRESTコールを使用して、この統合の実装を構成できます。

このアーキテクチャには次のコンポーネントがあります。

  • APIゲートウェイ

    OCI APIゲートウェイ・サービスでは、ネットワーク内からアクセス可能なプライベート・エンドポイントとともに、必要に応じてパブリック・インターネットに公開できるAPIを公開できます。エンドポイントは、API検証、リクエストとレスポンスの変換、CORS、認証と認可およびリクエスト制限をサポートします。

  • アイデンティティおよびアクセス管理(IAM)

    Oracle Cloud Infrastructure Identity and Access Management (IAM)は、Oracle Cloud Infrastructure (OCI)およびOracle Cloud Applicationsのアクセス制御プレーンです。IAM APIおよびユーザー・インタフェースを使用すると、アイデンティティ・ドメインおよびアイデンティティ・ドメイン内のリソースを管理できます。各OCI IAMアイデンティティ・ドメインは、スタンドアロンのアイデンティティおよびアクセス管理ソリューションまたは異なるユーザー移入を表します。

    IAMを使用すると、OCIのリソースにアクセスできるユーザー、およびそれらのリソースで実行できる操作を制御できます。

  • ポリシー

    Oracle Cloud Infrastructure Identity and Access Managementポリシーでは、誰がどのリソースにどのようにアクセスできるかを指定します。アクセス権はグループ・レベルおよびコンパートメント・レベルで付与されます。つまり、特定のコンパートメント内またはテナンシへの特定のタイプのアクセス権をグループに付与するポリシーを作成できます。

  • Container Engine for Kubernetes

    Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE)は、完全に管理されたスケーラブルで可用性の高いサービスで、コンテナ化されたアプリケーションをクラウドにデプロイするために使用されます。アプリケーションで必要なコンピュート・リソースをユーザーが指定すると、Container Engine for KubernetesがそれらをOracle Cloud Infrastructureの既存テナンシにプロビジョニングします。Container Engine for KubernetesはKubernetesを使用して、ホストのクラスタ間でコンテナ化されたアプリケーションのデプロイメント、スケーリングおよび管理を自動化します。

  • 関数

    Oracle Cloud Infrastructure Functionsは、完全に管理された、マルチテナントでスケーラビリティが高いオンデマンドのFunctions-as-a-Service (FaaS)プラットフォームです。これは、Fn Projectのオープン・ソース・エンジンによって機能します。ファンクションを使用すると、コードをデプロイし、直接コールするか、イベントに応答してトリガーできます。Oracle Functionsは、Oracle Cloud Infrastructure RegistryでホストされているDockerコンテナを使用します。

  • オブジェクト・ストレージ

    オブジェクト・ストレージでは、データベースのバックアップ、分析データ、イメージやビデオなどのリッチ・コンテンツなど、あらゆるコンテンツ・タイプの構造化データおよび非構造化データにすばやくアクセスできます。インターネットから直接またはクラウド・プラットフォーム内から、安全かつセキュアにデータを格納し、取得できます。パフォーマンスやサービスの信頼性を低下させることなく、シームレスにストレージを拡張できます。迅速、即時、頻繁にアクセスする必要のあるホット・ストレージには、標準ストレージを使用します。長期間保持し、ほとんどまたはめったにアクセスしないコールド・ストレージには、アーカイブ・ストレージを使用します。

レコメンデーション

次の推奨事項を開始点として使用します。お客様の要件は、ここで説明するアーキテクチャと異なる場合があります。
  • セキュリティ

    Oracle Cloud Guardを使用して、Oracle Cloud Infrastructure (OCI)内のリソースのセキュリティを事前にモニターおよびメンテナンスします。Oracle Cloud Guardは、ユーザーが定義できるディテクタ・レシピを使用して、セキュリティの弱点についてリソースを調べたり、リスクのあるアクティビティについてオペレータとユーザーをモニターします。構成の誤りまたは安全でないアクティビティが検出された場合、Oracle Cloud Guardは、ユーザーが定義できるレスポンダ・レシピに基づいて、修正アクションを推奨し、それらのアクションの実行を支援します。

    最大限のセキュリティを必要とするリソースの場合、Oracleではセキュリティ・ゾーンを使用することをお薦めします。セキュリティ・ゾーンは、ベスト・プラクティスに基づくセキュリティ・ポリシーのOracle定義レシピに関連付けられたコンパートメントです。たとえば、セキュリティ・ゾーン内のリソースは、パブリック・インターネットからアクセスできず、顧客管理キーを使用して暗号化する必要があります。セキュリティ・ゾーンでリソースを作成して更新すると、OCIでは、セキュリティ・ゾーン・レシピのポリシーに対して操作が検証され、ポリシーに違反する操作が拒否されます。

  • クラウド・ガード

    Oracleが提供するデフォルトのレシピをクローニングしてカスタマイズし、カスタム・ディテクタおよびレスポンダ・レシピを作成します。これらのレシピでは、警告を生成するセキュリティ違反のタイプと、それらに対して実行を許可するアクションを指定できます。たとえば、可視性がパブリックに設定されているOCIオブジェクト・ストレージ・バケットを検出できます。

    Oracle Cloud Guardをテナンシ・レベルで適用して、最も広い範囲をカバーし、複数の構成を維持する管理負担を軽減します。

    管理対象リスト機能を使用して、特定の構成をディテクタに適用することもできます。

考慮事項

このリファレンス・アーキテクチャを実装する場合は、次の点を考慮してください。

  • ユーザー・プロビジョニングおよびアクセス制御

    顧客にデータおよびバックエンド・サービスへのアクセス権が付与されると、Oracle Cloud Infrastructure Identity and Access Management (認証)にどのようにプロビジョニングされますか。アクセス権を取り消す場合、どのようにプロビジョニング解除されますか。これらの考慮事項は、収益化されたデータ製品の入手方法と入手先に関するより広範な説明の一部として発生します。

  • パフォーマンス

    Oracle Cloud Infrastructure API Gatewayは、外部キャッシュ・サーバー(RedisやKeyDBサーバーなど)と統合することでレスポンス・キャッシュをサポートしているため、バックエンド・サービスに対する不要な負荷を回避できます。キャッシュされたレスポンスでは、バックエンド・サービスにリクエストを送信するのではなく、レスポンス・キャッシュからデータを取得することで、同様のリクエストが完了します。これにより、バックエンド・サービスの負荷が軽減され、パフォーマンスの向上とコストの削減に役立ちます。

    また、OCI APIゲートウェイでは、存続時間(TTL)に基づいて認証トークンがキャッシュされるため、アイデンティティ・プロバイダの負荷が軽減され、パフォーマンスが向上します。

  • セキュリティ

    Oracle Cloud Infrastructure (OCI)サービスでは、OCI Identity and Access Managementポリシー(OCI API Gatewayによるファンクションの呼出しを許可するなど)が使用されます。OCI APIゲートウェイは、OAuth認証および認可を使用してアクセスを制御することもできます。認証および認可は、OCI Identity and Access Managementを介してフェデレートできます。これにより、OCI APIゲートウェイに、幅広いサービスおよび認証設定に対して認証を行う権限が付与されます。

  • 高可用性

    デプロイメント要件およびリージョンに基づいて高可用性オプションを使用することを検討してください。オプションには、リージョン内の複数の可用性ドメインにリソースを分散し、可用性ドメイン内のフォルト・ドメインにリソースを分散することが含まれます。フォルト・ドメインは、単一の可用性ドメイン内にデプロイされたワークロードに最適な自己回復性を提供します。アプリケーション層の高可用性を実現するには、アプリケーション・サーバーを異なるフォルト・ドメインにデプロイし、ロード・バランサを使用してクライアント・トラフィックをアプリケーション・サーバーに分散します。

確認

作成者:

  • Subba Bhamidipati