ポリシーを使用して、1つ以上の Server & Workload Protection モジュールを使用してコンピュータを保護します。
ヒント |
APIを使用する前に、ポリシーに関する基本的な概念を理解しておく必要があります。背景情報については、を参照してください。コンピュータやその他のリソースを保護するポリシーを作成する。
ポリシーの作成
使用している Server & Workload Protection モジュールの動作を定義するポリシーを作成し、Agent/Manager通信、検索動作、ログ、イベント保持、ネットワークエンジン設定などのポリシー設定を行います。ポリシーを作成したら、そのポリシーを1台以上のコンピュータに割り当てることができます。
ポリシーを作成するには
Policy
オブジェクトのプロパティを設定して動作を定義し、PoliciesApi
classを使用して Server & Workload Protectionに追加します。ポリシーは階層的であるため、ポリシーを作成するときは、親ポリシーのIDを指定する必要があります。 (最上位ポリシーを作成するには、IDに0を使用します)。は
Policy
オブジェクトは、多くのポリシープロパティへのアクセスを提供します。-
親ポリシーのID
-
ポリシーがルールを適用するインタフェース
-
推奨設定の検索を継続的に実行するかどうか
-
ポリシーの変更をコンピュータに自動的に送信するかどうか (AutoRequiresUpdate)
-
ポリシー設定
ヒント使用可能なポリシーの対応を表示するには、ポリシーの説明操作については、 APIレファレンス/参照情報を参照してください。
|
この例では、基本ポリシーの下にポリシーを作成します。検索では、基本ポリシーを取得してそのIDを取得します。このIDは、新しいポリシーの親として使用されます。 (検索条件と検索フィルタの作成は表示されません)。
# Search for the Base Policy policies_api = api.PoliciesApi(api.ApiClient(configuration)) policy_search_results = policies_api.search_policies(api_version, search_filter=search_filter) # Set the parent ID of the new policy to the ID of the Base Policy new_policy.parent_id = policy_search_results.policies[0].id # Add the new policy to Server & Workload Protection created_policy = policies_api.create_policy(new_policy, api_version)Server & Workload Protection created_policy = policies_api.create_policy(new_policy, api_version)
は
Policy
作成されたオブジェクトには、モジュール設定または設定値が含まれていません。設定を省略すると、値は親ポリシーから継承されます。したがって、作成されるポリシーは、基本ポリシーからほとんどすべての動作を継承します。また、ポリシーIDは不変であるため、ポリシーのIDがわかっている場合は、検索の代わりにそのIDを使用できます。APIを使用してポリシーを操作するには、
/api/policies
エンドポイント。 (ポリシー操作のグループについては、「 APIレファレンス/参照情報」を参照してください。)検索の詳細については、を参照してください。リソースの検索。 API呼び出しの認証の詳細については、を参照してください。 Server & Workload Protectionによる認証。
ポリシーをコンピュータに割り当てる
ポリシー設定とセキュリティモジュールの設定に従ってコンピュータを保護するポリシーをコンピュータに割り当てます。
-
作成する
Computer
オブジェクト。 -
オブジェクトで使用するポリシーIDを設定します。
-
使用する
ComputersApi
Server & Workload Protection上のコンピュータをアップデートするオブジェクト。
次の例では、コンピュータにポリシーを割り当てます。検索では、コンピュータに割り当てられているポリシーのIDを取得するためのポリシーを取得します。 (検索条件と検索フィルタの作成は表示されません)。
# Perform the search policy_search_results = policies_api.search_policies(api_version, search_filter=search_filter) # Assign the policy to the computer computer.policy_id = policy_search_results.policies[0].id
ヒントまた、ポリシーの変更操作については、 APIレファレンス/参照情報を参照してください。
|
ヒントポリシーはコンピュータレベルで上書きできます。参照ポリシーを上書きするようにコンピュータを設定する。
|
ポリシーと初期設定のポリシーを設定する
ポリシー設定は、保護モジュールと Server & Workload Protection プラットフォームの動作の多くを制御します。したがって、APIを使用して自動化する多くのタスクでは、ポリシー設定を行う必要があります。
ポリシーと初期設定のポリシー設定のリストについては、を参照してください。初期設定のポリシー、ポリシー、およびコンピュータ設定をレファレンス/参照情報してください。
初期設定値とオーバーライド
Server & Workload Protection ポリシーは階層型です。階層内のポリシーの場所によって、設定の初期設定値が決まります。
-
[最上位ポリシー:] 一連の初期設定ポリシー設定では、すべての最上位ポリシーの初期設定値を定義します。
-
[子ポリシー:] デフォルト値は、親ポリシーから継承されます。
ポリシーの任意の設定を構成して、初期設定を上書きできます。したがって、初期設定のポリシー設定は、ポリシーによって上書きされるまで、下位の階層のポリシーに継承されます。
ポリシーの階層と継承の詳細については、を参照してください。ポリシー、継承、およびオーバーライド。
ポリシー設定と初期設定のポリシー設定クラス
Server & Workload Protection SDKには、ポリシーおよび初期設定のポリシー設定を保存するための次のクラスが用意されています。これらのクラスは、 Server & Workload Protection とSDKまたはAPIクライアントとの間で設定値を渡すために使用されます。
-
DefaultPolicySettings
: すべての初期設定のポリシー設定の値が保存されます。 -
PolicySettings
: 特定のポリシーの設定値が格納されます。
の設定
DefaultPolicySettings
そしてPolicySettings
いくつかの例外を除いて、クラスは同じです。 (「初期設定のポリシー、ポリシー、およびコンピュータ設定をレファレンス/参照情報してください)。ポリシー設定または初期設定のポリシー設定の値を取得する
は
PoliciesApi
クラスを使用すると、ポリシーまたは初期設定のポリシー設定の1つの設定の値を取得できます。ポリシーについては、設定の有効値またはオーバーライド値を取得できます。-
[有効な設定:] ポリシーに使用されている値。この値は継承されているか、このポリシー専用に設定されている (上書きされている) かのいずれかです。
-
[オーバーライド:] このポリシー専用に設定された値。値がない場合は、設定値が継承されます。
最上位ポリシーの初期設定値を確認する場合は、初期設定を取得します。
設定値を取得する場合は、名前で設定を識別します。値は次のように返されます。
SettingValue
オブジェクト。ポリシーと初期設定のポリシー設定のリストについては、を参照してください。初期設定のポリシー、ポリシー、およびコンピュータ設定をレファレンス/参照情報してください。次の例では、ポリシーのファイアウォールネットワークエンジンモードを取得します。
# Get the policy details from Server & Workload Protection policies_api = api.PoliciesApi(api.ApiClient(configuration)) return policies_api.describe_policy_setting(policy_id, api.PolicySettings.firewall_setting_network_engine_mode, api_version, overrides=False)Server & Workload Protection policies_api = api.PoliciesApi(api.ApiClient(configuration)) return policies_api.describe_policy_setting(policy_id, api.PolicySettings.firewall_setting_network_engine_mode, api_version, overrides=False)
ヒント初期設定のポリシー設定の値を取得するには、
describe_default_setting メソッド。 |
すべてのポリシー設定または初期設定のポリシー設定を一覧表示する
すべてのポリシー設定と初期設定のポリシー設定を1回の呼び出しで取得できます。 Server & Workload Protection から設定を取得する方法は、設定クラスによって異なります。
-
[初期設定のポリシー設定:]
PoliciesApi
取得するオブジェクトDefaultPolicySettings
マネージャからのオブジェクトです。 -
[ポリシー設定:]
PoliciesApi
Server & Workload Protection からポリシーを取得するオブジェクトPolicy
オブジェクト。次に、PolicySettings
からのオブジェクトPolicy
オブジェクト。
例については、初期設定のポリシー設定の一覧表示そしてポリシーの説明オペレーションについては、 APIレファレンス/参照情報の「ポリシー」セクションを参照してください。
単一のポリシーまたは初期設定のポリシー設定を構成する
は
PoliciesApi
クラスを使用すると、ポリシーまたは初期設定のポリシー設定に対して単一の設定値を設定できます。手順
- 作成する
SettingValue
オブジェクトと値を設定します (値はすべて文字列です)。設定が選択肢のリストから1つの値を受け入れる場合は、選択肢のID、または Server & Workload Protection コンソールに表示される選択肢の正確な表現を使用できます。 - 作成する
PoliciesApi
オブジェクトと組み合わせて使用します。SettingValue
オブジェクトを使用して、ポリシー設定または初期設定を変更します。ポリシー設定を変更する場合は、ポリシーIDも指定します。
次に進む前に
次の例では、ポリシーのファイアウォールネットワークエンジンモードの値を設定します。
# Create a SettingValue object and set the value to either "Inline" or "Tap" network_engine_mode_value = api.SettingValue() network_engine_mode_value.value = "Inline" # Modify the setting on Server & Workload Protection policies_api = api.PoliciesApi(api.ApiClient(configuration)) return policies_api.modify_policy_setting(policy_id, api.PolicySettings.firewall_setting_network_engine_mode, network_engine_mode_value, api_version, overrides=False)Server & Workload Protection policies_api = api.PoliciesApi(api.ApiClient(configuration)) return policies_api.modify_policy_setting(policy_id, api.PolicySettings.firewall_setting_network_engine_mode, network_engine_mode_value, api_version, overrides=False)
ヒント初期設定のポリシー設定の値を設定するには、
modify_default_setting メソッド。 |
また、ポリシー設定の変更操作については、 APIレファレンス/参照情報を参照してください。
複数のポリシーと初期設定のポリシーを設定する
複数のポリシー設定または初期設定のポリシー設定を行うには、まず設定ごとに設定オブジェクトを作成し、値を設定します。
手順
- 作成する
SettingValue
オブジェクトと値を設定します (値はすべて文字列です)。設定が選択肢のリストから1つの値を受け入れる場合は、選択肢のID、または Server & Workload Protection コンソールに表示される選択肢の正確な表現を使用できます。 - 設定クラス (
DefaultPolicySettings
またはDefaultPolicySettings
)。 - 設定の値を
SettingValue
オブジェクト。
次に進む前に
必要な数の設定の値を同じ
DefaultPolicySettings
またはPolicySettings
オブジェクト。どちらの設定クラスでも、 Server & Workload Protection での設定の変更方法は少し異なります。
-
[初期設定のポリシー設定:]
PoliciesApi
変更するオブジェクトDefaultPolicySettings
Manager上のオブジェクト。 -
[ポリシー設定:]
PolicySettings
に反対するPolicy
オブジェクト。次に、PoliciesApi
クラスを使用して、Managerのポリシーを変更します。
の設定
DefaultPolicySettings
またはPolicySettings
値を持たないオブジェクトは、 Server & Workload Protectionでは変更されません。Server & Workload Protection は、値を保持する前に、変更されたすべての設定を検証します。オブジェクトの1つ以上の設定が無効な場合、変更された設定は保持されません。エラー対応には、各失敗の理由が含まれます。
注意 Server & Workload Protection は、設定値を検証するときに、相互に依存する設定が一致するかどうかを確認しません。
|
次の例では、ポリシーに対して2つの設定を行い、フェールオープンモードまたはフェールクローズモードのいずれかの動作を有効にします。
# Create the SettingValue objects failure_response_engine_system = api.SettingValue() failure_response_packet_sanity_check = api.SettingValue() # Set the values if fail_open: failure_response_engine_system.value = failure_response_packet_sanity_check.value = "Fail open" else: failure_response_engine_system.value = failure_response_packet_sanity_check.value = "Fail closed" # Set the setting values and add to a policy policy_settings = api.PolicySettings() policy_settings.firewall_setting_failure_response_engine_system = failure_response_engine_system policy_settings.firewall_setting_failure_response_packet_sanity_check = failure_response_packet_sanity_check policy = api.Policy() policy.policy_settings = policy_settings # Modify the policy on Server & Workload Protection. policies_api = api.PoliciesApi(api.ApiClient(configuration)) return policies_api.modify_policy(policy_id, policy, api_version, overrides=False)Server & Workload Protection. policies_api = api.PoliciesApi(api.ApiClient(configuration)) return policies_api.modify_policy(policy_id, policy, api_version, overrides=False)
システム設定の例については、を参照してください。 Server & Workload Protection システム設定の構成。
ポリシーのオーバーライドのリセット
ポリシーの上書きをリセットして、親ポリシーのプロパティまたは設定値 (最上位ポリシーの場合は初期設定のポリシー設定) を継承します。ポリシーの上書きをリセットする方法は、プロパティまたは設定の種類によって異なります。
ヒント通常、このセクションの情報はコンピュータにも適用されます。ポリシー固有のクラスを使用する場合は、コンピュータ固有のクラスを使用します。たとえば、
PoliciesApi そしてPolicySettings を使用します。ComputersApi そしてComputerSettings 。 |
ID参照のリセット
ID参照のオーバーライドをリセットして値を継承するには、ポリシーを変更し、プロパティの値を0に設定します。ID参照は、別の項目のIDを値として使用するプロパティです。
たとえば、不正プログラム対策のリアルタイム検索の設定この例では、ポリシーのrealTimeScanConfigurationIDをオーバーライドします。プロパティをリセットして親ポリシーの値を継承するには、次のように設定します。
realTimeScanConfigurationID
に0
。設定をリセットする
は
PoliciesApi
クラスには、単一のポリシー設定をリセットするためのメソッドが用意されています。例については、 APIレファレンス/参照情報。複数のポリシー設定を同時にリセットするには、
PolicySettings
オブジェクトPoliciesApi
設定値を空の文字列に設定します。たとえば、ファイアウォールの設定の値を上書きします。FirewallSettingReconnaissanceEnabled
ポリシーの設定。親ポリシーから値を継承するように設定をリセットするには、値を""
。セキュリティモジュールのステータスのリセット
セキュリティモジュールのステータスをリセットするには、ポリシーを変更し、モジュールのステータスの値を
inherited
。たとえば、アプリケーションコントロールを有効にする例では、アプリケーションコントロールモジュールのステータスプロパティをオーバーライドして、
on
をクリックします。親ポリシーの値を継承するように設定をリセットするには、ステータス値をinherited
。ルールをリセットする
ルールのオーバーライドは、ポリシーに追加されたルールが元のルールから変更されたときに実行されます。ルールのすべてのオーバーライドをリセットすることも、オーバーライドを選択的にリセットすることもできます。
ヒントルールがポリシーに割り当てられている場合、親ポリシーにルールが割り当てられているかどうかにかかわらず、そのルールはオーバーライドとは見なされません。
|
ルールのすべてのオーバーライドをリセットする
各モジュール固有のポリシールールの詳細クラス (
FirewallRulesDetailsApi
,PolicyIntegrityMonitoringRulesDetailsApi
,PolicyIntrusionPreventionRuleDetailsApi
、およびPolicyLogInspectionRulesDetailsApi
) 特定のポリシーに割り当てられているルールのすべてのオーバーライドをリセットする方法を提供します。コード例を表示するには、 APIレファレンス/参照情報、および操作のコード例を参照してください。
ルールの上書きを選択的にリセットする
ルールの一部のプロパティのみをリセットするには、次の手順を実行します。
手順
- ポリシーのルールのすべてのオーバーライドを取得します。を使用します。
describe
モジュール固有のルール詳細クラスのメソッドと、overrides
パラメータの設定true
。結果を保存します。 (「 Overridesパラメータについて.) - ルールのオーバーライドをすべてリセットします。
- 保持するオーバーライドを新しいルールに復元します。
- オーバーライドを使用してポリシールールを変更します。
次に進む前に
次の例では、ポリシーのセキュリティログインスペクションルールオーバーライドのサブセットをリセットします。
policy_log_inspection_rule_details_api = api.PolicyLogInspectionRuleDetailsApi(api.ApiClient(configuration)) # Get the rule overrides rule_overrides = policy_log_inspection_rule_details_api.describe_log_inspection_rule_on_policy(policy_id, rule_id, api_version, overrides=True) # Reset the rule policy_log_inspection_rule_details_api.reset_log_inspection_rule_on_policy(policy_id, rule_id, api_version, overrides=False) # Add the desired overrides to a new rule li_rule_overrides_restored = api.LogInspectionRule() if rule_overrides.alert_minimum_severity: li_rule_overrides_restored.alert_minimum_severity = rule_overrides.alert_minimum_severity if rule_overrides.recommendations_mode: li_rule_overrides_restored.recommendations_mode = rule_overrides.recommendations_mode # Modify the rule on Server & Workload Protection return policy_log_inspection_rule_details_api.modify_log_inspection_rule_on_policy(policy_id, rule_id, li_rule_overrides_restored, api_version, overrides=False)Server & Workload Protection return policy_log_inspection_rule_details_api.modify_log_inspection_rule_on_policy(policy_id, rule_id, li_rule_overrides_restored, api_version, overrides=False)