IPネットワークのセキュリティ・ルールの作成
/network/v1/secrule/
指定した方向(たとえば、イングレス)でセキュリティ・ルールを作成する際、反対の方向(この場合はエグレス)の対応するセキュリティ・ルールも作成する必要があります。 トラフィックが1つの方向で許可されるとき、反対方向のレスポンスまたは確認パケットも許可されることを確認するために、これは一般的に必要です。
セキュリティ・ルールの作成時に、そのセキュリティ・ルールが属するACLを指定します。 ACLはvNICsetに適用されます。 複数のACLを1つのvNICsetに適用でき、各ACLを複数のvNICsetに適用できます。 ACLがvNICsetに適用されると、そのACLに属するすべてのセキュリティ・ルールが、vNICsetで指定されているすべてのvNICに適用されます。
セキュリティ・ルールでは、次のパラメータを指定できます。
* フローの方向 - イングレスまたはエグレス
* (オプション) ソースvNICsetまたはソースIPアドレス・プレフィックス・セットのリスト(あるいはその両方)
* (オプション) 宛先vNICsetまたは宛先IPアドレス・プレフィックス・セットのリスト(あるいはその両方)
* (オプション) セキュリティ・プロトコルのリスト
* (オプション) このルールを含むACLの名前
* (オプション) セキュリティ・ルールを無効化するオプション
必要なロール: このタスクを実行するには、Compute_Operations
のロールが必要です。 このロールが割り当てられていない、または割当てが不明な場合は、システム管理者に連絡してロールがユーザーにOracle Cloud My Servicesで割り当てられるようにしてください。 Oracle Cloudの管理および監視のユーザー・ロールの変更に関する項を参照してください。
リクエスト
- application/oracle-compute-v3+json
- Cookie: string
Cookie:ヘッダーは、サービスに対するすべてのリクエストに含まれる必要があります。 それをPOST /authenticate/コールに対して受信されたレスポンス内のset-cookieヘッダーの値に設定してください。
object
- acl(optional): string
このセキュリティ・ルールを追加するアクセス制御リスト(ACL)の3つの部分からなる名前を選択します。 セキュリティ・ルールはACLを使用してvNICセットに適用されます。
- description(optional): string
セキュリティ・ルールの説明。
- dstIpAddressPrefixSets(optional): array dstIpAddressPrefixSets
トラフィックを許可する宛先としてのIPアドレス接頭辞セットのリスト。 指定したIPアドレス接頭辞セットのIPアドレスへのパケットのみが許可されます。 宛先のIPアドレス接頭辞セットを指定しない場合は、すべてのIPアドレスへのトラフィックが許可されます。
- dstVnicSet(optional): string
トラフィックを許可する先のvNICset。 指定したvNICsetのvNICへのパケットのみが許可されます。 宛先のvNICsetを指定しない場合は、すべてのvNICへのトラフィックが許可されます。
- enabledFlag(optional): boolean
セキュリティ・ルールを有効または無効にできます。 このパラメータはデフォルトでtrueに設定されます。 セキュリティ・ルールを無効化するにはfalseを指定します。
- flowDirection: string
このセキュリティ・ルールの、インスタンスに相対的なトラフィックのフローの方向を指定します。 有効な値は、
ingress
またはegress
です。イングレス・パケットは、たとえば、別の仮想NICまたはパブリック・インターネットから、仮想NICによって受信されるパケットです。
エグレス・パケットは、たとえば、別の仮想NICまたはパブリック・インターネットへ、仮想NICによって送信されるパケットです。
- name: string
IPアドレスの関連付けの3つの部分からなる名前(/Compute-identity_domain/user/object)。
オブジェクト名には、英数字、アンダースコア(_)およびハイフン(-)のみを含めることができます。 オブジェクト名は大文字と小文字が区別されます。 オブジェクト名を指定する際には、同じタイプで同じ名前のオブジェクトがすでに存在していないことを確認してください。 そのようなオブジェクトがすでに存在する場合、同じ名前で同じタイプの別のオブジェクトは作成されず、既存のオブジェクトは更新されません。
- secProtocols(optional): array secProtocols
トラフィックを許可するセキュリティ・プロトコルのリスト。 指定したプロトコルおよびポートに一致するパケットのみが許可されます。 セキュリティ・プロトコルを指定しない場合は、すべてのプロトコルおよびポートでトラフィックが許可されます。
- srcIpAddressPrefixSets(optional): array srcIpAddressPrefixSets
トラフィックを許可するソースとしてのIPアドレス接頭辞セットのリスト。 指定したIPアドレス接頭辞セットのIPアドレスからのパケットのみが許可されます。 ソースのIPアドレス接頭辞セットを指定しない場合は、すべてのIPアドレスからのトラフィックが許可されます。
- srcVnicSet(optional): string
トラフィックを許可する元のvNICset。 指定したvNICsetのvNICからのパケットのみが許可されます。 ソースのvNICsetを指定しない場合は、すべてのvNICからのトラフィックが許可されます。
- tags(optional): array tags
セキュリティ・ルールのタグ付けに使用可能な文字列。
array
array
array
レスポンス
- application/oracle-compute-v3+json
201レスポンス
- set-cookie: string
セッションが拡張された場合、Cookie値が返されます。
object
- acl(optional): string
このルールを含むACLの名前。
- description(optional): string
オブジェクトの説明。
- dstIpAddressPrefixSets(optional): array dstIpAddressPrefixSets
パケットの宛先IPアドレスに一致するIPアドレス・プレフィックス・セット名のリスト。
- dstVnicSet(optional): string
パケットの宛先仮想NICを含む仮想NICセットの名前。
- enabledFlag(optional): boolean
セキュリティ・ルールを無効化できます。
- flowDirection(optional): string
フローの方向。"egress"または"ingress"に設定できます。
- name(optional): string
セキュリティ・ルールの名前。
- secProtocols(optional): array secProtocols
パケットのプロトコルおよびポートに一致するセキュリティ・プロトコル・オブジェクト名のリスト。
- srcIpAddressPrefixSets(optional): array srcIpAddressPrefixSets
パケットのソースIPアドレスに一致するIPアドレス・プレフィックス・セットのマルチパート名のリスト。
- srcVnicSet(optional): string
パケットのソース仮想NICを含む仮想NICセットの名前。
- tags(optional): array tags
オブジェクトに関連付けられているタグ。
- uri(optional): string
Uniform Resource Identifier
array
例
cURLコマンド
次の例では、cURLを使用してRESTリソースに対するPOSTリクエストを発行することによって、セキュリティ・ルールを作成する方法を示しています。 cURLの詳細は、「cURLの使用」を参照してください。
コマンドを1行で入力します。 この例では、読みやすくするために改行が使用されています。
curl -i -X POST -H "Cookie: $COMPUTE_COOKIE" -H "Content-Type: application/oracle-compute-v3+json" -H "Accept: application/oracle-compute-v3+json" -d "@requestbody.json" https://api-z999.compute.us0.oraclecloud.com/network/v1/secrule/
-
COMPUTE_COOKIE
は、前の手順で認証cookieを格納した変数の名前です。 認証クッキーの取得および変数への格納の詳細は、認証を参照してください。 -
api-z999.compute.us0.oraclecloud.com
はRESTエンドポイントURLの例です。 この値をCompute ClassicサイトのRESTエンドポイントURLに変更します。 サイトのRESTエンドポイントURLを見つける方法については、「リクエストの送信」を参照してください。
リクエスト本文の例
次は、requestbody.json
ファイルのリクエスト本文のコンテンツの例です。
{ "name": "/Compute-acme/jack.jones@example.com/secrule1", "flowDirection": "egress", "description": "Sample security rule", "acl": "/Compute-acme/jack.jones@example.com/acl1", "srcVnicSet": "/Compute-acme/jack.jones@example.com/vnicset1", "dstVnicSet": "/Compute-acme/jack.jones@example.com/vnicset2", "secProtocols": ["/Compute-acme/jack.jones@example.com/secprotocol1"], "srcIpAddressPrefixSets": ["/Compute-acme/jack.jones@example.com/ipaddressprefixset1"] }
レスポンス本文の例
次の例は、レスポンス本文をJSON形式で示しています。
{ "name": "/Compute-acme/jack.jones@example.com/secrule1", "uri": "https://api-z999.compute.us0.oraclecloud.com:443/network/v1/secrule/Compute-acme/jack.jones@example.com/secrule1", "description": "Sample security rule", "tags": null, "acl": "/Compute-acme/jack.jones@example.com/acl1", "flowDirection": "egress", "srcVnicSet": "/Compute-acme/jack.jones@example.com/vnicset1", "dstVnicSet": "/Compute-acme/jack.jones@example.com/vnicset2", "srcIpAddressPrefixSets": ["/Compute-acme/jack.jones@example.com/ipaddressprefixset1"] "dstIpAddressPrefixSets": null, "secProtocols": ["/Compute-acme/jack.jones@example.com/secprotocol1"], "enabledFlag": true }