Чому автоматизувати експорт даних облікових записів SentinelOne?
Коли ви працюєте з обліковими записами SentinelOne, важливо витягувати та організовувати імена облікових записів, ID та зовнішні ID. Витягнення цих даних вручну може бути громіздким і схильним до помилок, особливо в середовищах з великою кількістю облікових записів.
Як використовувати цей скрипт
- Замініть заповнювачі на шлях до вашого API токену, URL консолі та каталог виведення.
- Запустіть скрипт у вашому середовищі Python.
- Перевірте каталог виведення на наявність файлу
S1namewithExternalIdname.csv
, що містить дані облікових записів.
import requests
import pandas as pd
# Введення користувача
API_TOKEN = "" # Замініть на ваш SentinelOne API токен
S1_CONSOLE_URL = "" # Замініть на URL вашої консольної панелі SentinelOne (наприклад, https://yourcompany.sentinelone.net)
# Каталог виведення та ім'я файлу
OUTPUT_LOCATION = r"" # Замініть на бажаний каталог виведення (наприклад, r"C:\Dummy\Path\To\Output\Folder\\")
OUTPUT_FILENAME = "S1namewithExternalIdname.csv"
# Заголовки API
headers = {
"Content-type": "application/json",
"Authorization": f"APIToken {API_TOKEN}"
}
# Точка доступу API для облікових записів
accounts_endpoint = f"{S1_CONSOLE_URL}/web/api/v2.1/accounts?limit=1000"
# Ініціалізація списку для зберігання даних облікових записів
all_accounts = []
# Отримання початкових даних облікових записів
response = requests.get(accounts_endpoint, headers=headers).json()
accounts_data = response["data"]
next_cursor = response['pagination'].get('nextCursor')
# Збір даних облікових записів
while accounts_data:
for account in accounts_data:
all_accounts.append([account['name'].lower(), account['id'], account['externalId']])
if next_cursor:
next_url = f"{accounts_endpoint}&cursor={next_cursor}"
response = requests.get(next_url, headers=headers).json()
accounts_data = response["data"]
next_cursor = response['pagination'].get('nextCursor')
else:
break
# Створення DataFrame та експорт у CSV
df = pd.DataFrame(all_accounts)
output_header = ['Account Name', 'Account ID', 'External ID']
df.to_csv(f"{OUTPUT_LOCATION}{OUTPUT_FILENAME}", index=False, header=output_header)
print(f"Згенерований файл можна знайти за адресою {OUTPUT_LOCATION}")
Перекладено з: [Automating SentinelOne Account Data Export: A Python Script for SentinelOne Account Names, IDs, and External IDs Data Retrieval](https://cyberveda.medium.com/automating-sentinelone-account-data-export-9d7ed103007d)