VCN間のルーティングに関するIAMポリシー

ピアリングおよび動的ルーティング・ゲートウェイで使用されるIAMポリシーについて学習します。

ネットワーキングで使用される一般的なIAMポリシーの詳細は、ネットワーキングに対するIAMポリシーを参照してください。

DRGを使用したローカル・ピアリングまたはリモート・ピアリングに固有のIAMポリシーについては、次を参照してください:

LPGを使用したローカル・ピアリングに固有のIAMポリシーについては、次を参照してください:

DRGおよびVCNsのアタッチに固有のIAMポリシーについては、次を参照してください:

ピアリングの確立の制御

IAMポリシーを使用すると、次のことを制御できます:

  • テナンシを別のリージョンにサブスクライブできるユーザー(リモートVCNピアリングで必要)。
  • VCNピアリングを確立する権限を持つ組織内のユーザー(例については、ローカル・ピアリングのセットアップリモート・ピアリングのセットアップのIAMポリシーを参照してください。)これらのIAMポリシーを削除した場合、既存のピアリングは影響せず、将来のピアリングを作成する機能のみに影響します。
  • 同じテナンシおよびリージョン内の相互にアタッチされたDRGを介したローカルVCNピアリングの場合、特別なIAMポリシーは必要ありません。異なるテナンシ(組織、Oracleまたはサード・パーティに属する可能性がある)のVCNsでピアリングを実行できるかどうかにかかわらず、クロステナンシ・ピアリングを有効にするには、特別なポリシー・ステートメントが必要です。文では、特定のテナンシを指定できます。異なるテナンシが同じリージョンにある相互にアタッチされたDRGを介したローカルVCNピアリングについては、他のテナンシのVCNsへのアタッチを参照してください。リモートVCNピアリング(場合によっては別のテナンシ)については、レガシーDRGを使用したリモート・ピアリングを参照してください。
  • ルート表およびセキュリティ・リストを管理できるユーザー。

両方の側から必要な明示的合意

ピアリングおよび転送ルーティングには、同じ当事者または2つの異なる当事者が所有する2つのVCNが含まれます。2つの当事者は、どちらも同じ会社に存在しても、異なる部門に属する場合があります。または、2つの当事者は、完全に異なる会社に属することもあります(サービス・プロバイダ・モデルなど)。クロステナント・ポリシーの追加の例は、テナンシをまたがったオブジェクト・ストレージ・リソースへのアクセスを参照してください。

この合意は、各当事者が独自のVCNのコンパートメントまたはテナンシに対して実装するOracle Cloud Infrastructure Identity and Access Managementポリシーの形式になります。VCNが異なるテナンシにある場合、各管理者はテナンシOCIDを提供し、ピアリングを有効にする特別なポリシー・ステートメントを用意する必要があります。別のテナンシのVCNに接続するために必要なIAMポリシーの詳細は、アップグレードされたDRGを使用したリモート・ピアリングを参照してください。

EndorseAdmitおよびDefine

これらの文で使用される動詞の概要は次のとおりです:

  • Endorse: 自分のテナンシのグループが他のテナンシ内で実行できる一般的な機能セットが示されます。Endorseステートメントは、境界を越えて他のテナンシにまたがるユーザーのグループを含むテナンシに常に属し、そのテナンシのリソースを使用します。例では、このテナンシにソース・テナンシをコールします。
  • Admit: 他のテナンシからグループに付与する独自のテナンシの機能の種類を指定します。Admitステートメントは、テナンシに「許可」を付与するテナンシに属します。Admit文は、ソース・テナンシからのリソース・アクセスを必要とし、対応するEndorse文で特定されるユーザーのグループを識別します。例では、このテナンシをターゲット・テナンシとコールします。
  • Define: EndorseおよびAdmitポリシー・文のテナンシOCIDにローカル別名を割り当てます。Admit文のソースIAMグループOCIDに別名を割り当てるには、宛先テナンシにDefine文も必要です。

    Define文は、EndorseまたはAdmit文と同じポリシー・エンティティに含めます。

Endorse文とAdmit文は連携して動作します。Endorse文はソース・テナンシに存在しますが、Admit文は宛先テナンシに存在します。アクセス権を指定する対応ステートメントがない場合、特定のEndorseまたはAdmitステートメントはアクセス権を与えません。両方のテナントがアクセスに同意する必要があります。

重要

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

レガシーDRGによるリモート・ピアリング

