Skip to main content
Role-based access control (RBAC) is exposed in ROS 2 through core_node. The services map one-to-one with the Robotics Python SDK but run under lifecycle management so you can gate access policies alongside mission logic.

Capabilities

  • Create roles that encapsulate operational capabilities (operator, maintenance)
  • Define permissions (e.g., store_telemetry, emit_intent)
  • Assign permissions to roles and grant roles to robot or user DIDs
  • Query existing policies for audit trails or dashboards

Service Reference

All services accept simple JSON payloads and return transaction hashes so you can follow progress via peaq/tx_status.

Example Workflow

Responses include transaction hashes for each step. Combine them with ros2 topic echo /peaq/tx_status to confirm finalization.

Automation Pattern

  • Trigger RBAC provisioning from CI whenever a new robot identity is created.
  • Use a ROS 2 Node (Python/C++) that batches service calls and verifies outcomes before declaring a robot operational.
  • Persist granted roles using your fleet management system for quick audits.

Best Practices

  • Prefix permissions with domain context (telemetry:write, mission:cancel) to avoid collisions.
  • Use different roles for humans vs. robots even if they share capabilities—this keeps grants revocable per actor type.
  • Log RBAC service responses for compliance; they already include block hashes and timestamps.
Next, wire RBAC with secure data flows by configuring Verifiable Storage.