User Creation in PPC
Update PPC role permissions, authenticate with the gateway, and create an Synthetic Data administrator user for API access.
Warning: Use the
-kflag only in development or trusted internal environments. Do not use it in production, where valid certificates must be configured.
Role Update and User Creation
After deployment, update the default syntheticdata_administrator role to include can_create_token permission. Then create a user with this role.
1. Update syntheticdata_administrator role permission
export GATEWAY_URL="https://$(kubectl get configmap/nfa-config -n default -o jsonpath='{.data.FQDN}')"
# 1. Obtain an Authentication Token
TOKEN=$(curl -sk -X POST "${GATEWAY_URL}/api/v1/auth/login/token" \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'loginname=admin&password=Admin123!' \
-D - -o /dev/null | grep -i 'pty_access_jwt_token' | awk '{print $2}' | tr -d '\r\n')
curl -sk -X PUT \
"${GATEWAY_URL}/pty/v1/auth/roles" \
-H 'accept: application/json' \
-H "Authorization: Bearer ${TOKEN}" \
-H 'Content-Type: application/json' \
-d '{
"name": "syntheticdata_administrator",
"description": "Administrator role",
"permissions": [
"can_create_token",
"syntheticdata_operations_admin"
]
}'
2. Create a user with the syntheticdata_administrator role attached
Use the following request payload when creating the user:
{
"username": "syntheticdata_admin",
"email": "synthadmin@example.com",
"firstName": "Synth",
"lastName": "<USERNAME>",
"password": "<PASSWORD>",
"roles": [
"syntheticdata_administrator"
]
}
Note: Replace default credentials and URLs for production environments. For example, for
<USERNAME>, enterUserand for<PASSWORD>, enterStrongPassword123!.
Create the user with the following API call:
curl -sk -X POST \
"${GATEWAY_URL}/pty/v1/auth/users" \
-H 'accept: application/json' \
-H "Authorization: Bearer ${TOKEN}" \
-H 'Content-Type: application/json' \
-d '{
"username": "syntheticdata_admin",
"email": "synthadmin@example.com",
"firstName": "Synth",
"lastName": "<USERNAME>",
"password": "<PASSWORD>",
"roles": [
"syntheticdata_administrator"
]
}'
Feedback
Was this page helpful?