Template for setting custom property values on existing entities in the Veza authorization graph
json_datajq -Rs .payload.json{
"enriched_entity_property_definitions": [
{
"entity_type": "AwsIamRole",
"enriched_properties": {
"my_company_id": "STRING",
"company_purpose": "STRING",
"is_compliance_validated": "BOOLEAN"
}
},
{
"entity_type": "AwsIamUser",
"enriched_properties": {
"company_purpose": "STRING"
}
}
],
"enriched_entities": [
{
"type": "AwsIamRole",
"id": "arn:aws:iam::339083562601:role/Administrator",
"data_source_id": "339083562601:awsiam",
"properties": {
"my_company_id": "DCFB16CD-A044-4787-9165-1C926221F887",
"company_purpose": "Built in Admin role",
"is_compliance_validated": true
}
},
{
"type": "AwsIamRole",
"id": "arn:aws:iam::650251689811:role/andrew_s3_all",
"data_source_id": "339083562601:awsiam",
"properties": {
"my_company_id": "A3F40BAC-1871-4EFC-A0EE-CD77E3F513C27",
"company_purpose": "Some role for Andrew",
"is_compliance_validated": false
}
},
{
"type": "AwsIamUser",
"id": "arn:aws:iam::339083562601:user/andrew",
"data_source_id": "339083562601:awsiam",
"properties": {
"company_purpose": "Engineering service account"
}
}
]
}curl -X POST "https://{VEZA_URL}/api/v1/providers/custom" \
-H "authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json" \
--data '{"name":"My Enrichment Provider","custom_template":"entity_enrichment"}'"enriched_entity_property_definitions": [
{
"entity_type": "AwsIamRole",
"enriched_properties": {
"my_company_id": "STRING",
"is_compliance_validated": "BOOLEAN"
}
}
]"enriched_entities": [
{
"type": "AwsIamRole",
"id": "arn:aws:iam::339083562601:role/Administrator",
"data_source_id": "339083562601:awsiam",
"properties": {
"my_company_id": "DCFB16CD-A044-4787-9165-1C926221F887",
"is_compliance_validated": true
}
}
]curl -X POST "https://{VEZA_URL}/api/v1/providers/custom" \
-H "authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json" \
--data '{"name":"Enrichment Provider","custom_template":"entity_enrichment"}'curl -X POST "https://{VEZA_URL}/api/v1/providers/custom/{PROVIDER_ID}/datasources" \
-H "authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json" \
--data '{"name":"Enrichment Data Source"}'curl -X POST "https://{VEZA_URL}/api/v1/providers/custom/{PROVIDER_ID}/datasources/{DATASOURCE_ID}:push" \
-H "authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json" \
--data "{\"json_data\": $(jq -Rs . payload.json)}"OAA Template for Human Resources Information Systems
{
"name": "HRIS Example",
"hris_type": "HR Platform",
"custom_property_definition": {
"system_properties": {},
"employee_properties": {
"job_level": "STRING"
},
"group_properties": {}
},
"system": {
"id": "7D8A21AE-6650-4357-842B-3FCEC8F29195",
"name": "HRIS Example",
"url": "https://hris.example.com",
},
"employees": [
{
"id": "123456",
"name": "jdoe",
"employee_number": "E123456",
"first_name": "John",
"last_name": "Doe",
"canonical_name": "Doe, John",
"email": "[email protected]",
"home_location": "Anytown, CA",
"work_location": "San Francisco, CA",
"employment_status": "HIRED",
"start_date": "2022-05-22T00:00:00Z",
"job_title": "Software Developer",
"employment_types": [
"FULL_TIME"
],
"custom_properties": {
"job_level": "L3"
},
"is_active": true,
"groups": [
{
"id": "all_employees"
}
],
"managers": [
{
"id": "987654"
}
],
"department": {
"id": "engineering"
}
},
{
"id": "987654",
"name": "jane.doe",
"employee_number": "E987654",
"first_name": "Jane",
"last_name": "Doe",
"canonical_name": "Doe, Jane",
"email": "[email protected]",
"home_location": "Anytown, CA",
"work_location": "San Francisco, CA",
"employment_status": "HIRED",
"start_date": "2021-03-13T00:00:00Z",
"job_title": "Software Developer",
"employment_types": [
"FULL_TIME"
],
"custom_properties": {
"job_level": "M2"
},
"is_active": true,
"groups": [
{
"id": "all_employees"
}
],
"department": {
"id": "engineering"
}
}
],
"groups": [
{
"id": "all_employees",
"name": "All Employees",
"group_type": "Employee Group"
},
{
"id": "engineering",
"name": "Engineering",
"group_type": "Department"
}
]
}{
"name": "BambooHR",
"hris_type": "BambooHR",
"custom_property_definition": {
"employee_properties": {
"division": "STRING",
"office_extension": "STRING"
},
"group_properties": {
"headquarters_location": "STRING"
}
},
"system": {
"name": "BambooHR",
"id": "BambooHR",
"url": "https://vezai.bamboohr.com",
"idp_providers": ["okta"]
},
"employees": [
{
"name": "Charlotte Abbott",
"id": "1",
"custom_properties": {
"division": "North America",
"office_extension": "1234"
},
"employee_number": "1",
"email": "[email protected]",
"work_location": "Lindon, Utah",
"job_title": "Sr. HR Administrator"
},
{
"name": "Cheryl Barnet",
"id": "10",
"custom_properties": {
"division": "North America",
"office_extension": "5678"
},
"employee_number": "10",
"email": "[email protected]",
"work_location": "Lindon, Utah",
"job_title": "VP of Customer Success"
}
],
"groups": [
{
"name": "North America-Human Resources",
"id": "North America-Human Resources",
"group_type": "Department",
"custom_properties": {
"headquarters_location": "Lindon, Utah"
}
}
]
}Template for modeling secret storage systems with vaults, entries, and permissions
Template for modeling a lightweight identity source with users, groups, and tenants
{
"secret_store_type": "hashicorp_vault",
"custom_property_definition": {
"secret_store_properties": {
"environment": "STRING"
},
"permission_properties": {},
"vault_properties": {
"encryption_type": "STRING"
},
"entry_properties": {
"rotation_enabled": "BOOLEAN"
}
},
"secret_store": {
"name": "Production Vault",
"id": "prod-vault-001",
"description": "Production environment secrets",
"tags": [
{
"key": "department",
"value": "engineering"
}
],
"custom_properties": {
"environment": "production"
},
"permissions": [
{
"name": "Read",
"id": "perm-read",
"resource": "secrets/*",
"allow_identity_assume": false
},
{
"name": "Write",
"id": "perm-write",
"resource": "secrets/*",
"allow_identity_assume": true
}
],
"secret_store_vaults": [
{
"name": "API Keys",
"id": "vault-api-keys",
"vault_type": "kv",
"description": "API key storage",
"tags": [
{
"key": "category",
"value": "api-credentials"
}
],
"custom_properties": {
"encryption_type": "AES-256"
},
"entries": [
{
"name": "Stripe API Key",
"id": "entry-stripe",
"description": "Stripe payment processing key",
"custom_properties": {
"rotation_enabled": true
},
"identities": [
{
"type": "OktaUser",
"external_id": "[email protected]"
}
]
}
]
},
{
"name": "Database Credentials",
"id": "vault-db-creds",
"vault_type": "kv",
"description": "Database connection credentials",
"custom_properties": {
"encryption_type": "AES-256"
},
"entries": [
{
"name": "PostgreSQL Admin",
"id": "entry-postgres",
"description": "PostgreSQL admin credentials",
"custom_properties": {
"rotation_enabled": true
}
}
]
}
],
"identity_to_permissions": [
{
"identity": "admin-user",
"identity_type": "local_user",
"permission_assignments": [
{
"vault": [
"vault-api-keys",
"vault-db-creds"
],
"permissions": [
"Read",
"Write"
]
}
]
},
{
"identity": "developer-user",
"identity_type": "local_user",
"permission_assignments": [
{
"vault": [
"vault-api-keys"
],
"permissions": [
"Read"
]
}
]
}
]
}
}{
"secret_store_type": "custom_pam",
"custom_property_definition": {
"vault_properties": {
"rotation_policy": "STRING",
"requires_approval": "BOOLEAN"
},
"entry_properties": {
"credential_type": "STRING"
}
},
"secret_store": {
"name": "ACME Internal PAM",
"id": "pam.acme-internal.example.com",
"description": "Production internal credential management system",
"tags": [
{
"key": "environment",
"value": "production"
}
],
"permissions": [
{
"name": "View",
"id": "perm-view",
"allow_identity_assume": false
},
{
"name": "Checkout",
"id": "perm-checkout",
"allow_identity_assume": true
},
{
"name": "Rotate",
"id": "perm-rotate",
"allow_identity_assume": false
},
{
"name": "Manage",
"id": "perm-manage",
"allow_identity_assume": false
}
],
"secret_store_vaults": [
{
"name": "Production Databases",
"id": "vault-prod-databases",
"vault_type": "database",
"description": "Privileged database credentials for production systems",
"custom_properties": {
"rotation_policy": "30-day",
"requires_approval": true
},
"entries": [
{
"name": "postgres-prod-admin",
"id": "cred-pg-admin-001",
"description": "PostgreSQL production superuser",
"custom_properties": {
"credential_type": "service_account"
},
"identities": [
{
"type": "AzureADUser",
"external_id": "[email protected]"
}
]
},
{
"name": "mysql-prod-readonly",
"id": "cred-mysql-ro-001",
"description": "MySQL production read-only service account",
"custom_properties": {
"credential_type": "service_account"
}
}
]
},
{
"name": "Cloud Platform Keys",
"id": "vault-cloud-keys",
"vault_type": "cloud_credentials",
"description": "Cloud provider access keys",
"custom_properties": {
"rotation_policy": "90-day",
"requires_approval": false
},
"entries": [
{
"name": "cloud-prod-admin",
"id": "cred-cloud-admin-001",
"description": "Production cloud IAM admin access key",
"custom_properties": {
"credential_type": "access_key"
},
"identities": [
{
"type": "AzureADUser",
"external_id": "[email protected]"
}
]
}
]
}
],
"identity_to_permissions": [
{
"identity": "[email protected]",
"identity_type": "AzureADUser",
"permission_assignments": [
{
"vault": ["vault-prod-databases"],
"permissions": ["View", "Checkout"]
}
]
},
{
"identity": "[email protected]",
"identity_type": "AzureADUser",
"permission_assignments": [
{
"vault": ["vault-cloud-keys"],
"permissions": ["View", "Checkout", "Rotate"]
},
{
"vault": ["vault-prod-databases"],
"permissions": ["View"]
}
]
}
]
}
}curl -X POST "https://{VEZA_URL}/api/v1/providers/custom" \
-H "authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json" \
--data '{"name":"MySecretStore","custom_template":"secret_store"}'curl -X POST "https://{VEZA_URL}/api/v1/providers/custom/{PROVIDER_ID}/datasources" \
-H "authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json" \
--data '{"name":"my_secret_store_source"}'curl -X POST "https://{VEZA_URL}/api/v1/providers/custom/{PROVIDER_ID}/datasources/{DATASOURCE_ID}:push" \
-H "authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json" \
--data "{\"json_data\": $(jq -Rs . payload.json)}"curl -X POST "https://{VEZA_URL}/api/v1/providers/custom" \
-H "authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json" \
--data '{"name":"MySecretStore","custom_template":"secret_store"}'"secret_store": {
"name": "Production Vault",
"id": "prod-vault-001",
"description": "Production environment secrets",
"tags": [],
"custom_properties": {},
"permissions": [],
"secret_store_vaults": [],
"identity_to_permissions": []
}"permissions": [
{
"name": "Read",
"id": "perm-read",
"resource": "secrets/*",
"allow_identity_assume": false
}
]"secret_store_vaults": [
{
"name": "API Keys",
"id": "vault-api-keys",
"vault_type": "kv",
"description": "API key storage",
"tags": [],
"custom_properties": {},
"entries": []
}
]"entries": [
{
"name": "Stripe API Key",
"id": "entry-stripe",
"description": "Stripe payment processing key",
"custom_properties": {
"rotation_enabled": true
},
"identities": [
{
"type": "OktaUser",
"external_id": "[email protected]"
}
]
}
]"identities": [
{
"type": "OktaUser",
"external_id": "[email protected]"
}
]"identity_to_permissions": [
{
"identity": "admin-user",
"identity_type": "local_user",
"permission_assignments": [
{
"vault": ["vault-api-keys", "vault-db-creds"],
"permissions": ["Read", "Write"]
}
]
}
]"custom_property_definition": {
"secret_store_properties": {
"environment": "STRING"
},
"permission_properties": {},
"vault_properties": {
"encryption_type": "STRING"
},
"entry_properties": {
"rotation_enabled": "BOOLEAN"
}
}{
"custom_property_definition": {
"tenant_properties": {
"region": "STRING"
},
"user_properties": {
"department": "STRING",
"mfa_enabled": "BOOLEAN"
},
"group_properties": {
"is_security_group": "BOOLEAN"
}
},
"name": "Example Corp",
"principal_type": "corporate_directory",
"tenant": {
"name": "Example Corp",
"id": "tenant-001",
"tenant_unique_id": "tenant-001",
"tags": [
{
"key": "environment",
"value": "production"
}
],
"custom_properties": {
"region": "us-west-2"
}
},
"users": [
{
"name": "Alice Johnson",
"id": "alice01",
"email": "[email protected]",
"user_unique_id": "alice01",
"display_name": "Alice Johnson",
"is_active": true,
"created_date": "2024-01-15T09:00:00.000Z",
"last_login": "2025-02-20T14:30:00.000Z",
"identities": [
"[email protected]"
],
"groups": [
{
"id": "grp-engineering"
}
],
"custom_properties": {
"department": "Engineering",
"mfa_enabled": true
}
},
{
"name": "Bob Smith",
"id": "bob02",
"email": "[email protected]",
"user_unique_id": "bob02",
"is_active": true,
"identities": [
"[email protected]"
],
"groups": [
{
"id": "grp-engineering"
},
{
"id": "grp-admins"
}
],
"custom_properties": {
"department": "Engineering"
}
}
],
"groups": [
{
"name": "Engineering",
"id": "grp-engineering",
"group_unique_id": "grp-engineering",
"group_type": "Department",
"identities": [
"[email protected]"
],
"custom_properties": {
"is_security_group": false
}
},
{
"name": "Admins",
"id": "grp-admins",
"group_unique_id": "grp-admins",
"group_type": "Security",
"custom_properties": {
"is_security_group": true
}
},
{
"name": "Platform Team",
"id": "grp-platform",
"group_unique_id": "grp-platform",
"group_type": "Team",
"parent_group": {
"id": "grp-engineering"
}
}
]
}{
"custom_property_definition": {
"user_properties": {
"account_type": "STRING",
"account_status": "STRING",
"access_billable": "BOOLEAN",
"product_access": "STRING_LIST",
"user_type": "STRING"
},
"group_properties": {
"description": "STRING"
}
},
"name": "Atlassian Cloud Admin",
"principal_type": "Atlassian Cloud Admin",
"tenant": {
"name": "acme-corp",
"id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
"tenant_unique_id": "a1b2c3d4-5678-90ab-cdef-1234567890ab"
},
"users": [
{
"name": "Jane Doe",
"id": "5b10ac8d82e05b22cc7d4ef5",
"email": "[email protected]",
"user_unique_id": "5b10ac8d82e05b22cc7d4ef5",
"is_active": true,
"identities": [
"[email protected]"
],
"groups": [
{
"id": "jira-software-users"
},
{
"id": "confluence-users"
}
],
"custom_properties": {
"account_type": "atlassian",
"account_status": "active",
"access_billable": true,
"product_access": ["jira-software", "confluence"],
"user_type": "managed"
}
},
{
"name": "[email protected]",
"id": "7c20bd9e93f16c33dd8e5fg6",
"email": "[email protected]",
"user_unique_id": "7c20bd9e93f16c33dd8e5fg6",
"is_active": true,
"identities": [
"[email protected]"
],
"groups": [
{
"id": "jira-software-users"
}
],
"custom_properties": {
"account_type": "atlassian",
"account_status": "active",
"access_billable": true,
"product_access": ["jira-software"],
"user_type": "external"
}
}
],
"groups": [
{
"name": "jira-software-users",
"id": "jira-software-users",
"group_unique_id": "jira-software-users",
"group_type": "product-access",
"custom_properties": {
"description": "Users with access to Jira Software"
}
},
{
"name": "confluence-users",
"id": "confluence-users",
"group_unique_id": "confluence-users",
"group_type": "product-access",
"custom_properties": {
"description": "Users with access to Confluence"
}
},
{
"name": "org-admins",
"id": "org-admins",
"group_unique_id": "org-admins",
"group_type": "admin",
"custom_properties": {
"description": "Organization administrators"
}
}
]
}curl -X POST "https://{VEZA_URL}/api/v1/providers/custom" \
-H "authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json" \
--data '{"name":"ExampleCorp","custom_templates":["principal","application"]}'curl -X POST "https://{VEZA_URL}/api/v1/providers/custom/{PROVIDER_ID}/datasources" \
-H "authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json" \
--data '{"name":"Principal Data Source","custom_template":"principal"}'curl -X POST "https://{VEZA_URL}/api/v1/providers/custom" \
-H "authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json" \
--data '{"name":"ExampleCorp","custom_templates":["principal","application"]}'curl -X POST "https://{VEZA_URL}/api/v1/providers/custom/{PROVIDER_ID}/datasources" \
-H "authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json" \
--data '{"name":"Principal Data Source","custom_template":"principal"}'"tenant": {
"name": "Example Corp",
"id": "tenant-001",
"tenant_unique_id": "tenant-001",
"tags": [],
"custom_properties": {}
}"users": [
{
"name": "Alice Johnson",
"id": "alice01",
"email": "[email protected]",
"user_unique_id": "alice01",
"display_name": "Alice Johnson",
"is_active": true,
"created_date": "2024-01-15T09:00:00.000Z",
"last_login": "2025-02-20T14:30:00.000Z",
"identities": ["[email protected]"],
"groups": [{"id": "grp-engineering"}],
"tags": [],
"custom_properties": {}
}
]"groups": [
{
"name": "Engineering",
"id": "grp-engineering",
"group_unique_id": "grp-engineering",
"group_type": "Department",
"identities": ["[email protected]"],
"tags": [],
"custom_properties": {}
},
{
"name": "Platform Team",
"id": "grp-platform",
"group_type": "Team",
"parent_group": {
"id": "grp-engineering"
}
}
]"custom_property_definition": {
"tenant_properties": {
"region": "STRING"
},
"user_properties": {
"department": "STRING",
"mfa_enabled": "BOOLEAN"
},
"group_properties": {
"is_security_group": "BOOLEAN"
}
}curl -X POST "https://{VEZA_URL}/api/v1/providers/custom/{PROVIDER_ID}/datasources/{DATASOURCE_ID}:push" \
-H "authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json" \
--data "{\"json_data\": $(jq -Rs . payload.json)}"Template for pushing IdP domain, user, and group metadata
Custom Identity Provider definitionIdP DomainIdP UsersIdP GroupsIdP AppsIdentity Mapping Configuration{
"name": "My IdP",
"idp_type": "custom_idp",
"domains": [
{
"name": "example.com",
"tags": [],
}
],
"users": [
{
"name": "m_richardson",
"email": "[email protected]",
"identity": "m_richardson",
"full_name": "Michelle Richardson",
"department": null,
"is_active": true,
"is_guest": false,
"groups": [
{
"identity": "everyone"
},
{
"identity": "developers"
}
],
"assumed_role_arns": [
{
"identity": "arn:aws:iam::123456789012:role/role001"
},
{
"identity": "arn:aws:iam::123456789012:role/role002"
}
],
"tags": [],
},
{
"name": "evargas",
"email": "[email protected]",
"identity": "evargas",
"full_name": "Elizabeth Vargas",
"department": null,
"is_active": true,
"is_guest": false,
"groups": [
{
"identity": "everyone"
},
{
"identity": "developers"
},
{
"identity": "sec-ops"
}
],
"assumed_role_arns": [],
"tags": [],
},
{
"name": "willis",
"email": "[email protected]",
"identity": "c_williams",
"full_name": null,
"department": null,
"is_active": true,
"is_guest": false,
"groups": [
{
"identity": "everyone"
}
],
"assumed_role_arns": [],
"tags": []
}
],
"groups": [
{
"name": "developers",
"identity": "developers",
"full_name": null,
"is_security_group": null,
"tags": []
},
{
"name": "sec-ops",
"identity": "sec-ops",
"full_name": null,
"is_security_group": null,
"tags": []
},
{
"name": "everyone",
"identity": "everyone",
"full_name": "All Company Employees",
"is_security_group": null,
"tags": []
}
],
"identity_mapping_configuration": {
"mappings": [
{
"destination_datasource_type": "GITHUB_USERS",
"property_matchers": [
{
"source_property": "EMAIL",
"destination_property": "UNIQUE_ID"
}
]
},
{
"destination_datasource_type": "SQL_SERVER",
"property_matchers": [
{
"source_property": "EMAIL",
"destination_property": "EMAIL"
}
],
"transformations": [
"IGNORE_DOMAIN"
]
}
]
}
}{
"name": "Custom User",
"assumed_role_arns": {
"identity": [
"arn:aws:iam::123456789012:role/S3Access"
]
},
}{
"name": "Custom User",
"identity": "00001",
"source_identity": {
"identity": "[email protected]",
"provider_type": "okta"
}
}{
"name": "Custom User",
"identity": "000011",
"entities_owned": [
{
"node_type": "S3Bucket",
"id": "arn:aws:s3:::amazon-connect-53f87966654d"
}
]
}{
"name": "Custom User",
"identity": "000013",
"manager_id": "000011"
}"tags": [
{
"key": "Tag1key",
"value": "optional_Tag1Val"
}
]{
"name": "willis",
"email": "[email protected]",
"identity": "000001",
"full_name": "Charles Willis",
"department": "Sales",
"is_active": true,
"is_guest": false,
"groups": [
{
"identity": "everyone"
}
],
"assumed_role_arns": {
"identity": [
"arn:aws:iam::123456789012:role/S3Access"
]
},
"source_identity": {
"identity": "[email protected]",
"provider_type": "okta"
},
"tags": [],
"custom_properties": {},
"manager_id": "string",
"entities_owned": {
"node_type": "S3Bucket",
"id": "arn:aws:s3:::amazon-connect-53f87966654d"
}
}"groups": [
{
"name": "developers",
"identity": "developers",
"full_name": null,
"is_security_group": null,
"assumed_role_arns": {
"identity": ["arn:aws:iam::123456789012:role/S3Access"]
},
"tags": [],
"groups": [
{ "group_1_identity": "parent" },
{ "group_2_identity": "parent" }
],
"custom_properties": {}
}
] "apps": [
{
"id": "app1",
"name": "Application 1",
"description": "This is a sample application",
"assumed_role_arns": [
{
"identity": "arn:aws:iam::1234567890:role/DevAppRole"
}
],
"custom_properties": {
"owner_org": "engineering"
},
"tags": []
}
] {
"name": "willis",
"email": "[email protected]",
"identity": "cwilliams",
"groups": [
{
"identity": "everyone"
}
],
"custom_properties": {
"region": "NorthAmerica",
"is_contractor": true
},
"app_assignments": [
{
"id": "assignment1",
"name": "Assignment",
"app_id": "app1",
"custom_properties": {
"assigned_on": "2024-12-05T12:42:25+00:00"
}
}
]
}curl -X POST 'https://<veza_url>/api/v1/providers/custom' \
-H 'authorization: Bearer '<access_token> \
--data-binary '{"name":"SimpleIdP","custom_template":"identity_provider"}'{
"value": {
"id": "532f6fe3-189f-4576-afdf-8913088961e4",
"name": "Simple IdP",
"custom_template": "identity_provider",
"state": "ENABLED",
"application_types": [],
"resource_types": [],
"idp_types": []
}
}curl -X POST 'https://<veza_url>/api/v1/providers/custom/532f6fe3-189f-4576-afdf-8913088961e4/datasources' \
-H 'authorization: Bearer '<access_token> \
--data-binary '{"id":"532f6fe3-189f-4576-afdf-8913088961e4", "name":"SimpleDataSource"}'{"value":{"id":"b6a32af6-b854-47e1-8325-e5984f78bb4d","name":"SimpleDataSource"}}curl -X POST 'https://<veza_url>/api/v1/providers/custom/532f6fe3-189f-4576-afdf-8913088961e4/datasources/b6a32af6-b854-47e1-8325-e5984f78bb4d:push' \
-H 'authorization: Bearer '<access_token> \
--compressed --data-binary @payload.json{
"id": "532f6fe3-189f-4576-afdf-8913088961e4",
"data_source_id": "b6a32af6-b854-47e1-8325-e5984f78bb4d",
"json_data": "{\n\"name\":\"CustomIdentityProvider\",\n\"idp_type\": ... "
}{
"identity_mapping_configuration": {
"mappings": [
{
"destination_datasource_type": "OKTA",
"property_matchers": [
{
"source_property": "EMAIL",
"destination_property": "EMAIL"
}
],
"transformations": [
"IGNORE_SPECIAL"
]
},
{
"destination_datasource_type": "AZURE_AD",
"property_matchers": [
{
"source_property": "EMAIL",
"destination_property": "EMAIL"
}
],
"transformations": [
"IGNORE_DOMAIN"
]
},
{
"destination_datasource_type": "GITHUB_USERS",
"property_matchers": [
{
"source_property": "EMAIL",
"destination_property": "UNIQUE_ID"
}
]
}
]
}
}{
"incremental_change": true,
"identity_mapping_configuration": {
"operation": "modify",
"mappings": [
{
"destination_datasource_type": "GITHUB_USERS",
"property_matchers": [
{
"source_property": "EMAIL",
"destination_property": "UNIQUE_ID"
}
]
},
{
"destination_datasource_type": "SQL_SERVER",
"property_matchers": [
{
"source_property": "EMAIL",
"destination_property": "EMAIL"
}
],
"transformations": [
"IGNORE_DOMAIN"
]
}
]
}
}curl --location 'https://<veza_url>/api/v1/providers/custom/816d6e51-6d6a-4279-ba41-2e7c732be880/datasources/716026b5-4b84-4b2f-a805-b41a6ec69cf3:push' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <API_KEY>' \
--data '{
"id": "816d6e51-6d6a-4279-ba41-2e7c732be880",
"data_source_id": "716026b5-4b84-4b2f-a805-b41a6ec69cf3",
"json_data": "{\"incremental_change\":true,\"identity_mapping_configuration\":{\"operation\":\"modify\",\"mappings\":[{\"destination_datasource_type\":\"GITHUB_USERS\",\"property_matchers\":[{\"source_property\":\"EMAIL\",\"destination_property\":\"UNIQUE_ID\"}]},{\"destination_datasource_type\":\"SQL_SERVER\",\"property_matchers\":[{\"source_property\":\"EMAIL\",\"destination_property\":\"EMAIL\"}],\"transformations\":[\"IGNORE_DOMAIN\"]}]}}"
}'Template for pushing custom data source entities and authorization
identity_to_permissionsidplocal_userlocal_grouplocal_rolelocal_access_credscurl -X POST "https://{VEZA_URL}/api/v1/providers/custom" \
-H "authorization: Bearer {API_KEY}" \
--compressed --data-binary '{"name":"DemoApp","custom_template":"application"}'curl -X POST "https://{VEZA_URL}/api/v1/providers/custom" \
-H "authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json" \
--data '{
"name": "MyCustomApp",
"custom_template": "application",
"external_lifecycle_management_type": "SCIM"
}'{
"custom_property_definition": {
"applications": [
{
"application_type": "sample",
"application_properties": {},
"local_user_properties": {},
"local_group_properties": {},
"local_role_properties": {},
"resources": []
}
]
},
"applications": [
{
"name": "Sample App",
"application_type": "sample",
"description": "This is a sample app",
"local_users": [
{
"id": "0000000001",
"name": "bob",
"identities": [
"[email protected]"
],
"is_active": true,
"created_at": "2022-01-26T20:48:12.460Z"
},
{
"id": "0000000002",
"name": "jane",
"identities": [
"[email protected]"
],
"groups": [
"admins"
],
"created_at": "2021-08-13T06:28:13.250Z"
}
],
"local_groups": [
{
"id": "admins",
"name": "Administrators"
}
],
"local_roles": [],
"tags": [],
"custom_properties": {},
"resources": [
{
"id": "0001",
"name": "Entity1",
"resource_type": "thing",
"description": "Some entity in the application",
"sub_resources": [
{
"name": "Child 1",
"resource_type": "child",
"description": "My information about resource"
}
]
},
{
"id": "0002",
"name": "Entity2",
"resource_type": "thing",
"description": "Another entity in the application"
}
]
}
],
"permissions": [
{
"name": "admin",
"permission_type": [
"DataRead",
"DataWrite"
],
"apply_to_sub_resources": false,
"resource_types": []
},
{
"name": "operator",
"permission_type": [
"DataRead",
"MetadataRead"
],
"apply_to_sub_resources": false,
"resource_types": []
},
{
"name": "manager",
"permission_type": [
"MetadataWrite"
],
"apply_to_sub_resources": false,
"resource_types": []
}
],
"identity_to_permissions": [
{
"identity": "0000000001",
"identity_type": "local_user",
"application_permissions": [
{
"application": "Sample App",
"permission": "operator",
"apply_to_application": true
},
{
"application": "Sample App",
"resources": [
"0001"
],
"permission": "manager"
}
]
},
{
"identity": "admins",
"identity_type": "local_group",
"application_permissions": [
{
"application": "Sample App",
"permission": "admin",
"apply_to_application": true
}
]
}
]
}{
"applications": [
{
"name": "Sample App",
"application_type": "sample",
"description": "This is a sample app",
"local_users": [
{
"name": "bob",
"identities": [
"[email protected]"
],
"is_active": true,
"created_at": "2022-01-26T20:48:12.460Z",
"id": "0000000001"
},
{
"name": "jane",
"identities": [
"[email protected]"
],
"created_at": "2021-08-13T06:28:13.250Z",
"id": "0000000002"
}
],
"local_groups": [],
"local_roles": [
{
"id": "admin",
"name": "Administrator",
"permissions": [
"manage_users"
],
"tags": [],
"custom_properties": {}
},
{
"id": "user",
"name": "User",
"permissions": [
"view_tickets",
"close_tickets"
],
"tags": [],
"custom_properties": {}
}
],
"tags": [],
"custom_properties": {},
"resources": []
}
],
"permissions": [
{
"name": "manage_users",
"permission_type": [
"MetadataWrite"
],
"apply_to_sub_resources": false,
"resource_types": []
},
{
"name": "view_tickets",
"permission_type": [
"DataRead"
],
"apply_to_sub_resources": false,
"resource_types": []
},
{
"name": "close_tickets",
"permission_type": [
"MetadataWrite"
],
"apply_to_sub_resources": false,
"resource_types": []
}
],
"identity_to_permissions": [
{
"identity": "0000000001",
"identity_type": "local_user",
"role_assignments": [
{
"application": "Sample App",
"role": "user",
"apply_to_application": true,
"resources": []
}
]
},
{
"identity": "0000000002",
"identity_type": "local_user",
"role_assignments": [
{
"application": "Sample App",
"role": "user",
"apply_to_application": true,
"resources": []
},
{
"application": "Sample App",
"role": "admin",
"apply_to_application": true,
"resources": []
}
]
}
]
} "custom_property_definition": {
"applications": [
{
"application_type": "sample",
"application_properties": {},
"local_user_properties": {
"license_type": "STRING",
"license_expires": "TIMESTAMP"
},
"local_group_properties": {},
"local_role_properties": {},
"role_assignment_properties": {},
"access_cred_properties": {},
"resources": []
}
]
} "local_users": [
{
"id": "001010",
"name": "bob",
"identities": [
"[email protected]"
],
"groups": null,
"is_active": true,
"created_at": "2022-01-26T20:48:12.460Z",
"last_login_at": null,
"deactivated_at": null,
"password_last_changed_at": null,
"tags": [],
"custom_properties": {
"license_type": "pro",
"license_expires": "2023-01-01T00:00:00.000Z"
}
}
]{
"applications": [
{
"name": "Custom App",
"application_type": "Source Control",
"description": "Has a resource for each repository",
"custom_properties": {},
"tags": [],
"owners": [],
"local_users": [],
"local_groups": [],
"local_roles": [],
"resources": []
}
]
}"resources": [
{
"name": "Entity1",
"id": "Unique ID",
"resource_type": "thing",
"description": "Some entity in the application",
"sub_resources": [
{
"name": "Child 1",
"resource_type": "child",
"description": "My information about resource",
"sub_resources": [],
"custom_properties": {},
"tags": [],
"owners": []
}
],
"custom_properties": {},
"tags": [],
"owners": []
},
{
"name": "Entity2",
"id": "Another Unique ID",
"resource_type": "thing",
"description": "Another entity in the application",
"sub_resources": [],
"custom_properties": {},
"tags": [],
"owners": [],
}
]{
"name": "cog1",
"resource_type": "cog",
"connections": [
{
"id": "[email protected]",
"node_type": "GoogleCloudServiceAccount"
}
]
}"local_users": [
{
"id": "egray",
"name": "Evan Gray",
"email": "[email protected]",
"identities": ["[email protected]"],
"groups": ["contractors"],
"is_active": true,
"created_at": "2020-12-19T16:39:57-08:00",
"last_login_at": "2021-11-19T14:19:30-08:00",
"password_last_changed_at": null,
"deactivated_at": null,
"custom_properties": {},
"tags": [],
"owners": []
}
]"local_groups": [
{
"name": "US Contractors",
"id": "us-contractors",
"identities": ["[email protected]"],
"groups": [
"all-contractors",
"all-workers"
],
"tags": [],
"owners": []
}
]"local_roles": [
{
"name": "administrator",
"id": "0001",
"permissions": ["create","destroy"]
},
{
"name": "operator",
"id": "0002",
"permissions": ["pull", "read"],
"tags": [],
"owners": []
}
]"local_access_creds": [
{
"name": "Production API Key",
"id": "prod-key-001",
"created_at": "2023-01-15T08:00:00.000Z",
"expires_at": "2024-01-15T08:00:00.000Z",
"last_used_at": "2023-12-01T14:30:00.000Z",
"can_expire": true,
"is_active": true,
"custom_properties": {},
"tags": [],
"owners": []
}
]"permissions": [
{
"name": "Admin",
"permission_type": [
"DataRead",
"DataWrite",
"MetadataRead",
"MetadataWrite"
]
},
{
"name": "Operator",
"permission_type": [
"MetadataRead",
"DataRead"
]
},
{
"name": "Inactive",
"permission_type": [
"NonData"
]
}
]"identity_to_permissions": [
{
"identity": "Evan Gray",
"identity_type": "local_user",
"application_permissions": [
{
"application": "Veza AI",
"resources": ["terraform-dev", "prod"],
"permission": "pull"
},
{
"application": "Veza AI",
"resources": ["terraform-dev", "prod"],
"permission": "push"
}
]
}
]{
"identity": "[email protected]",
"identity_type": "idp",
"application_permissions":
[
{
"application": "source control",
"resources": ["util-tools", "terraform"],
"apply_to_application": false,
"permission": "write"
},
{
"application": "source control",
"resources": [],
"apply_to_application": true,
"permission": "read"
}
]
}{
"identity": "john_smith",
"identity_type": "local_user",
"role_assignments":[
{
"application": "custom application",
"role": "administrator",
"apply_to_application": true,
"resources": []
},
{
"application": "custom application",
"role": "ops",
"apply_to_application": false,
"resources": ["oaa-vm-1"]
}
]
} "identity_to_permissions": [
{
"identity": "0000000001",
"identity_type": "local_user",
"role_assignments": [
{
"application": "Sample App",
"role": "user",
"apply_to_application": true,
"resources": []
}
]
},
{
"identity": "0000000002",
"identity_type": "local_user",
"role_assignments": [
{
"application": "Sample App",
"role": "user",
"apply_to_application": true,
"resources": []
},
{
"application": "Sample App",
"role": "admin",
"apply_to_application": true,
"resources": []
}
]
}
]