テナンシをまたがるDNSリソースの管理

テナンシが他のテナンシのDNSリソースにアクセスできるようにするIAMポリシーを作成します。

ポリシーを初めて使用する場合は、ポリシーの開始およびDNSポリシー・リファレンスを参照してください。

クロステナンシ・ポリシー

組織は、独自のテナントを持つ別の組織とリソースを共有する場合があります。これは、会社内の別のビジネス・ユニット、会社の顧客、別の会社にサービスを提供する会社などの場合があります。このような場合、すでに説明されている必要なユーザー・ポリシーおよびサービス・ポリシーに加えて、クロステナンシ・ポリシーが必要です。

リソースにアクセスして共有するには、両方のテナンシの管理者は、アクセスと共有が可能なリソースを明示的に示す特別なIAMポリシー・ステートメントを作成する必要があります。

Endorse、AdmitおよびDefineステートメント

クロステナンシ・ステートメントで使用される特別な動詞の概要は次のとおりです:

  • 承認: 1つのテナント内のグループが他のテナント内で実行できる一般的な機能セットを示します。承認ステートメントは、テナンシのリソースを使用する他のテナンシに対して境界を超えるユーザーのグループのテナンシに常に属します。この例では、このテナンシをソースと呼びます。
  • 許可: 別のテナンシのグループに付与するテナンシ内の機能の種類を示します。許可ステートメントは、テナンシに「許可」したテナンシに属します。許可ステートメントは、ソース・テナンシからのリソース・アクセスを必要とし、対応する承認ステートメントで特定されるユーザーのグループを識別します。この例では、このテナンシを宛先と呼びます。
  • 定義: 承認および許可ポリシー・ステートメントのテナンシOCIDに別名を割り当てます。許可ステートメントのソースIAMグループOCIDに別名を割り当てるには、宛先テナンシに定義ステートメントも必要です。

    定義ステートメントは、承認または許可ステートメントと同じポリシー・エンティティに含める必要があります。

承認および許可ステートメントは連携して動作しますが、それぞれのテナンシの別々のポリシーに存在します。アクセス権を指定する対応ステートメントがない場合、特定の承認または許可ステートメントはアクセス権を与えません。両方のテナンシから合意が必要です。

重要

ポリシー・ステートメントに加えて、リージョン間でリソースを共有するためにリージョンにサブスクライブする必要もあります。

ソース・テナンシのポリシー・ステートメント

ソース・テナントの管理者は、宛先テナンシでリソースを管理できるIAMグループを承認するポリシー・ステートメントを作成します。

IAMグループDNSAdminsがテナンシ内のすべてのDNSリソースに対してすべての操作を実行することを承認する広範なポリシー・ステートメントの例を次に示します:

Endorse group DNSAdmins to manage DNS in any-tenancy 

テナンシ・アクセスの範囲を狭くするポリシーを記述するには、宛先管理者が宛先テナンシOCIDを指定する必要があります。次の例は、IAMグループのDNSAdminsグループがDestinationTenancyのDNSリソースのみを管理することを承認するポリシー・ステートメントを示しています:

Define tenancy DestinationTenancy as ocid1.tenancy.oc1..<unique_ID>
Endorse group DNSAdmins to manage dns in tenancy DestinationTenancy

宛先テナンシのポリシー・ステートメント

宛先管理者は、次のポリシー・ステートメントを作成します:

  • 別のテナンシのリソースへのアクセスを許可されるソース・テナンシおよびIAMグループを定義します。ソース管理者がこの情報を提供する必要があります。
  • ローカル・テナンシでアクセスを許可するDNSリソースにアクセスするために、定義済のソースを許可します。

ソース・テナンシのIAMグループDNSAdminsがローカル・テナンシ内のすべてのDNSリソースに対してすべての操作を実行することを許可するポリシー・ステートメントの例を次に示します:

Define tenancy SourceTenancy as ocid1.tenancy.oc1..<unique_ID>
Define group DNSAdmins as ocid1.group.oc1..<unique_ID>
Admit group DNSAdmins of tenancy SourceTenancy to manage dns in tenancy 

次の例は、ソース・テナンシのIAMグループのDNSAdminsがSharedZonesコンパートメントのDNSリソースのみを管理することを承認するポリシー・ステートメントを示しています:

Define tenancy SourceTenancy as ocid1.tenancy.oc1..<unique_ID>
Define group DNSAdmins as ocid1.group.oc1..<unique_ID>
Admit group DNSAdmins of tenancy SourceTenancy to manage dns in compartment SharedZones 

