Authorization
TinyBrain provides comprehensive authorization templates and access control patterns for security professionals.
Role-Based Access Control (RBAC)
User Roles
- Administrator: Full system access and configuration
- Security Analyst: Access to security assessments and findings
- Penetration Tester: Access to testing tools and exploit development
- Intelligence Analyst: Access to intelligence gathering and analysis
- Incident Responder: Access to incident response tools and data
- Auditor: Read-only access for compliance and auditing
Permission Matrix
| Role | Create | Read | Update | Delete | Admin | |——|——–|——|——–|——–|——-| | Administrator | ✓ | ✓ | ✓ | ✓ | ✓ | | Security Analyst | ✓ | ✓ | ✓ | ✗ | ✗ | | Penetration Tester | ✓ | ✓ | ✓ | ✗ | ✗ | | Intelligence Analyst | ✓ | ✓ | ✓ | ✗ | ✗ | | Incident Responder | ✓ | ✓ | ✓ | ✗ | ✗ | | Auditor | ✗ | ✓ | ✗ | ✗ | ✗ |
Hierarchical Roles
- Senior Security Analyst: Can manage junior analysts
- Team Lead: Can assign tasks and review work
- Project Manager: Can oversee multiple assessments
- Executive: High-level reporting and decision making
Attribute-Based Access Control (ABAC)
User Attributes
- Security Clearance: Unclassified, Confidential, Secret, Top Secret
- Department: Security, IT, Management, Legal
- Location: On-site, Remote, Field
- Certification: CISSP, CISM, CEH, OSCP
- Experience Level: Junior, Mid-level, Senior, Expert
Resource Attributes
- Classification Level: Public, Internal, Confidential, Secret
- Data Type: Intelligence, Vulnerability, Exploit, Report
- Sensitivity: Low, Medium, High, Critical
- Owner: Individual, Team, Department, Organization
- Retention Period: 30 days, 1 year, 5 years, Permanent
Environment Attributes
- Time: Business hours, After hours, Weekends
- Location: Office, Remote, Field, Client site
- Network: Internal, VPN, Public, Air-gapped
- Device: Corporate, Personal, Mobile, Kiosk
- Risk Level: Low, Medium, High, Critical
Policy Rules
# Example ABAC Policy
rules:
- name: "Intelligence Access"
condition: |
user.clearance >= resource.classification AND
user.department == "Security" AND
environment.time in ["business_hours", "after_hours"] AND
environment.network == "internal"
action: "allow"
- name: "High Sensitivity Data"
condition: |
resource.sensitivity == "critical" AND
user.certification in ["CISSP", "CISM"] AND
user.experience_level in ["senior", "expert"]
action: "allow"
- name: "Remote Access"
condition: |
environment.location == "remote" AND
environment.device == "corporate" AND
environment.network == "VPN"
action: "allow"
Discretionary Access Control (DAC)
Owner Permissions
- Full Control: Complete access to owned resources
- Modify: Change content and metadata
- Read: View content and metadata
- Execute: Run scripts and tools
- Delete: Remove resources
Group Permissions
- Security Team: Access to security-related resources
- Intelligence Team: Access to intelligence data
- Management Team: Access to reports and summaries
- Audit Team: Read-only access to all resources
- External Team: Limited access to specific resources
Other Permissions
- Public Read: Anyone can read the resource
- Authenticated Read: Any authenticated user can read
- No Access: Resource is private to owner
- Custom: Specific permissions for specific users
Permission Inheritance
- Parent Directory: Permissions inherited from parent
- Group Membership: Permissions from group membership
- Role Assignment: Permissions from assigned roles
- Explicit Override: Specific permissions override inherited
Access Control Lists (ACL)
ACL Structure
# Example ACL for Intelligence Finding
resource: "intelligence_finding_123"
permissions:
- user: "analyst_john"
permissions: ["read", "update"]
granted_by: "admin_sarah"
granted_at: "2024-01-15T10:30:00Z"
expires_at: "2024-12-31T23:59:59Z"
- group: "security_team"
permissions: ["read"]
granted_by: "admin_sarah"
granted_at: "2024-01-15T10:30:00Z"
expires_at: null
- role: "intelligence_analyst"
permissions: ["read", "create", "update"]
granted_by: "system"
granted_at: "2024-01-01T00:00:00Z"
expires_at: null
ACL Management
- Grant Access: Add new permissions
- Revoke Access: Remove existing permissions
- Modify Access: Change permission levels
- Audit Access: Review current permissions
- Expire Access: Set expiration dates
Multi-Factor Authentication (MFA)
Authentication Factors
- Something You Know: Password, PIN, Passphrase
- Something You Have: Token, Smart Card, Mobile Device
- Something You Are: Biometric (Fingerprint, Face, Voice)
- Somewhere You Are: Location-based authentication
- Something You Do: Behavioral patterns
MFA Implementation
# MFA Configuration
mfa:
required_for:
- "high_sensitivity_data"
- "admin_functions"
- "remote_access"
- "data_export"
methods:
- type: "totp"
provider: "google_authenticator"
required: true
- type: "sms"
provider: "twilio"
required: false
- type: "hardware_token"
provider: "yubikey"
required: false
- type: "biometric"
provider: "windows_hello"
required: false
Session Management
Session Types
- Interactive Session: User actively using the system
- API Session: Programmatic access via API
- Service Session: Background service access
- Batch Session: Bulk processing access
- Emergency Session: Emergency access procedures
Session Security
- Session Timeout: Automatic logout after inactivity
- Concurrent Sessions: Limit number of active sessions
- Session Binding: Bind sessions to IP addresses
- Session Encryption: Encrypt session data
- Session Monitoring: Monitor for suspicious activity
Session Lifecycle
- Authentication: User authenticates with credentials
- Authorization: System checks user permissions
- Session Creation: Create secure session token
- Activity Monitoring: Track user activities
- Session Renewal: Extend session if needed
- Session Termination: End session on logout/timeout
Audit and Compliance
Audit Logging
- Access Events: Who accessed what and when
- Permission Changes: When permissions were modified
- Authentication Events: Login/logout attempts
- Data Modifications: What data was changed
- System Events: System configuration changes
Compliance Standards
- SOX: Sarbanes-Oxley Act compliance
- HIPAA: Health Insurance Portability and Accountability Act
- PCI DSS: Payment Card Industry Data Security Standard
- GDPR: General Data Protection Regulation
- ISO 27001: Information Security Management Systems
Audit Reports
- Access Reports: Who has access to what
- Permission Reports: Current permission matrix
- Activity Reports: User activity summaries
- Compliance Reports: Compliance status reports
- Risk Reports: Security risk assessments
Best Practices
Design Principles
- Least Privilege: Grant minimum necessary permissions
- Separation of Duties: Separate conflicting responsibilities
- Defense in Depth: Multiple layers of security
- Fail Secure: Deny access on system failure
- Regular Review: Periodic permission reviews
Implementation Guidelines
- Role Design: Design roles based on job functions
- Permission Granularity: Fine-grained permission control
- Regular Audits: Regular access reviews and audits
- Documentation: Document all access control decisions
- Training: Train users on access control policies
Monitoring and Alerting
- Privilege Escalation: Alert on privilege changes
- Unusual Access: Alert on unusual access patterns
- Failed Authentication: Alert on failed login attempts
- Permission Changes: Alert on permission modifications
- Compliance Violations: Alert on policy violations