DRGは、リクエスタを含むコンパートメントとアクセプタにコアクト・ポリシーが設定されている場合、別のリージョン内の別のDRG (およびアタッチされたVCN)に接続できます。構成内容は次のとおりです:

  • ポリシーR (リクエスタによる実装):

    Define group RequestorGrp as <requestorGroupOcid>
    Define compartment RequestorComp as <RequestorCompartmentOcid>
    
    Allow group RequestorGrp to manage remote-peering-from in compartment RequestorComp

    リクエスタは、RequestorGrpというIAMグループに属していますこのポリシーにより、グループ内のすべてのユーザーが、リクエスタのコンパートメント(RequestorComp)内の任意のDRGから接続を開始できます。Policy Rは、テナンシ(ルート・コンパートメント)またはRequestorCompにアタッチできます。1つのコンパートメントまたはもう1つのコンパートメントにアタッチする理由の詳細は、ポリシーの基本に関する項を参照してください。

  • ポリシーA (アクセプタによる実装):

    Define group RequestorGrp as <requestorGroupOcid>
    Define compartment AcceptorComp as <AcceptorCompartmentOcid>
    
    Allow group RequestorGrp to manage remote-peering-to in compartment AcceptorComp
    

    このポリシーを使用すると、リクエストをアクセプタのコンパートメント(AcceptorComp)内の任意のRPCに接続できます。このステートメントは、ピアリングを確立するためのアクセプタからの必要な合意を反映します。ポリシーAは、テナンシ(ルート・コンパートメント)またはAcceptorCompにアタッチできます。

この図は、同じテナンシ内の異なるリージョンにあるVCNに対する2つのポリシーを示しています。

Policy RとポリシーAの両方がRequestorGrpアクセス権を付与します。ただし、ポリシーRにはremote-peering-fromというリソース・タイプがあり、ポリシーAにはremote-peering-toというリソース・タイプがあります。まとめると、これらのポリシーにより、RequestorGrpのユーザーは、リクエスターのコンパートメント内のRPCからアクセプタのコンパートメント内のRPCへの接続を確立します。接続を作成するためのAPIコールで、2つのRPCを指定します。

ヒント

RequestorCompのすべてのネットワーキング・コンポーネントを管理する権限がリクエスタに別のポリシーにある場合、Policy Rによって付与された権限はすでにある可能性があります。たとえば、Allow group NetworkAdmin to manage virtual-network-family in compartment RequestorCompなどの一般的なネットワーク管理ポリシーが存在する場合があります。リクエスタがNetworkAdminグループに属している場合、ポリシーRでカバーされる必要な権限をすでに持っています(virtual-network-familyにRPCが含まれます)。さらに、テナンシ全体をカバーするようにポリシーが記述されている場合(Allow group NetworkAdmin to manage virtual-network-family in tenancy)、リクエスタはすでに、接続を確立するために必要な権限を両方のコンパートメントですでに持っています。この場合、ポリシーAは必要ありません。

アップグレードされたDRGを使用したリモート・ピアリング

リクエスタとアクセプタの両方が、必要なポリシーが有効であることを確認する必要があります。この例では、クロステナンシ・リモート・ピアリング接続を作成するために必要な最小限のアイデンティティ・ポリシーを示します:

  • ポリシーR (リクエスタによる実装):

    Define group requestorGroup as <requestorGroupOcid>
    Define compartment requestorCompartment as id <requestorCompartmentOcid>
    Define tenancy Acceptor as <AcceptorTenancyOcid>
    
    Allow group requestorGroup to manage remote-peering-from in compartment requestorCompartment
    Endorse group requestorGroup to manage remote-peering-to in tenancy Acceptor
  • ポリシーA (アクセプタによる実装):

    Define group requestorGroup as <requestor-group-ocid>
    Define tenancy Requestor as <requestorTenancyOcid>
    Define compartment acceptorCompartment as id <acceptorCompartmentOcid>
    
    Admit group requestorGroup of tenancy Requestor to manage remote-peering-to in compartment <acceptorCompartment>

同一テナンシのLPG (VCNs)を使用したローカル・ピアリング

このユース・ケースでは、両方のVCNsが同じテナンシ内にあります。テナンシが異なる場合は、異なるテナンシでのLPG (VCNs)を使用したローカル・ピアリングを参照してください。

