Skip to main content

Manage Access

Managing resource access in Nexla allows you to control who can view, modify, and manage your platform resources. The system provides flexible APIs for granting, modifying, and revoking access permissions across all resource types.

Access Management Overview

Access management enables you to implement security policies, enable collaboration, and maintain control over your data infrastructure. The system supports both individual user access and team-based permissions for efficient resource sharing.

Grant Access to Resources

Granting access allows users and teams to work with your resources while maintaining appropriate security boundaries.

Grant Access Endpoint

To grant access to a resource, use the resource access endpoint:

PUT /resource_access

Grant Access Request Structure

The request body specifies the resource, users/teams, and access levels:

Grant Access: Request
PUT /resource_access

{
"resource_type": "data_sources",
"resource_id": 1001,
"access_grants": [
{
"user_id": 43,
"access_level": "user"
},
{
"team_id": 1001,
"access_level": "viewer"
}
]
}

Grant Access Response

A successful access grant returns confirmation of the updated permissions:

Grant Access: Response
{
"status": "success",
"message": "Access granted successfully",
"resource": {
"type": "data_sources",
"id": 1001,
"name": "Customer Data Source"
},
"grants": [
{
"user_id": 43,
"user_name": "Jane Doe",
"access_level": "user",
"granted_at": "2023-01-15T16:30:00.000Z"
},
{
"team_id": 1001,
"team_name": "Analytics Team",
"access_level": "viewer",
"granted_at": "2023-01-15T16:30:00.000Z"
}
]
}

Modify Existing Access

You can modify access levels for users and teams who already have access to resources.

Modify Access Endpoint

To modify existing access permissions:

PUT /resource_access

Modify Access Request

Specify the resource and updated access levels:

Modify Access: Request
PUT /resource_access

{
"resource_type": "data_sources",
"resource_id": 1001,
"access_modifications": [
{
"user_id": 43,
"new_access_level": "admin"
},
{
"team_id": 1001,
"new_access_level": "user"
}
]
}

Revoke Access

Remove access permissions when they are no longer needed.

Revoke Access Endpoint

To revoke access from users or teams:

DELETE /resource_access

Revoke Access Request

Specify the resource and users/teams to remove:

Revoke Access: Request
DELETE /resource_access

{
"resource_type": "data_sources",
"resource_id": 1001,
"access_revocations": [
{
"user_id": 44
},
{
"team_id": 1002
}
]
}

Access Levels and Permissions

Understanding access levels helps you grant appropriate permissions for different use cases.

User Access Level

Users with user access can:

  • View Resource: See resource configuration and status
  • Use Resource: Include resource in data flows and processing
  • Monitor Performance: View metrics and operational data
  • Limited Modification: Cannot change core configuration

Admin Access Level

Users with admin access can:

  • Full User Permissions: All user-level capabilities
  • Modify Configuration: Update resource settings and parameters
  • Grant Access: Give access to other users and teams
  • Manage Status: Activate, pause, and control resources

Viewer Access Level

Users with viewer access can:

  • View Resource: See resource information and status
  • Monitor Performance: View metrics and operational data
  • No Modification: Cannot change any configuration
  • No Usage: Cannot include resource in data flows

Resource-Specific Access Control

Different resource types support specialized access control features.

Data Source Access

Control access to data ingestion resources:

  • Ingestion Control: Who can activate/pause data sources
  • Configuration Management: Who can modify source settings
  • Data Access: Who can view ingested data and schemas
  • Credential Access: Who can see authentication information

Data Destination Access

Manage access to data output resources:

  • Output Control: Who can activate/pause destinations
  • Configuration Management: Who can modify output settings
  • Data Mapping: Who can configure data transformation rules
  • Delivery Monitoring: Who can view output metrics

Flow Access

Control access to data processing pipelines:

  • Flow Control: Who can start/stop data flows
  • Configuration Management: Who can modify flow settings
  • Performance Monitoring: Who can view flow metrics
  • Resource Management: Who can modify flow components

Best Practices

To effectively manage resource access in your Nexla platform:

  1. Principle of Least Privilege: Grant only the access users need
  2. Regular Access Reviews: Periodically review and update permissions
  3. Team-Based Access: Use teams for efficient permission management
  4. Documentation: Maintain clear records of access decisions
  5. Monitoring: Track access patterns and identify anomalies

Access Management Workflows

Common workflows for managing resource access in different scenarios.

New Team Member Onboarding

When adding new team members:

  1. Assess Requirements: Determine what resources the member needs
  2. Grant Team Access: Add member to appropriate teams
  3. Individual Grants: Grant specific access for unique requirements
  4. Monitor Usage: Track initial access patterns and adjust as needed

Project-Based Access

For temporary project access:

  1. Define Scope: Identify resources needed for the project
  2. Grant Access: Provide appropriate access levels
  3. Set Timeline: Establish access duration and review dates
  4. Review and Revoke: Remove access when project completes

Compliance and Auditing

Maintain compliance through proper access management:

  1. Access Reviews: Regular reviews of all permissions
  2. Documentation: Clear records of access decisions and rationale
  3. Monitoring: Track access patterns and identify risks
  4. Remediation: Address any inappropriate access promptly

Error Handling

Common access management issues and solutions:

  • Permission Denied: Ensure you have admin rights to the resource
  • Invalid User/Team: Verify the specified users or teams exist
  • Resource Not Found: Confirm the resource ID is correct
  • Access Conflicts: Resolve conflicts between individual and team access

After managing access, you may need to:

View Current Access

GET /resource_access
GET /resource_access/{resource_type}/{resource_id}

Monitor Access Usage

GET /resource_access/{resource_type}/{resource_id}/usage
GET /resource_access/{resource_type}/{resource_id}/audit

Manage Team Access

GET /teams/{team_id}/access
PUT /teams/{team_id}/access