サンプル・ポリシー
次の例は、特定のタイプのユーザーのアクセスを制限するために使用されるサンプルOS管理ハブ・ポリシーを示しています。
これらの例の場合、テナンシには次のコンパートメント構造があります:
- rootコンパートメント(テナント)
- devコンパートメント
- devのtestサブコンパートメント
- prodコンパートメント
- devコンパートメント
テナンシ権限を持つ管理ユーザー
この例では、次のようになります。
- 動的グループは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行目では、ユーザー・グループがテナンシのインストール・キーを作成、更新および削除できます。
- 最初の行では、管理対象インスタンスのエージェントがOS管理ハブと対話できます。
コンパートメントに制限されている管理ユーザー
この例では、次のようになります。
- 動的グループは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にアクセスする必要はありません。