リソースの分離とアクセス制御

リソースの分離は、クラウド・リソースを編成する際の重要な考慮事項です。コンパートメントを使用すると、リソースを論理的に編成し、ビジネスにとって意味のある方法でリソースへのアクセスを制御できます。 たとえば、会社の各部門で使用されるリソースを個別のコンパートメントに分離できます。かわりに、ネットワーク、セキュリティ、データベース、アプリケーション開発などの運用機能によって区分化することもできます。仮想クラウド・ネットワーク(VCNs)を使用して、ネットワーク・レイヤーでリソースを分離することもできます。

組織の現在および将来のセキュリティ要件に留意して、コンパートメントおよびVCNsを慎重に計画する必要があります。この記事の推奨事項は、要件を満たすのに役立ちます。

コンパートメントとタグを使用したリソースの編成

Enterprise Architect, Security Architect, Application Architect

コンパートメントとタグは、アクセス制御のためのリソースの編成および分離に役立つツールです。
  • 特定のカテゴリのリソースに対してコンパートメントを作成および指定し、リソースへのアクセスが必要なユーザー・グループのみにアクセスできるようにするIAMポリシーを記述します。
  • 本番ワークロードと非本番ワークロードを個別のコンパートメントに分けます。
  • コンパートメントを作成および使用して、追加の組織レイヤー用にリソースを分離します。コンパートメント・レベルごとに個別のポリシーを記述します。
  • 権限のあるユーザーのみ、コンパートメントを別の親コンパートメントに移動し、リソースをコンパートメント間で移動できるようにします。この制限を適用するための適切なポリシーを記述します。
  • コンパートメント・レベルの割当て制限を設定することで、コンパートメント内に作成できる各タイプのリソースの数を制限します。
  • ルート・コンパートメントのレベルでIAMポリシーを記述することは避けてください。
  • IAMポリシーでコンパートメントを指定することで、インスタンス・プリンシパルが管理できるリソースを制限します。
  • ビジネス・ニーズに基づいてリソースを編成および識別するために、リソースにタグを割り当てます。

ロールベースのアクセス制御の実装

Enterprise Architect, Security Architect, Application Architect

ロールごとに権限を割り当ててアクセスを制限します。
  • コンパートメント・レベルのポリシーを記述することで、各グループのユーザーのアクセス権限を、アクセスする必要があるコンパートメントのみに制限します。
  • ターゲット・リソースおよび必要なアクセス権限に関して、できるだけ細かいポリシーを記述します。
  • すべてのデプロイ済ワークロードに共通するタスク(ネットワーク管理やボリューム管理など)を実行する権限を持つグループを作成し、適切な管理ユーザーをこれらのグループに割り当てます。

コンピュート・インスタンスにユーザー資格証明を格納しない

Enterprise Architect, Security Architect, Application Architect

コンピュート・インスタンスがOracle Cloud Infrastructure APIをコールすることを認可する場合は、インスタンスにユーザー資格証明を格納しないでください。かわりに、インスタンスをインスタンス・プリンシパルとして指定します。

インスタンス自体を認証するために必要な証明書は、自動的に作成され、インスタンスに割り当てられ、ローテーションされます。このようなインスタンスを、動的グループと呼ばれる論理セットにグループ化し、動的グループが特定のリソースに対して特定のアクションを実行できるようにポリシーを記述できます。

Oracle Cloud Infrastructure Vaultを使用して、厳密なアクセス制御で暗号化キーを管理および保護します。

コンピュート・インスタンスへのログイン・アクセスの強化

Enterprise Architect, Security Architect, Application Architect

コンピュート・インスタンスへのログインには、セキュアな方法のみを使用してください。
  • 標準のエンタープライズ・ログイン・ソリューションがある場合は、パスワードベースのログインを無効にします。
  • rootログインを無効にします。
  • SSH鍵ベースの認証のみを使用します。
  • SSH鍵を共有しないでください。SSH鍵共有を回避するために、Oracle Cloud Infrastructure Bastionを一時SSH鍵とともに使用します。
  • ネットワーク・セキュリティ・グループを利用して、ソースIPアドレスに基づいてアクセスを制限します。
  • 不要なサービスを使用不可にします。
  • IAMアイデンティティ・ドメインを持つ仮想マシンにLinux Pluggable Authentication Module (PAM)統合を使用することを検討してください。

リソース間アクセスの保護

Enterprise Architect, Security Architect, Application Architect

インスタンスをプリンシパルとして指定する場合は、そのインスタンスにアクセスできるユーザーおよびグループを確認します。適切なユーザーおよびグループのみがそれらにアクセスできることを確認します。

ネットワーク層でのリソースの分離

Enterprise Architect, Security Architect, Application Architect

仮想クラウド・ネットワークは、Oracle Cloud Infrastructureのリソース間で最初のレベルのネットワーク分離を提供します。
複数のワークロードまたは異なる部門/組織がある場合は、それぞれに異なるVCNsを使用して、ネットワーク・レイヤーでリソースを分離します。
必要に応じてVCNピアリングを使用します。非武装地帯(DMZ)VCNを使用すると、VCN間トラフィックを分析できます。また、パブリック・アクセスが必要なリソースを評価した後は、パブリック・サブネットおよびプライベート・サブネットを慎重に使用してください。
  • ロード・バランサを利用してサービスをパブリックに公開し、バックエンド・ターゲットをプライベート・サブネットに配置します。
  • ネットワーク・セキュリティ・グループを利用して、アプリケーションの各層に対してアプリケーション・マイクロ・セグメンテーションを実施します。
  • ホワイトリストにはVCN内の東部/西部トラフィックが必要で、トラフィック・フローが必要でないかぎり許可しません。
  • ハブアンドスポーク・ネットワーク・トポロジでは、すべてのスポークVCNトラフィックを非武装ゾーン(DMZ)VCNにルーティングし、OCIネットワーク・ファイアウォールまたはその他のネットワーク・アプライアンスを介してルーティングして、適切なアクセスを確保します。

セキュリティ・ゾーンの定義

Enterprise Architect, Security Architect, Application Architect

セキュリティ・ゾーンは、構成ミスを防ぐために、Oracle Cloud Infrastructureのコンパートメントに対してベースライン・セキュリティ・ポリシーを適用します。これには、ポリシー・ライブラリと、クラウド・セキュリティ・ポスチャ管理を可能にする組込みセキュリティのベスト・プラクティスが含まれます。
  • 独自のVCNおよびコンパートメント内のプライベート・サブネットの本番リソースに対してセキュリティ・ポリシーを有効にします。
  • インターネットに直接接続されているコンポーネントを別のVCNでパブリック・サブネットで区切って、ローカル・ピアリング・ゲートウェイを使用してそれをセキュリティ・ゾーンVCNにリンクします。また、Web Application Firewallを追加して、ロード・バランサなどのインターネットに直接接続されているコンポーネントを保護します。
  • Oracle Security Advisorを使用して、セキュリティ・ゾーンでのリソースの作成を容易にします。