Manage Integration Permissions
How to control who can create, update, and delete specific integrations.
Overview
By default, users with the Integrations Manager or Integration Owner role can manage any integration. When the INTEG_PROVIDERS_RBAC_PERMISSION_SETS feature flag is enabled, Veza adds a per-integration permission layer: each integration is identified by a unique RBAC ID, and administrators assign permission sets (Owner, Maintainer, Viewer, Creator) to control which users and groups can create, read, update, or delete specific integrations.
Integration permission management is currently API-only via the Permission Set Service API (/api/private/permission_set_policies). A UI for managing per-integration permissions is not yet available.
Early Access Feature: This feature requires enablement by Veza support. Contact your Veza support team to enable the INTEG_PROVIDERS_RBAC_PERMISSION_SETS flag for your tenant.
Before you start
Before managing integration permissions, ensure:
You have the Administrator role on the root team
Access Controls feature is enabled on your tenant (contact Veza support if needed)
The integrations you want to control are already configured
You've identified which users or groups need integration management capabilities
Team Restrictions Still Apply: Even with integration permissions, non-root team members can only manage integrations within their team's scope. Access Controls add an additional layer of restriction on top of team-based access control.
Permission sets and permission types
Permissions are assigned using built-in permission sets. These permission set IDs are constant across all Veza tenants:
Owner
c345007c-244a-4606-b2e2-53f4f85e0ac0
Create, Read, Update, Delete
Maintainer
85b413c0-db25-42e9-b4d7-ef935759b188
Read, Update
Viewer
3f1af6de-dc60-4fdb-90ed-5c2493b8f767
Read
Creator
38f00b6e-695c-449d-96b9-3a72aeb7f3fd
Create
To list all available permission sets on your tenant, call GET /api/private/permission_sets.
Find an integration's RBAC ID
Every integration has an rbac_id field returned in its API response. The format is data_providers.<provider_id>.
To find the RBAC ID for a specific integration:
Call
GET /api/v1/providers(orGET /api/v1/providers/{provider_id}for a specific integration).Locate the
rbac_idfield in the response:
Wildcard patterns: Use data_providers.* as the RBAC ID to grant permissions on all integrations at once.
Grant integration management permissions
To assign permissions for managing a specific integration:
Find the integration's RBAC ID from the provider API response.
Make a POST request to
/api/private/permission_set_policies:Set the
principal.typetoUSERorGROUP. Use the permission set ID from the permission sets table.
Result: The assigned user or group receives the specified permissions for the integration.
Automatic owner permissions
When a user creates an integration, they automatically receive Owner permissions (Create, Read, Update, Delete) on that integration. This automatic assignment works in combination with explicit permission grants made via the API.
Verify integration permissions
To confirm permission assignments using the API:
List all policies for an integration:
Review the response to see all users and groups with permissions on this integration.
Check a specific user's permissions:
Returns the current user's effective permissions on the specified resource.
Verify in the UI: Have the affected user log in and confirm:
The integration appears in their Integrations list (requires Read)
Edit/Configure buttons are visible (requires Update)
Delete option is available (requires Delete)
Users without permissions won't see the integration or will see it as read-only
Remove integration permissions
To revoke integration management permissions using the API:
List current permissions for the integration:
Identify the permission policy ID for the user or group to remove.
Make a DELETE request:
Alternatively, use the POST endpoint with
"type": "REMOVE":
Result: The user or group loses management access to the integration. They may retain read-only access depending on their role and team assignments.
Caution: Removing permissions from an integration owner or the user who created the integration may create management gaps. Ensure another user has the necessary permissions before revoking access.
Permission layers
When Access Controls are enabled, Veza evaluates multiple independent layers before granting access to an integration. A user must satisfy all applicable layers:
Role Permissions: The user's Veza role must include the base permission for the action. Integration create, update, and delete operations require the Integrations Manager (
provider_manager) or Integration Owner (integration_owner) role. The Operator role can view integrations but cannot create, modify, or delete them. If the user's role grants full access (e.g., Administrator), the remaining checks are bypassed.Team Scope: Users can only access integrations assigned to their team. The default team used by Administrators has access to all integrations. Users on other teams can only see and manage integrations explicitly assigned to their team.
Permission Set Assignment: The user must have an explicit permission set (Owner, Maintainer, Viewer, or Creator) on the specific integration — either through direct assignment, group membership, or automatic ownership.
For example, when an Integrations Manager on the "AWS Production" team wants to update an integration, Veza will check:
Does the Integrations Manager role include update permissions? Yes.
Is this integration assigned to the "AWS Production" team? If no, the integration is not visible.
Does this user have Owner or Maintainer permissions on this specific integration? If no, access denied. If yes, update succeeds.
Administrators bypass team scope and permission set restrictions, retaining full access to all integrations.
See also
Permission Sets for Configurations and Integrations - Overview of the permission sets system
Configuring Integrations - General integration configuration guidance
Team Management - Using teams to control integration scope
User Roles and Permissions - Understanding Veza roles
Integration Owner role - Automatic ownership permissions
Last updated
Was this helpful?
