Introduction
If you’ve worked with Workspace ONE Tunnel for any length of time, you’ve probably discovered that it’s much more than just a simple VPN client. While most administrators use it for basic per-app VPN functionality, Tunnel’s custom attributes feature opens up a world of advanced configuration possibilities that can solve complex enterprise networking challenges.
In this deep dive, I’ll walk you through the powerful but often overlooked custom attributes functionality in Workspace ONE Tunnel. These aren’t just configuration options – they’re the keys to building sophisticated, enterprise-grade networking solutions that can adapt to your specific business requirements.
Understanding Workspace ONE Tunnel Custom Attributes
What Are Custom Attributes?
Custom attributes in Workspace ONE Tunnel are advanced configuration parameters that allow you to fine-tune tunnel behavior beyond the standard profile settings. Think of them as the “advanced settings” that give you granular control over how the tunnel operates, what traffic it handles, and how it integrates with your network infrastructure.
These attributes are particularly powerful because they can be dynamically assigned based on user groups, device types, or even real-time conditions. This means you can create highly customized networking experiences for different user populations without managing multiple tunnel profiles.
Key Categories of Custom Attributes:
- Traffic Routing: Control which traffic goes through the tunnel
- Authentication: Advanced authentication and certificate handling
- Performance: Optimize tunnel performance for specific scenarios
- Security: Enhanced security controls and monitoring
- Integration: Connect with third-party systems and services
- Debugging: Advanced logging and troubleshooting capabilities
The Power of Dynamic Configuration
What makes custom attributes truly powerful is their dynamic nature. Unlike static VPN configurations, Workspace ONE Tunnel can receive and apply custom attributes in real-time based on:
- User Identity: Different settings for different user groups
- Device Context: Adapt based on device type, location, or compliance status
- Network Conditions: Respond to network quality or security posture
- Time-based Rules: Apply different configurations based on time of day or business hours
- Application Requirements: Customize tunnel behavior for specific applications
Advanced Traffic Routing with Custom Attributes
Intelligent Split Tunneling
One of the most powerful uses of custom attributes is creating intelligent split tunneling rules that go far beyond simple include/exclude lists.
Dynamic Domain-Based Routing
# Custom attribute configuration for dynamic domain routing
{
"tunnelAttributes": {
"dynamicDomainRouting": {
"enabled": true,
"rules": [
{
"name": "corporate_domains",
"domains": [
"*.company.com",
"*.internal.corp",
"sharepoint.company.com",
"*.office365.com"
],
"action": "tunnel",
"priority": 100
},
{
"name": "cloud_services",
"domains": [
"*.amazonaws.com",
"*.azure.com",
"*.googlecloud.com"
],
"action": "direct",
"priority": 90,
"conditions": {
"userGroups": ["CloudDevelopers", "DevOps"],
"deviceCompliance": true
}
},
{
"name": "security_sensitive",
"domains": [
"*.banking.com",
"*.financial.corp",
"*.confidential.company.com"
],
"action": "tunnel",
"priority": 200,
"enforceEncryption": true,
"requireMFA": true
}
]
}
}
}
Application-Aware Routing
# Application-specific routing configuration
{
"tunnelAttributes": {
"applicationRouting": {
"enabled": true,
"applications": [
{
"name": "Microsoft Office Suite",
"bundleIds": [
"com.microsoft.office.outlook",
"com.microsoft.office.word",
"com.microsoft.office.excel",
"com.microsoft.office.powerpoint"
],
"routingRule": "tunnel",
"optimizations": {
"enableCompression": true,
"prioritizeTraffic": true,
"cachePolicy": "aggressive"
}
},
{
"name": "Development Tools",
"bundleIds": [
"com.docker.docker",
"com.github.desktop",
"com.jetbrains.intellij"
],
"routingRule": "direct",
"conditions": {
"userGroups": ["Developers"],
"networkLocation": "corporate"
}
},
{
"name": "Video Conferencing",
"bundleIds": [
"us.zoom.videomeetings",
"com.microsoft.teams",
"com.webex.meetings"
],
"routingRule": "optimized",
"qosSettings": {
"priority": "high",
"bandwidthAllocation": "guaranteed",
"latencyOptimization": true
}
}
]
}
}
}
Geo-Location Based Routing
Custom attributes can enable sophisticated geo-location based routing that adapts tunnel behavior based on user location.
# Geo-location based tunnel configuration
{
"tunnelAttributes": {
"geoLocationRouting": {
"enabled": true,
"regions": [
{
"name": "North America",
"countries": ["US", "CA", "MX"],
"tunnelEndpoints": [
"tunnel-us-east.company.com",
"tunnel-us-west.company.com",
"tunnel-ca-central.company.com"
],
"routingRules": {
"corporateTraffic": "tunnel",
"internetTraffic": "direct",
"cloudServices": "optimized"
}
},
{
"name": "Europe",
"countries": ["GB", "DE", "FR", "IT", "ES"],
"tunnelEndpoints": [
"tunnel-eu-west.company.com",
"tunnel-eu-central.company.com"
],
"routingRules": {
"corporateTraffic": "tunnel",
"internetTraffic": "tunnel", # GDPR compliance
"cloudServices": "tunnel"
},
"complianceSettings": {
"dataLocalization": true,
"encryptionRequired": true
}
},
{
"name": "Asia Pacific",
"countries": ["JP", "AU", "SG", "IN"],
"tunnelEndpoints": [
"tunnel-ap-northeast.company.com",
"tunnel-ap-southeast.company.com"
],
"routingRules": {
"corporateTraffic": "tunnel",
"internetTraffic": "conditional",
"cloudServices": "regional"
},
"performanceOptimizations": {
"compressionLevel": "high",
"protocolOptimization": "asia-pacific"
}
}
],
"fallbackBehavior": {
"unknownLocation": "tunnel",
"connectionFailure": "direct",
"timeoutAction": "cache"
}
}
}
}
Advanced Authentication and Security
Multi-Factor Authentication Integration
Custom attributes can enable sophisticated MFA workflows that integrate with various authentication systems.
# Advanced MFA configuration
{
"tunnelAttributes": {
"advancedAuthentication": {
"mfaSettings": {
"enabled": true,
"providers": [
{
"name": "RSA SecurID",
"type": "radius",
"servers": [
"radius1.company.com:1812",
"radius2.company.com:1812"
],
"sharedSecret": "${RSA_SHARED_SECRET}",
"timeout": 30,
"retries": 3,
"conditions": {
"userGroups": ["Executives", "Finance"],
"riskLevel": "high"
}
},
{
"name": "Microsoft Authenticator",
"type": "oauth2",
"endpoint": "https://login.microsoftonline.com/common/oauth2/v2.0/token",
"clientId": "${AZURE_CLIENT_ID}",
"scopes": ["openid", "profile", "email"],
"conditions": {
"userGroups": ["StandardUsers"],
"deviceCompliance": true
}
},
{
"name": "YubiKey",
"type": "fido2",
"relyingParty": "tunnel.company.com",
"allowedCredentials": "registered",
"userVerification": "required",
"conditions": {
"userGroups": ["Administrators", "Developers"],
"networkLocation": "external"
}
}
],
"adaptiveAuthentication": {
"enabled": true,
"riskFactors": [
{
"factor": "deviceTrust",
"weight": 0.3,
"thresholds": {
"low": 0.8,
"medium": 0.6,
"high": 0.4
}
},
{
"factor": "locationAnomaly",
"weight": 0.25,
"thresholds": {
"low": 0.9,
"medium": 0.7,
"high": 0.5
}
},
{
"factor": "timeAnomaly",
"weight": 0.2,
"thresholds": {
"low": 0.85,
"medium": 0.65,
"high": 0.45
}
},
{
"factor": "networkReputation",
"weight": 0.25,
"thresholds": {
"low": 0.9,
"medium": 0.7,
"high": 0.5
}
}
]
}
}
}
}
}
Certificate-Based Authentication
Advanced certificate handling enables sophisticated PKI integration scenarios.
# Advanced certificate configuration
{
"tunnelAttributes": {
"certificateAuthentication": {
"enabled": true,
"certificateStores": [
{
"name": "corporate_ca",
"type": "pkcs12",
"location": "device_keychain",
"issuerDN": "CN=Corporate CA, O=Company Inc, C=US",
"validationRules": [
{
"rule": "keyUsage",
"value": "digitalSignature,keyEncipherment"
},
{
"rule": "extendedKeyUsage",
"value": "clientAuth"
},
{
"rule": "certificateAge",
"maxDays": 365
}
]
},
{
"name": "smart_card",
"type": "smartcard",
"readers": ["auto"],
"pinPolicy": {
"required": true,
"cacheTimeout": 300,
"maxAttempts": 3
},
"conditions": {
"userGroups": ["HighSecurity"],
"deviceTypes": ["Windows", "macOS"]
}
}
],
"certificateSelection": {
"automatic": true,
"selectionCriteria": [
{
"priority": 1,
"issuer": "CN=Corporate CA",
"keyUsage": "digitalSignature"
},
{
"priority": 2,
"issuer": "CN=Partner CA",
"keyUsage": "digitalSignature",
"conditions": {
"userGroups": ["Partners"]
}
}
]
},
"revocationChecking": {
"enabled": true,
"methods": ["ocsp", "crl"],
"ocspServers": [
"http://ocsp.company.com",
"http://ocsp-backup.company.com"
],
"crlUrls": [
"http://crl.company.com/corporate.crl"
],
"timeout": 10,
"failureAction": "allow" # or "deny" for strict mode
}
}
}
}
Performance Optimization Attributes
Adaptive Quality of Service
Custom attributes can enable sophisticated QoS that adapts to network conditions and application requirements.
# Adaptive QoS configuration
{
"tunnelAttributes": {
"adaptiveQoS": {
"enabled": true,
"networkProfiles": [
{
"name": "high_bandwidth",
"conditions": {
"minBandwidth": "50Mbps",
"maxLatency": "20ms",
"packetLoss": "<0.1%"
},
"settings": {
"compressionLevel": "low",
"encryptionMode": "aes256",
"bufferSize": "large",
"concurrentConnections": 10
}
},
{
"name": "mobile_network",
"conditions": {
"connectionType": "cellular",
"bandwidth": "<10Mbps"
},
"settings": {
"compressionLevel": "high",
"encryptionMode": "aes128",
"bufferSize": "small",
"concurrentConnections": 3,
"dataOptimization": true
}
},
{
"name": "satellite_link",
"conditions": {
"latency": ">500ms",
"bandwidth": "<5Mbps"
},
"settings": {
"compressionLevel": "maximum",
"protocolOptimization": "high_latency",
"tcpOptimization": true,
"bufferSize": "large",
"keepAliveInterval": 30
}
}
],
"trafficShaping": {
"enabled": true,
"classes": [
{
"name": "voice",
"priority": 1,
"bandwidth": "guaranteed_256k",
"latency": "low",
"applications": [
"com.skype.skype",
"us.zoom.videomeetings"
]
},
{
"name": "video",
"priority": 2,
"bandwidth": "guaranteed_2M",
"latency": "medium",
"applications": [
"com.netflix.mediaclient",
"com.youtube.ios"
]
},
{
"name": "business_critical",
"priority": 3,
"bandwidth": "guaranteed_1M",
"applications": [
"com.salesforce.salesforce",
"com.microsoft.office.*"
]
},
{
"name": "bulk_data",
"priority": 4,
"bandwidth": "best_effort",
"applications": [
"com.dropbox.dropbox",
"com.google.drive"
]
}
]
}
}
}
}
Connection Optimization
Advanced connection optimization can significantly improve user experience, especially in challenging network conditions.
# Connection optimization settings
{
"tunnelAttributes": {
"connectionOptimization": {
"multiPath": {
"enabled": true,
"interfaces": ["wifi", "cellular", "ethernet"],
"loadBalancing": {
"algorithm": "weighted_round_robin",
"weights": {
"ethernet": 100,
"wifi": 80,
"cellular": 40
}
},
"failover": {
"enabled": true,
"healthCheck": {
"interval": 5,
"timeout": 3,
"retries": 2
},
"switchThreshold": {
"latencyIncrease": "50%",
"packetLoss": "2%",
"bandwidthDecrease": "30%"
}
}
},
"protocolOptimization": {
"tcpOptimization": {
"enabled": true,
"windowScaling": true,
"selectiveAck": true,
"timestamping": true,
"fastOpen": true
},
"udpOptimization": {
"enabled": true,
"bufferSize": "auto",
"checksumOffload": true
},
"compressionAlgorithms": [
{
"name": "lz4",
"priority": 1,
"conditions": {
"cpuUsage": "<50%",
"bandwidth": ">10Mbps"
}
},
{
"name": "gzip",
"priority": 2,
"conditions": {
"cpuUsage": "<70%",
"bandwidth": "<10Mbps"
}
},
{
"name": "deflate",
"priority": 3,
"conditions": {
"cpuUsage": ">70%"
}
}
]
},
"caching": {
"enabled": true,
"policies": [
{
"name": "web_content",
"patterns": ["*.css", "*.js", "*.png", "*.jpg"],
"maxAge": 3600,
"maxSize": "100MB"
},
{
"name": "api_responses",
"patterns": ["/api/*/static/*"],
"maxAge": 300,
"maxSize": "50MB"
}
]
}
}
}
}
Integration with Third-Party Systems
SIEM Integration
Custom attributes can enable sophisticated logging and SIEM integration for security monitoring.
# SIEM integration configuration
{
"tunnelAttributes": {
"siemIntegration": {
"enabled": true,
"logTargets": [
{
"name": "splunk_enterprise",
"type": "syslog",
"servers": [
"splunk1.company.com:514",
"splunk2.company.com:514"
],
"protocol": "tcp",
"format": "cef",
"facility": "local0",
"severity": "info"
},
{
"name": "azure_sentinel",
"type": "rest_api",
"endpoint": "https://company.ods.opinsights.azure.com/api/logs",
"authentication": {
"type": "shared_key",
"workspaceId": "${AZURE_WORKSPACE_ID}",
"sharedKey": "${AZURE_SHARED_KEY}"
},
"logType": "WorkspaceOneTunnel",
"batchSize": 100,
"flushInterval": 30
}
],
"eventTypes": [
{
"name": "connection_established",
"severity": "info",
"fields": [
"timestamp",
"userId",
"deviceId",
"sourceIP",
"tunnelEndpoint",
"authMethod",
"geoLocation"
]
},
{
"name": "connection_failed",
"severity": "warning",
"fields": [
"timestamp",
"userId",
"deviceId",
"sourceIP",
"failureReason",
"authAttempts",
"geoLocation"
]
},
{
"name": "suspicious_activity",
"severity": "critical",
"fields": [
"timestamp",
"userId",
"deviceId",
"sourceIP",
"activityType",
"riskScore",
"geoLocation",
"userAgent"
],
"triggers": [
"multiple_failed_auth",
"geo_impossible_travel",
"unusual_data_volume",
"suspicious_destinations"
]
}
],
"enrichment": {
"enabled": true,
"sources": [
{
"name": "threat_intelligence",
"type": "api",
"endpoint": "https://threat-intel.company.com/api/lookup",
"fields": ["sourceIP", "destinationIP"],
"cacheTimeout": 3600
},
{
"name": "user_context",
"type": "ldap",
"server": "ldap.company.com",
"baseDN": "ou=users,dc=company,dc=com",
"fields": ["department", "title", "manager"],
"cacheTimeout": 1800
}
]
}
}
}
}
Network Access Control Integration
Integration with NAC systems enables dynamic network access based on device posture and user context.
# NAC integration configuration
{
"tunnelAttributes": {
"nacIntegration": {
"enabled": true,
"providers": [
{
"name": "cisco_ise",
"type": "radius",
"servers": [
"ise1.company.com:1812",
"ise2.company.com:1812"
],
"sharedSecret": "${ISE_SHARED_SECRET}",
"attributes": {
"deviceCompliance": "Cisco-AVPair=device-compliance",
"userRole": "Cisco-AVPair=user-role",
"networkSegment": "Cisco-AVPair=network-segment"
}
},
{
"name": "aruba_clearpass",
"type": "rest_api",
"endpoint": "https://clearpass.company.com/api",
"authentication": {
"type": "oauth2",
"clientId": "${CLEARPASS_CLIENT_ID}",
"clientSecret": "${CLEARPASS_CLIENT_SECRET}"
}
}
],
"postureAssessment": {
"enabled": true,
"checks": [
{
"name": "antivirus_status",
"type": "registry",
"path": "HKLM\SOFTWARE\Microsoft\Windows Defender",
"value": "DisableAntiVirus",
"expectedValue": "0"
},
{
"name": "firewall_status",
"type": "wmi",
"query": "SELECT * FROM Win32_Service WHERE Name='MpsSvc'",
"expectedState": "Running"
},
{
"name": "patch_level",
"type": "api",
"endpoint": "/api/device/patches",
"threshold": "30_days"
}
],
"actions": [
{
"condition": "antivirus_disabled",
"action": "quarantine",
"networkSegment": "remediation_vlan"
},
{
"condition": "firewall_disabled",
"action": "restrict",
"allowedDestinations": ["patch.company.com", "antivirus.company.com"]
},
{
"condition": "patches_outdated",
"action": "notify",
"message": "Please update your system to access corporate resources"
}
]
}
}
}
}
Advanced Debugging and Troubleshooting
Enhanced Logging Configuration
Custom attributes can enable sophisticated logging that helps with troubleshooting complex tunnel issues.
# Advanced logging configuration
{
"tunnelAttributes": {
"advancedLogging": {
"enabled": true,
"logLevels": {
"connection": "debug",
"authentication": "info",
"routing": "debug",
"performance": "info",
"security": "warning"
},
"logTargets": [
{
"name": "local_file",
"type": "file",
"path": "/var/log/tunnel/detailed.log",
"rotation": {
"maxSize": "100MB",
"maxFiles": 10,
"compress": true
}
},
{
"name": "remote_syslog",
"type": "syslog",
"server": "logs.company.com:514",
"protocol": "tcp",
"facility": "local1"
}
],
"contextualLogging": {
"enabled": true,
"includeFields": [
"userId",
"deviceId",
"sessionId",
"sourceIP",
"geoLocation",
"networkInterface",
"tunnelEndpoint"
],
"sensitiveDataMasking": {
"enabled": true,
"fields": ["password", "token", "certificate"]
}
},
"performanceMetrics": {
"enabled": true,
"metrics": [
{
"name": "connection_latency",
"type": "histogram",
"buckets": [10, 50, 100, 500, 1000, 5000]
},
{
"name": "throughput",
"type": "gauge",
"unit": "bytes_per_second"
},
{
"name": "packet_loss",
"type": "counter",
"unit": "percentage"
},
{
"name": "authentication_time",
"type": "histogram",
"buckets": [100, 500, 1000, 2000, 5000]
}
],
"exportTargets": [
{
"name": "prometheus",
"endpoint": "http://prometheus.company.com:9090/api/v1/write",
"interval": 30
},
{
"name": "influxdb",
"endpoint": "http://influxdb.company.com:8086/write",
"database": "tunnel_metrics",
"interval": 60
}
]
}
}
}
}
Real-time Diagnostics
Advanced diagnostic capabilities can help identify and resolve issues quickly.
# Real-time diagnostics configuration
{
"tunnelAttributes": {
"diagnostics": {
"enabled": true,
"healthChecks": [
{
"name": "tunnel_connectivity",
"type": "ping",
"targets": [
"tunnel-primary.company.com",
"tunnel-backup.company.com"
],
"interval": 30,
"timeout": 5,
"threshold": {
"warning": "100ms",
"critical": "500ms"
}
},
{
"name": "dns_resolution",
"type": "dns_lookup",
"domains": [
"internal.company.com",
"mail.company.com",
"sharepoint.company.com"
],
"interval": 60,
"timeout": 3
},
{
"name": "authentication_service",
"type": "http_check",
"url": "https://auth.company.com/health",
"interval": 120,
"timeout": 10,
"expectedStatus": 200
}
],
"networkTracing": {
"enabled": true,
"triggers": [
"connection_failure",
"high_latency",
"packet_loss"
],
"duration": 300,
"captureFilters": [
"host tunnel.company.com",
"port 443 or port 1194"
],
"storage": {
"location": "/var/log/tunnel/traces/",
"maxSize": "1GB",
"retention": "7d"
}
},
"automaticRemediation": {
"enabled": true,
"actions": [
{
"trigger": "dns_failure",
"action": "flush_dns_cache",
"maxAttempts": 3
},
{
"trigger": "certificate_error",
"action": "refresh_certificate",
"maxAttempts": 2
},
{
"trigger": "connection_timeout",
"action": "switch_endpoint",
"maxAttempts": 1
}
]
}
}
}
}
Real-World Implementation Examples
Example 1: Financial Services Implementation
A large financial services company needed to provide secure access to trading applications while maintaining strict compliance requirements.
Requirements:
- Multi-factor authentication for all connections
- Geo-location restrictions for sensitive applications
- Real-time monitoring and alerting
- Compliance with financial regulations
- High availability and performance
Custom Attributes Solution:
# Financial services tunnel configuration
{
"tunnelAttributes": {
"financialServicesProfile": {
"complianceMode": "strict",
"authentication": {
"mfaRequired": true,
"certificateRequired": true,
"biometricRequired": true,
"sessionTimeout": 480 # 8 hours
},
"geoRestrictions": {
"allowedCountries": ["US", "CA", "GB"],
"blockedRegions": ["high_risk_countries"],
"tradingHours": {
"enabled": true,
"timezone": "America/New_York",
"hours": "06:00-20:00",
"weekdays": true,
"weekends": false
}
},
"applicationAccess": {
"tradingPlatform": {
"requiresSecureWorkstation": true,
"allowedDeviceTypes": ["corporate_desktop"],
"networkSegment": "trading_vlan",
"monitoring": "enhanced"
},
"emailAccess": {
"dlpEnabled": true,
"encryptionRequired": true,
"auditLogging": "full"
}
},
"monitoring": {
"realTimeAlerts": true,
"suspiciousActivityDetection": true,
"complianceReporting": "daily"
}
}
}
}
Example 2: Healthcare Organization
A healthcare organization needed to provide secure access to patient data while ensuring HIPAA compliance.
Custom Attributes Solution:
# Healthcare tunnel configuration
{
"tunnelAttributes": {
"hipaaCompliantProfile": {
"dataProtection": {
"encryptionStandard": "FIPS_140_2",
"keyManagement": "hsm",
"dataClassification": "phi_protected"
},
"accessControls": {
"roleBasedAccess": {
"physicians": {
"allowedSystems": ["ehr", "pacs", "lab"],
"accessHours": "24x7",
"mfaRequired": true
},
"nurses": {
"allowedSystems": ["ehr", "medication"],
"accessHours": "shift_based",
"mfaRequired": true
},
"administrators": {
"allowedSystems": ["all"],
"accessHours": "business_hours",
"mfaRequired": true,
"approvalRequired": true
}
}
},
"auditLogging": {
"enabled": true,
"logLevel": "detailed",
"retention": "7_years",
"tamperProtection": true,
"realTimeMonitoring": true
},
"deviceRequirements": {
"encryptionRequired": true,
"antivirusRequired": true,
"patchLevel": "current",
"screenLockRequired": true
}
}
}
}
Best Practices for Custom Attributes
Planning and Design
When implementing custom attributes, proper planning is essential for success:
Design Principles:
- Start Simple: Begin with basic custom attributes and gradually add complexity
- Document Everything: Maintain detailed documentation of all custom attributes
- Test Thoroughly: Test all configurations in a lab environment first
- Monitor Performance: Ensure custom attributes don't negatively impact performance
- Plan for Scale: Design attributes that can handle your expected user load
- Security First: Always consider security implications of custom configurations
Implementation Guidelines
Configuration Management:
# Configuration template for custom attributes
{
"metadata": {
"version": "1.0",
"description": "Custom tunnel attributes for [organization]",
"lastModified": "2023-01-25T10:30:00Z",
"author": "IT Security Team",
"environment": "production"
},
"tunnelAttributes": {
"organizationProfile": {
"name": "${ORGANIZATION_NAME}",
"environment": "${ENVIRONMENT}",
"complianceFramework": "${COMPLIANCE_FRAMEWORK}",
"baseConfiguration": {
"encryption": "aes256",
"authentication": "certificate_mfa",
"logging": "enhanced",
"monitoring": "enabled"
},
"userGroupProfiles": {
"executives": {
"inherits": "baseConfiguration",
"overrides": {
"mfaRequired": true,
"sessionTimeout": 240,
"geoRestrictions": "strict"
}
},
"employees": {
"inherits": "baseConfiguration",
"overrides": {
"sessionTimeout": 480,
"geoRestrictions": "moderate"
}
},
"contractors": {
"inherits": "baseConfiguration",
"overrides": {
"sessionTimeout": 120,
"geoRestrictions": "strict",
"accessRestrictions": "limited"
}
}
}
}
}
}
Monitoring and Maintenance
Ongoing monitoring and maintenance are crucial for custom attribute success:
Monitoring Checklist:
- Performance Metrics: Monitor connection times, throughput, and error rates
- Security Events: Track authentication failures, policy violations, and suspicious activity
- User Experience: Monitor user satisfaction and support ticket trends
- Compliance Status: Ensure ongoing compliance with regulatory requirements
- Configuration Drift: Regularly audit configurations against approved baselines
Troubleshooting Common Issues
Configuration Problems
Common configuration issues and their solutions:
Issue: Custom Attributes Not Applied
- Check Profile Assignment: Ensure the profile with custom attributes is assigned to the correct user groups
- Verify Syntax: Validate JSON syntax and attribute names
- Review Conditions: Check that conditional logic is correctly configured
- Test Inheritance: Verify that attribute inheritance is working as expected
Issue: Performance Degradation
- Review Logging Levels: Excessive logging can impact performance
- Check Compression Settings: Inappropriate compression can increase CPU usage
- Analyze Network Conditions: Ensure QoS settings match actual network conditions
- Monitor Resource Usage: Check CPU and memory usage on tunnel endpoints
Authentication Issues
Issue: MFA Failures
- Check Provider Configuration: Verify MFA provider settings and connectivity
- Review Time Synchronization: Ensure all systems have synchronized time
- Validate Certificates: Check certificate validity and trust chains
- Test Fallback Methods: Ensure fallback authentication methods work
Conclusion
Workspace ONE Tunnel's custom attributes feature transforms it from a simple VPN client into a sophisticated, enterprise-grade networking solution. By understanding and leveraging these advanced capabilities, you can create highly customized, secure, and efficient networking experiences that adapt to your specific business requirements.
The key to success with custom attributes is starting with a clear understanding of your requirements, implementing changes gradually, and maintaining comprehensive monitoring and documentation. Don't try to implement everything at once – build your custom attribute strategy incrementally, testing each component thoroughly before moving to the next.
"Custom attributes in Workspace ONE Tunnel are like having a programming language for network policy. They give you the power to create solutions that perfectly match your business needs, but with that power comes the responsibility to design, implement, and maintain them properly." - Senior Network Architect
Remember that custom attributes are powerful tools that require careful planning and ongoing maintenance. Document your implementations thoroughly, monitor their performance closely, and be prepared to evolve your configurations as your business requirements change. With the right approach, custom attributes can transform Workspace ONE Tunnel into one of the most flexible and powerful components of your enterprise networking infrastructure.