使用Snowflake的REST API可以访问审计记录。可以将它们作为JSON对象检索到SIEM中,以便在安全塔中进行审计和监视。以下是一个示例代码,可用于从Snowflake API中检索审计记录:
import requests
import json
# set snowflake credentials
account = 'your_account_name'
user = 'your_user_name'
password = 'your_password'
warehouse = 'your_warehouse_name'
database = 'your_database_name'
schema = 'your_schema_name'
# authentication request
url = 'https://{}.snowflakecomputing.com/session/v1/login-json'.format(account)
data = {'data': {'LOGIN_NAME': user, 'PASSWORD': password, 'ACCOUNT_NAME': account, 'WAREHOUSE': warehouse, 'DATABASE': database, 'SCHEMA': schema}}
response = requests.post(url, data=json.dumps(data))
auth_data = json.loads(response.content)
# get audit records
url = 'https://{}.{}/v1/query-result/get-snapshot?type=audit&from=&to='.format(account, auth_data['data']['SESSION_INFO']['ORGANIZATION_NAME'])
headers = {'Content-Type': 'application/json', 'Authorization': 'Basic {}'.format(auth_data['data']['SESSION_INFO']['SESSION_TOKEN'])}
response = requests.get(url, headers=headers)
audit_data = json.loads(response.content)
从此代码片段中,您可以使用audit_data
变量来处理Snowflake审计记录并将其推送到SIEM中进行监视和审核。