Автоматизація експорту даних облікових записів SentinelOne: Python скрипт для отримання даних про імена облікових записів, ID та зовнішні ID SentinelOne

Чому автоматизувати експорт даних облікових записів SentinelOne?

Коли ви працюєте з обліковими записами SentinelOne, важливо витягувати та організовувати імена облікових записів, ID та зовнішні ID. Витягнення цих даних вручну може бути громіздким і схильним до помилок, особливо в середовищах з великою кількістю облікових записів.

Як використовувати цей скрипт

  1. Замініть заповнювачі на шлях до вашого API токену, URL консолі та каталог виведення.
  2. Запустіть скрипт у вашому середовищі Python.
  3. Перевірте каталог виведення на наявність файлу 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)

Leave a Reply

Your email address will not be published. Required fields are marked *