サンプル・ポリシー

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

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

  • rootコンパートメント(テナント)
    • devコンパートメント
      • devの子コンパートメントtest
    • 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_child compartment_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_child compartment_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コンパートメント内のOCIインスタンスおよびtest子コンパートメントが含まれます。
  • ユーザーは、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管理ハブでオンプレミス・インスタンスまたはサードパーティ・クラウド・インスタンスを表示するには、管理エージェントCloud Service (MACS)のポリシーは不要です。したがって、前述の例に示すように、オペレータユーザーグループはMACSにアクセスする必要はありません。