ポリシー構文
ゼロ・トラスト・パケット・ルーティング(ZPR)ポリシーは、1つ以上のポリシー・ステートメントで構成されます。ポリシー・ステートメントは、特定の構文で記述されたインテントの式です。
ZPRポリシー・ステートメントでは、次の構文およびルールを使用します:
<src-location> <command> <endpoint> to <verb> <endpoint>
<src-location>
は必須であり、in <security attribute> VCN.
<security attribute>
の形式で指定する必要があり、1つのセキュリティ属性のみにできます。<command>
はallowである必要があります。<endpoint>
は、security attribute、ip address、all-endpointsまたはosn-services-ip-endpointsである必要があります。<verb>
は接続先である必要があります。
たとえば、次のポリシー・ステートメントは、ソース・ロケーションで識別される同じVCN内のエンドポイントとの間のトラフィックを許可するインテントを表します:
in app:fin-network VCN allow app:web endpoints to connect to app:store endpoints
VCNの外部でイングレスまたはエグレスする場合、ZPRポリシーはセキュリティ属性ではなくIPアドレスを使用してクライアントを参照する必要があります。セキュリティ属性は、同じVCN内のエンドポイントを参照する場合にのみ使用できます。
ソースの場所は、セキュリティ属性によってVCNを識別し、それを参照するポリシーに従います。allow文は、そのセキュリティ属性を持つ各VCNに適用されます。
セキュリティ属性は、サブジェクト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内の指定されたセキュリティ属性セットを持つトラフィックのソースまたはターゲットを識別します。キーワードall-endpoints
は、セキュリティ属性があるかどうかに関係なく、サブジェクトVCNの内部または外部の任意のエンドポイントを示します:
app:fe-nodes endpoints
oracle-zpr.app:store endpoints
my-corp.biz:hr-web endpoints
'my-corp.biz:dev and test database' endpoints
ソースとターゲットの両方を
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 apps:app1 VCN allow '10.0.0.0/16' to connect to apps:app1 endpoints