サンプル・ポリシー

次の例は、特定のタイプのユーザーのアクセスを制限するために使用されるサンプルOS管理ハブ・ポリシーを示しています。

これらの例の場合、テナンシには次のコンパートメント構造があります:

  • rootコンパートメント(テナント)
    • devコンパートメント
      • devtestサブコンパートメント
    • prodコンパートメント

テナンシ権限を持つ管理ユーザー

この例では、次のようになります。

  • 動的グループはosmh-instancesです。ルール・ステートメントには、ルート・コンパートメント(テナンシ)、devコンパートメント、testサブコンパートメントおよびprodコンパートメントに、OCIインスタンスと管理エージェント(オンプレミスまたはサードパーティ・クラウド・インスタンス用)、両方が含まれます。
  • ユーザーは、テナンシ内のすべてのOS管理ハブ・リソースを管理できるユーザー・グループosmh-adminsに属しています。
  • 環境には、OCIインスタンスとオンプレミス・インスタンス、またはサードパーティ・クラウド・インスタンスの両方が含まれます。
動的グループ ルール

動的グループには、管理対象インスタンスを含む各コンパートメント(およびサブコンパートメント)のルールが必要です。この例では、ルート・コンパートメント(テナンシ)、devコンパートメント、testサブコンパートメントおよびprodコンパートメントのルールを示します。

ANY {instance.compartment.id='<tenancy_ocid>',instance.compartment.id='<dev_compartment_ocid>',instance.compartment.id='<test_subcompartment_ocid>',instance.compartment.id='<prod_compartment_ocid>'}
ALL {resource.type='managementagent', resource.compartment.id='<tenancy_ocid>'}
ALL {resource.type='managementagent', resource.compartment.id='<dev_compartment_ocid>'}
ALL {resource.type='managementagent', resource.compartment.id='<test_subcompartment_ocid>'}
ALL {resource.type='managementagent', resource.compartment.id='<prod_compartment_ocid>'}
  • 最初の行は、ルート・コンパートメント、devコンパートメント、testサブコンパートメントおよびprodコンパートメントにOCIインスタンスを含めるようにグループに指示します。これは、ANYを使用して単一のルール文を使用し、文に各コンパートメントを含めます。
  • 次の4行は、指定したコンパートメントに管理エージェントを含めるようにグループに指示します。管理エージェント・リソースを含めることで、文には対応するオンプレミスまたはサードパーティ・クラウド・インスタンスが含まれます。
ポリシー・ステートメント
allow dynamic-group osmh-instances to {OSMH_MANAGED_INSTANCE_ACCESS} in tenancy where request.principal.id = target.managed-instance.id
allow group osmh-admins to manage osmh-family in tenancy
allow group osmh-admins to manage management-agents in tenancy
allow group osmh-admins to manage management-agent-install-keys in tenancy
  • 最初の行では、管理対象インスタンスのエージェントがOS管理ハブと対話できます。OSMH_MANAGED_INSTANCE_ACCESSは、OS管理ハブへのアクセスを提供します。
  • 2行目では、ユーザー・グループがテナンシ内のすべてのOS管理ハブ・リソースを管理できます。
  • 3行目では、ユーザー・グループがテナンシの管理エージェントを作成、更新および削除できます。
  • 4行目では、ユーザー・グループがテナンシのインストール・キーを作成、更新および削除できます。

コンパートメントに制限されている管理ユーザー

この例では、次のようになります。

  • 動的グループはosmh-instancesです。ルール・ステートメントには、devコンパートメントおよびtestサブコンパートメントのOCIインスタンスが含まれます。
  • ユーザーは、devコンパートメントおよびtestサブコンパートメント内のすべてのOS管理ハブ・リソースを管理できるユーザー・グループosmh-admins-devに属しています。ユーザーは、ベンダー・ソフトウェア・ソースおよびサービス提供のプロファイルにアクセスするために必要な、テナンシ内のプロファイルおよびソフトウェア・ソースを読み取ることができます。
  • 環境にはOCIインスタンスのみが含まれます。