例: 親ゾーンとは異なるテナンシに子ゾーンを作成するには

次の例は、子ゾーンが親ゾーンとは異なるテナンシに存在する、一般的に使用されるシナリオを示しています:

親ゾーンのポリシー:
define tenancy ChildZoneTenancy as ocid1.tenancy.oc1..<child_zone_tenancy_unique_ID>
define group ChildZoneGroup as ocid1.group.oc1..<child_zone_group_unique_ID>
admit group ChildZoneGroup of tenancy ChildZoneTenancy to manage dns-records in tenancy where all {target.dns-zone.name = '<example.com>', target.dns-record.type = 'NS', target.dns-domain.name = '<child.example.com>'}
admit group ChildZoneGroup of tenancy ChildZoneTenancy to associate dns-records in tenancy with dns-zones in tenancy ChildZoneTenancy
子ゾーンのポリシー:
define tenancy ParentZoneTenancy as ocid1.tenancy.oc1..<parent_zone_tenancy_unique_ID>
endorse group ChildZoneGroup to manage dns-records in tenancy ParentZoneTenancy where target.dns-zone.name = '<example.com>'
endorse group ChildZoneGroup to associate dns-zones in tenancy with dns-records in tenancy ParentZoneTenancy

例: 既存の子ゾーンとは異なるテナントに親ゾーンを作成するには

1つ以上の子ゾーン(child.example.com)が他のテナンシにすでに存在する場合に親ゾーン(example.com)を作成するには、親ゾーン・テナンシのユーザーに、存在する子ゾーンを削除する権限が必要です。

親ゾーン・テナンシ・ポリシー:

define tenancy ChildZoneTenancy as ocid1.tenancy.oc1..<child_zone_tenancy_unique_ID> 
endorse group ParentTenancyGroup to manage dns-zones in tenancy ChildZoneTenancy where target.dns-zone.name = '<child.example.com>'

子ゾーン・テナンシ・ポリシー:

define tenancy ParentZoneTenancy as ocid1.tenancy.oc1..<parent_zone_tenancy_unique_ID>
define group ParentTenancyGroup as ocid1.group.oc1..<unique_ID> admit group ParentTenancyGroup to manage dns-zones in tenancy ChildZoneTenancy 
where target.dns-zone.name = '<child.example.com>'

子ゾーンが多くのテナンシに存在する場合は、テナンシごとにポリシーのセットを作成します。

テナント間で機能するためにポリシー・ステートメントを必要とするDNS操作

次の表に、テナント間で機能するために許可および承認ポリシー・ステートメントを必要とするDNS操作を示します。ユース・ケースごとに、ソースおよび宛先テナンシに対して少なくともリストされているユーザー権限またはグループ権限が必要です。

宛先 ソース・テナンシの権限 宛先テナンシの権限
異なるテナンシにビューがあるプライベート・ゾーンを作成します DNS_ZONE_CREATE DNS_VIEW_INSPECT
異なるテナンシにTSIGキーがあるゾーンを作成します DNS_ZONE_CREATE DNS_TSIG_KEY_READ
親ゾーンとは異なるテナンシに子ゾーンを作成します。 DNS_ZONE_CREATE DNS_RECORD_UPDATE
親ゾーンとは異なるテナンシにTSIGキーがある子ゾーンを作成します。

DNS_ZONE_CREATE

DNS_TSIG_KEY_READ (TSIGキーがソース・テナンシにある場合。)

DNS_RECORD_UPDATE

DNS_TSIG_KEY_READ (TSIGキーが宛先テナンシにある場合。)

異なるテナンシにTSIGキーがあるゾーンを更新します DNS_ZONE_UPDATE DNS_TSIG_KEY_READ
異なるテナンシのステアリング・ポリシーに対するゾーンのアタッチメントを作成します DNS_ZONE_UPDATE DNS_STEERING_POLICY_READ
異なるテナンシのステアリング・ポリシーに対するゾーンのアタッチメントを更新します DNS_ZONE_UPDATE DNS_STEERING_POLICY_READ
異なるテナンシのステアリング・ポリシーに対するゾーンからアタッチメントを削除します DNS_ZONE_UPDATE DNS_STEERING_POLICY_READ
異なるテナンシに関連ビューがあるリゾルバ情報を更新します DNS_RESOLVER_UPDATE DNS_VIEW_INSPECT