リクエスタおよびアクセプタVCNsの管理者は、必要なポリシーが設定されていることを確認する必要があります:

  • ポリシーR (リクエスタによる実装):

    Define group requestorGrp as <requestorGroupOcid>
    Define compartment requestorComp as <requestorCompartmentOcid>
    
    Allow group requestorGrp to manage local-peering-from in compartment requestorComp

    リクエスタは、requestorGrpというIAMグループに属していますこのポリシーによって、グループ内の任意のユーザーで、リクエスタ・コンパートメント(requestorComp)の任意のLPGから接続を開始できるようになります。Policy Rは、テナンシ(ルート・コンパートメント)またはrequestorCompにアタッチできます。1つのコンパートメントまたはもう1つのコンパートメントにアタッチする理由の詳細は、ポリシーの基本に関する項を参照してください。

  • ポリシーA (アクセプタによる実装):

    Define group requestorGrp as <requestorGroupOcid>
    Define compartment acceptorComp as id <acceptorCompartmentOcid>
    
    Allow group requestorGrp to manage local-peering-to in compartment acceptorComp
    Allow group requestorGrp to inspect vcns in compartment acceptorComp
    Allow group requestorGrp to inspect local-peering-gateways in compartment acceptorComp
    

    ポリシーのステートメントにより、リクエスタはアクセプタのコンパートメント(acceptorComp)の任意のLPGに接続できます。このステートメントは、ピアリングを確立するためのアクセプタからの必要な合意を反映します。ポリシーAは、テナンシ(ルート・コンパートメント)またはacceptorCompにアタッチできます。

    ヒント

    ポリシーAの文により、リクエスタはacceptorComp内のVCNsおよびLPGをリストできます。文は、リクエスタがコンソールUIを使用して、acceptorCompのVCNsおよびLPGのリストから選択し、接続を確立するために必要です。次の図では、最初のステートメント(接続を可能にする重要なもの)のみを中心に説明されています。
この図は、同じテナンシ内のVCNに対する2つのポリシーを示しています。

Policy RとPolicy Aの両方がrequestorGrpアクセス権を付与します。ただし、ポリシーRにはlocal-peering-fromというリソース・タイプがあり、ポリシーAにはlocal-peering-toというリソース・タイプがあります。まとめると、これらのポリシーにより、requestorGrp内のユーザーは、リクエスタのコンパートメント内のLPGからアクセプタのコンパートメント内のLPGへの接続を確立できます。接続を作成するAPIコールで、2つのLPGを指定します。

ヒント

RequestorComp内のすべてのネットワーキング・コンポーネントを管理するための権限がリクエスタに別のポリシーにある場合、Policy Rによって付与された権限はすでにある可能性があります。たとえば、このような一般的なネットワーク管理ポリシーが存在する可能性があります:

 Allow group NetworkAdmin to manage virtual-network-family in compartment requestorComp

リクエスタがNetworkAdminグループに属している場合、ポリシーRでカバーされる必要な権限をすでに持っています(virtual-network-familyにLPGが含まれます)。さらに、コンパートメントrequestorCompのみではなく、テナンシ全体をカバーするようにポリシーを記述されている場合、リクエスタには、接続を確立するために必要なすべての権限を両方のコンパートメントですでに持っています。この場合、ポリシーAは必要ありません。

LPGを使用したローカル・ピアリング(異なるテナンシのVCNs)

このユース・ケースでは、VCNsは異なるテナンシにあります(そのため、クロステナンシ・ピアリングです)。VCNsが同じテナンシにある場合は、かわりにLPGを使用したローカル・ピアリング(同じテナンシのVCNs)を参照してください。