動的グループ ルール

動的グループには、管理対象インスタンスを含む各コンパートメント(およびサブコンパートメント)のルールが必要です。この例では、それぞれに個別のルール文を使用したdevおよびtestサブコンパートメントのルールを示します。

ALL {instance.compartment.id='<dev_compartment_ocid>'}
ALL {instance.compartment.id='<test_compartment_ocid>'}
  • 最初の行には、devコンパートメント内のすべてのインスタンスが含まれます。
  • 2行目には、testサブコンパートメント内のすべてのインスタンスが含まれます。
  • または、2つのルール文のかわりに、1つのANY文を使用することもできます: ANY {instance.compartment.id='<dev_compartment_ocid>',instance.compartment.id='<test_compartment_ocid>'}
ポリシー・ステートメント
allow dynamic-group osmh-instances to {OSMH_MANAGED_INSTANCE_ACCESS} in compartment dev where request.principal.id = target.managed-instance.id
allow group osmh-admins-dev to manage osmh-family in compartment dev
allow group osmh-admins-dev to read osmh-profiles in tenancy where target.profile.compartment.id = '<tenancy_ocid>'
allow group osmh-admins-dev to read osmh-software-sources in tenancy where target.softwareSource.compartment.id = '<tenancy_ocid>'
allow group osmh-admins-dev to manage management-agents in compartment dev
allow group osmh-admins-dev to manage management-agent-install-keys in compartment dev
  • 最初の行では、管理対象インスタンスのサービス・エージェントがOS管理ハブと対話できます。
  • 2行目では、ユーザー・グループがdevコンパートメント内のすべてのOS管理ハブ・リソースを管理できます。ポリシーではコンパートメント継承が使用されるため、ユーザーはdevのサブコンパートメント(この例ではtest)内のリソースも管理できます。
  • 3行目と4行目では、ユーザー・グループがルート・コンパートメント内のプロファイルおよびソフトウェア・ソースを読み取ることができます。これは、ベンダー・ソフトウェア・ソースをレプリケートし、サービス提供のプロファイルを使用するために必要です。
  • 5行目と6行目で、ユーザーはManagement Agent Cloud Service (MACS)のキーとエージェントを管理できます。

コンパートメントに制限された演算子

この例では、次のようになります。

  • 動的グループはosmh-instancesです。ルール文には、prodコンパートメントの管理エージェント・リソースが含まれます。
  • ユーザーは、prodコンパートメント内のすべてのOS管理ハブ・リソースを読み取ることができるユーザー・グループosmh-operatorsに属します。
  • 環境には、オンプレミス・インスタンスまたはサードパーティ・クラウド・インスタンスのみが含まれます。
動的グループ ルール

動的グループには、管理対象インスタンスを含む各コンパートメントのルールが必要です。この例では、prodコンパートメントのルールを示します。


ALL {resource.type='managementagent', resource.compartment.id='<prod_compartment_ocid>'}
  • ルールは、prodコンパートメント内に管理エージェント・リソースを含めるように動的グループに指示します。エージェントを含めると、OS管理ハブで対応するオンプレミスまたはサードパーティ・クラウド・インスタンスを管理できます。
ポリシー・ステートメント
allow dynamic-group osmh-instances to {OSMH_MANAGED_INSTANCE_ACCESS} in compartment prod where request.principal.id = target.managed-instance.id
allow group osmh-operators to read osmh-family in compartment prod
  • 最初の行では、管理対象インスタンスのエージェントがOS管理ハブと対話できます。
  • 2行目では、ユーザー・グループはprodコンパートメント内のすべてのOS管理ハブ・リソースを表示できます。
  • OS管理ハブでオンプレミスまたはサードパーティ・クラウド・インスタンスを表示するために、Management Agent Cloud Service (MACS)のポリシーは不要です。したがって、オペレータユーザーグループは、前の例に示すようにMACSにアクセスする必要はありません。