ポリシー構文
Zero Trust Packet Routing (ZPR)ポリシーは、1つ以上のポリシー・ステートメントで構成されます。ポリシー・ステートメントは、特定の構文で記述されたインテントの式です。
ZPRポリシー構文は、ソースおよびターゲットVCNの場所によって異なりますが、セキュリティ属性の使用方法は関係なく同じです。詳細については、次のセクションを参照してください。
ZPRポリシーのセキュリティ属性
セキュリティ属性は、VCN内のVCNおよびエンドポイントを識別します。
セキュリティ属性は、セキュリティ属性ネームスペースと、ピリオドで区切られたセキュリティ属性キー、およびコロンで区切られた値で構成されます。
in applications.app:fin-networkの場合、値は次のようになります。 -
applicationsは、セキュリティ属性ネームスペースです。 -
appはセキュリティ属性キーです -
fin-networkは値です
セキュリティ属性ネームスペース、およびセキュリティ属性のキーと値は、特定の制限によって制約されます。重要なことは、セキュリティ属性ネームスペースおよびセキュリティ属性キーに空白文字またはピリオド文字を含めることができないことです。ただし、値にはスペース、ピリオドおよび一重引用符を含めることができます。値が許可された文字数を超えるセキュリティ属性を参照する場合、セキュリティ属性句全体が一重引用符で囲まれます。値内の一重引用符文字は、別の一重引用符文字でエスケープする必要があります。次に例を示します。
app:fin-network
oracle-zpr.app:fe-nodes
my-corp.biz:hr
'my-corp.biz:dev and test db'
セキュリティ属性のネームスペースを省略すると、ZPRはデフォルトで
oracle-zprネームスペースに設定されます。セキュリティ属性およびセキュリティ属性の使用に必要な権限の詳細は、セキュリティ属性を参照してください。
同じVCN内のエンドポイントのポリシー構文
ZPRポリシー・ステートメントは、ソースとターゲットが同じVCNに存在する場合、次の構文およびルールを使用します:
in <location> <command> <source endpoint> <verb> <destination endpoint>
-
<location>は必須であり、in <security attribute> VCNの形式である必要があります。<security attribute>は指定する必要があり、1つのセキュリティ属性のみにすることができます。 -
<command>はallowである必要があります。 -
<source endpoint>は、security attribute、ip address、all-endpointsまたはosn-services-ip-addressesである必要があります。 -
<verb>はto connect toである必要があります。 -
<destination endpoint>は、security attribute、ip address、all-endpointsまたはosn-services-ip-addressesである必要があります。
osn-services-ip-addressesは、OCIサービスで使用されるすべてのアドレス指定可能なIPv4およびIPv6 IP範囲を指します。たとえば、次のポリシー・ステートメントは、同じVCN内のエンドポイント間のトラフィックを許可する意図を表しています:
in app:fin-network VCN allow app:web endpoints to connect to app:store endpoints
VCNは、そのセキュリティ属性によって識別され、それを参照するポリシーの対象となります。allow文は、そのセキュリティ属性を持つ各VCNに適用されます。エンドポイント句は、VCN内の指定されたセキュリティ属性を持つトラフィックのソースまたはターゲットを識別します:
all-endpointsキーワードは、セキュリティ属性を保持するかどうかに関係なく、VCNの内部または外部のエンドポイントを示します。ソース・エンドポイントとターゲット・エンドポイントの両方をall-endpointにすることはできません。1つを識別する必要があります(エンドポイント属性リスト)。
ip-addressおよび許可される1つ以上のネットワーク・フィルタ属性(protocol、protocol.icmp.type、protocol.icmp.codeおよびconnection-state)をフィルタリングすることで、ポリシー内のエンドポイント間のトラフィックをさらに制限できます。
ip-addressまたはosn-services-ip-addressesには、ターゲットまたはソースを指定できます。ただし、ソース・エンドポイントとターゲット・エンドポイントの両方でip-addressおよびosn-services-ip-addressesを使用することはできません。ip-addressおよびosn-services-ip-addressesはソースまたはターゲットのいずれかである必要があります。たとえば:
in applications.apps:app1 VCN allow '10.0.0.0/16' to connect to apps:app1 endpoints
2つのVCNs内のエンドポイントのポリシー構文
ソースとターゲットのVCNが同じリージョンとテナンシに存在し、両方のVCNsでセキュリティ属性が使用されている場合、ZPRポリシー・ステートメントでは次の構文とルールが使用されます:
<command> <source endpoints> in <source location> to <verb> <destination endpoints> in <destination location>
-
<command>はallowである必要があります。 -
<source endpoint>はsecurity attributeである必要があります。 -
<source location>は必須であり、in <security attribute> VCN.<security attribute>の形式で指定する必要があり、1つのセキュリティ属性のみにすることができます。 -
<verb>はto connect toである必要があります。 -
<destination endpoint>はsecurity attributeである必要があります。 -
<destination location>は必須であり、in <security attribute> VCN.<security attribute>の形式で指定する必要があり、1つのセキュリティ属性のみにすることができます。
たとえば、次のポリシー・ステートメントは、同じリージョン内の2つのVCNs内のエンドポイントとの間のトラフィックを許可する意図を表しています:
allow applications.app:webserver endpoints in applications.vcn:A VCN to connect to database.database:MySQL endpoints in database.vcn:B VCN
VCNsは、セキュリティ属性によって識別され、それらを参照するポリシーの対象となります。allow文は、これらのセキュリティ属性を持つ各VCNに適用されます。エンドポイント句は、VCN内の指定されたセキュリティ属性を持つトラフィックのソースまたはターゲットを識別します:
許可される1つ以上のネットワーク・フィルタ属性(protocol、protocol.icmp.type、protocol.icmp.codeおよびconnection-state)でフィルタすることにより、エンドポイントとの間のトラフィックをポリシーでさらに制限できます。
その他のシナリオのポリシー構文
セキュリティ属性(別のVCN、別のリージョン、オンプレミス・ネットワーク、インターネットなど)が定義されていないソースまたは宛先との間のトラフィックを許可するには、単一のVCNポリシー構文を使用して、ZPRポリシーのIPアドレスまたはCIDRブロックを指定します。
たとえば、次のポリシー・ステートメントは、リソースが存在する場所やセキュリティ属性が適用されているかどうかに関係なく、指定されたIPアドレスでエンドポイントとのトラフィックを許可する目的を表します。
in front-end:network VCN allow loadbalancer:web to connect to '0.0.0.0/0'