매개변수를 사용자 정의 조치 스크립트로 전달
Bash, Python 및 Perl의 샘플 스크립트에서는 매개변수를 사용자 정의 조치 스크립트로 전달하는 방법을 보여줍니다.
다음과 같은 간단한 샘플 스크립트는 제공된 오펜스 소스 IP 주소를 사용하여 자산의 자산 모델 API를 조회하는 방법을 보여줍니다. 이 예제를 위해, 이 스크립트는 엔트포인트에서 리턴하는 JSON을 출력합니다.
이 스크립트에는 3개의 매개변수가 필요합니다.
- 콘솔 IP 주소
- API 토큰
- 오펜스 소스 IP 주소
이 매개변수는 사용자 정의 조치 정의 창 스크립트 매개변수 영역에서 구성됩니다.

각 매개변수는 사용자 정의 조치 정의 창에서 추가된 순서대로 스크립트에 전달됩니다 이 경우:
- console_ip
- api_token
- offense_source_ip
중요: 이 예제에는 네트워크 이벤트 특성이 포함되어 있습니다. 예제 스크립트가 테스트 페이지에서 실행되도록 하려면 소스 IP 주소(xx.xx.xx.xx)를 고정 특성 값으로 offense_source_ip에 지정해야 합니다.
각 샘플 스크립트의 시작 부분에 정의되는 변수는 사용자 정의 조치 정의 창에 추가된 샘플 매개변수 이름을 사용합니다.
#!/bin/bash
console_ip=$1
api_token=$2
offense_source_ip=$3
auth_header="SEC:$api_token"
output=$(curl -k -H $auth_header https://$console_ip/console/restapi/api/
asset_model/assets?filter=interfaces%20contains%20%28%20ip_addresses
%20contains%20%28%20value%20%3D%20%22$offense_source_ip%22%29%29)
# Basic print out of the output of the command
echo $output
#!/usr/bin/python
import sys
import requests
console_ip = sys.argv[1]
api_token = sys.argv[2]
offense_source_ip = sys.argv[3]
auth_header = {'SEC' : api_token }
endpoint = "https://{0}/console/restapi/api/asset_model/
assets?filter=interfaces%20contains%20%28%20ip_addresses
%20contains%20%28%20value%20%3D%20%22{1}%22%29%29"
.format(console_ip, offense_source_ip)
response = requests.get(endpoint, headers=auth_header, verify=False)
# Basic print out of the output of the command
print(response.json())
#!/usr/bin/perl
use strict;
use warnings;
use LWP::UserAgent;
my $console_ip = $ARGV[0];
my $api_token = $ARGV[1];
my $offense_source_ip = $ARGV[2];
my $endpoint = "https://$console_ip/console/restapi/api/asset_model/
assets?filter=interfaces%20contains%20%28%20ip_addresses
%20contains%20%28%20value%20%3D%20%22$offense_source_ip%22%29%29";
my $client = LWP::UserAgent -> new(ssl_opts => { verify_hostname => 0 });
my $response = $client -> get($endpoint, "SEC" => $api_token);
# Basic print out of the output of the command
print $response -> decoded_content;