リクエスタとアクセプタの両方が、必要なポリシーが有効であることを確認する必要があります:

  • ポリシーR (リクエスタによる実装):

    Define tenancy Acceptor as <acceptorTenancyOcid>
    Define group requestorGrp as <requestorGroupOcid>
    Define compartment requestorComp as id <requestorCompartmentOcid>
    
    Allow group requestorGrp to manage local-peering-from in compartment requestorComp
    Endorse group requestorGrp to manage local-peering-to in tenancy Acceptor
    Endorse group requestorGrp to associate local-peering-gateways in compartment requestorComp
       with local-peering-gateways in tenancy Acceptor

    リクエスタは、指定したOCIDが割り当てられたIAMグループにあります。このポリシーによって、グループ内の任意のユーザーで、リクエスタ・コンパートメント(requestorComp)の任意のLPGから接続を開始できるようになります。

    最初のステートメントは、アクセプタのテナンシOCIDにわかりやすいラベルを割り当てるDefineステートメントです。ここでのステートメントはラベルとして"Acceptor"を使用していますが、リクエスタが選択した値にすることができます。ポリシー内のすべてのDefine文は、一番上にある最初の文である必要があります。

    2番目のステートメントにより、requestorGrpはリクエスタのコンパートメントにあるLPGからの接続を確立できます。

    AllowおよびEndorse文は、LPGが異なるテナンシにあるために必要となる特別なものです。これらによって、requestorGrpは、リクエスト元のテナンシ内のLPGをアクセプタのテナンシ内のLPGに接続できます。

    任意のテナンシ内のLPGに接続する権限をrequestorGrpに付与する場合、かわりにポリシーは次のようになります:

    
    Allow group requestorGrp to manage local-peering-from in compartment requestorComp
    Endorse group requestorGrp to manage local-peering-to in any-tenancy
    Endorse group requestorGrp to associate local-peering-gateways in compartment requestorComp with local-peering-gateways in any-tenancy
    

    これとは関係なく、ポリシーRはリクエスタのテナンシ(ルート・コンパートメント)にアタッチする必要があり、リクエスタのコンパートメントにはアタッチしません。クロステナンシ・アクセスを有効にするポリシーは、テナンシにアタッチする必要があります。ポリシーのアタッチメントの詳細は、ポリシーの基本を参照してください。

  • ポリシーA (アクセプタによる実装):

    Define tenancy Requestor as <requestorTenancyOcid>
    Define group requestorGrp as <requestorGroupOcid>
    Define compartment acceptorComp as id <acceptorCompartmentOcid>
    
    Admit group requestorGrp of tenancy Requestor to manage local-peering-to in compartment acceptorComp
    Admit group requestorGrp of tenancy Requestor to associate local-peering-gateways in tenancy Requestor with local-peering-gateways in compartment acceptorComp
    

    リクエスタのポリシーと同様に、このポリシーでは、最初にDefineステートメントを使用して、リクエスタのテナンシOCIDおよびリクエスタ管理グループのOCIDにフレンドリ・ラベルを割り当てます。前述のように、アクセプタは必要に応じてそれらのラベルに他の値を使用できます。

    4番目と5番目のステートメントにより、requestorGrpはアクセプタのコンパートメント(acceptorComp)のLPGに接続できます。これらのステートメントは、ピアリングを確立するために必要となる重要な合意を反映します。Admitという語は、ポリシーが存在するテナンシの外部のグループにアクセスできることを示します。

    ポリシーAはアクセプタのテナンシ(ルート・コンパートメント)にアタッチする必要があり、アクセプタのコンパートメントにはアタッチしません。

この図は、異なるテナンシ内のVCNに対する2つのポリシーの場所を示しています。

同じテナンシ内のVCNsへのアタッチ

VCN管理者グループがVCNアタッチメントを作成および管理し、DRGルート表をアタッチメントに割り当てる場合は、次のポリシーを実装します:

define group VcnAdmin as <vcnAdminGroupOcid>

Allow group VcnAdmin to manage vcns in tenancy
Allow group VcnAdmin to manage drgs in tenancy
ノート

VCNルート表をアタッチメントに関連付けるには、次の行を追加します:
Allow group VCN-Admin to manage route-tables in tenancy

他のテナンシのVCNsへのアタッチ

「クロス・テナンシ・アタッチメント」は、DRGを別のテナンシのVCNに直接接続するために使用されるが、同じリージョンに配置される特別なVCNアタッチメントです。VCNは、別のテナンシのDRGにアタッチされています。このポリシーの例では、このタイプの接続を許可するための両方のテナンシの最小IAMポリシー要件の詳細を示します。

このポリシー・セットの例では、次のアクション・セットを使用できます:

  • DRGテナント内のDRG管理者は、VCNテナントにDRGアタッチメントを作成できます。
  • VCNテナントのVCN管理者は、VCNルート表をアタッチメントに関連付けることができます(アタッチされたVCNが転送VCNの場合に使用されます)。VCN管理者がVCNテナント内のすべてのリソースを管理するポリシーを持っている場合、VCNアタッチメントはVCNテナンシに存在するため、すでにこの権限を持っています。
  • VCN管理者は、DRGアタッチメントのDRGルート表アソシエーションを変更できません。
  • Policy R (このテナンシのDRG)

    define group vcnAdmin as <vcnAdminGroupOcid>
    define group drgAdmin as <drgAdminGroupOcid>
    define tenancy acceptorVCN as <acceptorTenancyOcid>
    
    endorse group drgAdmin to manage drg-attachment in tenancy acceptorVCN
    admit group vcnAdmin of tenancy acceptorVCN to manage drg in tenancy 

    vcnAdminGroupOcidは、アクセプタ・テナンシ内のvcnAdminグループのOCIDで、アクセプタ・ポリシーで承認されます。

  • ポリシーA (このテナンシのVCN)

    define tenancy requestorDRG as <requestorTenancyOcid>
    define group drgAdmin as <drgAdminGroupOcid>
    define group vcnAdmin as <vcnAdminGroupOcid>
    
    admit group drgAdmin of tenancy requestorDRG to manage drg-attachment in tenancy
    endorse group vcnAdmin to manage drg in tenancy requestorDRG

    drgAdminGroupOcidは、リクエスタ・テナンシのdrgAdminグループのOCIDで、リクエスタ・ポリシーで承認されます。