Security Management Examples
Examples for managing users and groups via the EPMware API.
User Management
import requests
import csv
class SecurityManager:
"""Manage EPMware users and groups"""
def __init__(self, base_url, token):
self.base_url = base_url
self.headers = {'Authorization': f'Token {token}'}
def create_user(self, user_data):
"""Create new SSO user"""
url = f"{self.base_url}/service/api/security/users/sso/create"
response = requests.post(url, json=user_data, headers=self.headers)
return response.json()
def bulk_create_users(self, csv_file):
"""Create multiple users from CSV"""
results = []
with open(csv_file, 'r') as f:
reader = csv.DictReader(f)
for row in reader:
user_data = {
'userName': row['username'],
'email': row['email'],
'firstName': row['first_name'],
'lastName': row['last_name'],
'groups': row['groups'].split(';')
}
result = self.create_user(user_data)
results.append(result)
return results
def assign_groups(self, username, groups):
"""Assign user to groups"""
url = f"{self.base_url}/service/api/security/users/sso/assign_groups"
payload = {
'userName': username,
'groups': groups
}
response = requests.post(url, json=payload, headers=self.headers)
return response.json()
# Usage
security = SecurityManager('https://demo.epmwarecloud.com', 'your-token')
# Create single user
new_user = {
'userName': 'JDOE',
'email': 'jdoe@company.com',
'firstName': 'John',
'lastName': 'Doe'
}
result = security.create_user(new_user)
# Assign to groups
security.assign_groups('JDOE', ['FIN_ANALYSTS', 'REPORT_VIEWERS'])