n8n-nodes-arubaclearpass 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 Cybernetic Node Composer
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# n8n-nodes-arubaclearpass
|
|
2
|
+
|
|
3
|
+
This is an n8n community node for Aruba ClearPass API integration. It provides comprehensive access to ClearPass identity, policy, and enforcement management capabilities for network security operations.
|
|
4
|
+
|
|
5
|
+
[Aruba ClearPass](https://www.arubanetworks.com/products/network-management-operations/clearpass/) is a comprehensive network access control (NAC) solution that provides policy management, device profiling, and network security for enterprise environments.
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.
|
|
10
|
+
|
|
11
|
+
## Operations
|
|
12
|
+
|
|
13
|
+
This node provides access to all major ClearPass API domains:
|
|
14
|
+
|
|
15
|
+
### Identities
|
|
16
|
+
- **Devices**: Manage network devices, device profiling, and device attributes
|
|
17
|
+
- **Endpoints**: Monitor and manage endpoint devices, endpoint profiling
|
|
18
|
+
- **Guest Users**: Create, update, and manage guest user accounts and access
|
|
19
|
+
- **Local Users**: Manage local user accounts, passwords, and user attributes
|
|
20
|
+
|
|
21
|
+
### Policy Elements
|
|
22
|
+
- **Roles**: Define and manage user roles and role-based access control
|
|
23
|
+
- **Role Mappings**: Configure role mapping rules and policies
|
|
24
|
+
- **Enforcement Policies**: Create and manage network enforcement policies
|
|
25
|
+
|
|
26
|
+
### Enforcement Profile
|
|
27
|
+
- **Enforcement Profiles**: Configure network enforcement profiles and VLAN assignments
|
|
28
|
+
|
|
29
|
+
## Key Features
|
|
30
|
+
|
|
31
|
+
### Device Management
|
|
32
|
+
- Add, update, and delete network devices
|
|
33
|
+
- Configure device attributes and settings
|
|
34
|
+
- Monitor device status and connectivity
|
|
35
|
+
- Manage device profiling and classification
|
|
36
|
+
|
|
37
|
+
### User Management
|
|
38
|
+
- Create and manage guest user accounts
|
|
39
|
+
- Configure local user accounts and credentials
|
|
40
|
+
- Set user attributes and permissions
|
|
41
|
+
- Manage user roles and access levels
|
|
42
|
+
|
|
43
|
+
### Policy Management
|
|
44
|
+
- Define role-based access control policies
|
|
45
|
+
- Configure enforcement rules and VLAN assignments
|
|
46
|
+
- Manage policy mapping and enforcement profiles
|
|
47
|
+
- Monitor policy compliance and violations
|
|
48
|
+
|
|
49
|
+
### Endpoint Control
|
|
50
|
+
- Track and manage endpoint devices
|
|
51
|
+
- Configure endpoint profiling rules
|
|
52
|
+
- Monitor endpoint compliance and status
|
|
53
|
+
- Manage endpoint access and permissions
|
|
54
|
+
|
|
55
|
+
## Authentication
|
|
56
|
+
|
|
57
|
+
This node supports both API key and OAuth2 authentication with ClearPass:
|
|
58
|
+
|
|
59
|
+
### API Key Authentication
|
|
60
|
+
1. Log into your ClearPass Policy Manager
|
|
61
|
+
2. Navigate to Administration > API Services > API Clients
|
|
62
|
+
3. Create a new API client or use an existing one
|
|
63
|
+
4. Note the Client ID and Client Secret
|
|
64
|
+
5. Configure the API credentials in n8n
|
|
65
|
+
|
|
66
|
+
### OAuth2 Authentication
|
|
67
|
+
1. Configure OAuth2 application in ClearPass
|
|
68
|
+
2. Set up the OAuth2 credentials in n8n
|
|
69
|
+
3. Authorize the application for API access
|
|
70
|
+
|
|
71
|
+
### Setting up Authentication
|
|
72
|
+
|
|
73
|
+
1. Access your ClearPass Policy Manager web interface
|
|
74
|
+
2. Navigate to Administration > API Services
|
|
75
|
+
3. Configure API access and create application credentials
|
|
76
|
+
4. Set appropriate permissions for the API operations you need
|
|
77
|
+
5. Use the credentials in n8n's ClearPass API credential configuration
|
|
78
|
+
|
|
79
|
+
## Compatibility
|
|
80
|
+
|
|
81
|
+
- Requires n8n version 1.0.0 or later
|
|
82
|
+
- Compatible with ClearPass API versions 6.7 and later
|
|
83
|
+
- Supports ClearPass Policy Manager deployments
|
|
84
|
+
- Works with both on-premises and cloud ClearPass instances
|
|
85
|
+
|
|
86
|
+
## Resources
|
|
87
|
+
|
|
88
|
+
- [ClearPass API Documentation](https://developer.arubanetworks.com/clearpass)
|
|
89
|
+
- [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
|
|
90
|
+
- [ClearPass Policy Manager User Guide](https://www.arubanetworks.com/techdocs/ClearPass/)
|
|
91
|
+
|
|
92
|
+
## License
|
|
93
|
+
|
|
94
|
+
MIT License - see LICENSE file for details
|
|
95
|
+
|
|
96
|
+
## Support
|
|
97
|
+
|
|
98
|
+
This is a community-maintained node. For issues and questions:
|
|
99
|
+
|
|
100
|
+
- Check the [ClearPass API documentation](https://developer.arubanetworks.com/clearpass) for API-specific questions
|
|
101
|
+
- Use the [n8n community forum](https://community.n8n.io) for general n8n questions
|
|
102
|
+
- Report bugs and feature requests in the GitHub repository
|
|
103
|
+
|
|
104
|
+
## Contributing
|
|
105
|
+
|
|
106
|
+
Contributions are welcome! Please read our contributing guidelines and submit pull requests for any improvements.
|
|
107
|
+
|
|
108
|
+
## Version History
|
|
109
|
+
|
|
110
|
+
### 1.0.0
|
|
111
|
+
- Initial release with comprehensive ClearPass API support
|
|
112
|
+
- Identity management: Devices, Endpoints, Guest Users, Local Users
|
|
113
|
+
- Policy management: Roles, Role Mappings, Enforcement Policies
|
|
114
|
+
- Enforcement profile management
|
|
115
|
+
- API key and OAuth2 authentication support
|
|
116
|
+
- Comprehensive CRUD operations for all resource types
|
|
117
|
+
- Enterprise-grade error handling and logging
|
|
118
|
+
|
|
119
|
+
## Use Cases
|
|
120
|
+
|
|
121
|
+
### Network Access Control
|
|
122
|
+
- Automate guest user provisioning and management
|
|
123
|
+
- Implement dynamic policy enforcement based on device profiling
|
|
124
|
+
- Monitor and respond to network access violations
|
|
125
|
+
|
|
126
|
+
### Identity Management
|
|
127
|
+
- Synchronize user accounts with external systems
|
|
128
|
+
- Automate role-based access control assignments
|
|
129
|
+
- Manage device registration and compliance
|
|
130
|
+
|
|
131
|
+
### Security Operations
|
|
132
|
+
- Monitor endpoint compliance and security posture
|
|
133
|
+
- Automate response to security policy violations
|
|
134
|
+
- Generate reports on network access and policy enforcement
|
|
135
|
+
|
|
136
|
+
### Integration Scenarios
|
|
137
|
+
- Connect ClearPass with ITSM systems for automated ticket creation
|
|
138
|
+
- Integrate with HR systems for user lifecycle management
|
|
139
|
+
- Sync with asset management systems for device tracking
|
|
140
|
+
- Connect with SIEM systems for security event correlation
|
|
@@ -68,9 +68,16 @@ async function createEnforcementProfile() {
|
|
|
68
68
|
body.action = action;
|
|
69
69
|
}
|
|
70
70
|
// Add complex configuration
|
|
71
|
-
const
|
|
71
|
+
const profileConfigRaw = this.getNodeParameter('profileConfig', 0, '{}');
|
|
72
72
|
try {
|
|
73
|
-
|
|
73
|
+
let profileConfig;
|
|
74
|
+
// Handle both string (JSON) and object inputs
|
|
75
|
+
if (typeof profileConfigRaw === 'string') {
|
|
76
|
+
profileConfig = JSON.parse(profileConfigRaw);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
profileConfig = profileConfigRaw;
|
|
80
|
+
}
|
|
74
81
|
// Merge the profile config with the body
|
|
75
82
|
Object.entries(profileConfig).forEach(([key, value]) => {
|
|
76
83
|
body[key] = value;
|
|
@@ -168,7 +175,14 @@ async function updateEnforcementProfile() {
|
|
|
168
175
|
// Handle complex profile configuration if provided
|
|
169
176
|
if (updateFields.profileConfig) {
|
|
170
177
|
try {
|
|
171
|
-
|
|
178
|
+
let profileConfig;
|
|
179
|
+
// Handle both string (JSON) and object inputs
|
|
180
|
+
if (typeof updateFields.profileConfig === 'string') {
|
|
181
|
+
profileConfig = JSON.parse(updateFields.profileConfig);
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
profileConfig = updateFields.profileConfig;
|
|
185
|
+
}
|
|
172
186
|
// Merge the profile config with the body
|
|
173
187
|
Object.entries(profileConfig).forEach(([key, value]) => {
|
|
174
188
|
body[key] = value;
|
|
@@ -219,7 +233,14 @@ async function updateEnforcementProfileByName() {
|
|
|
219
233
|
// Handle complex profile configuration if provided
|
|
220
234
|
if (updateFields.profileConfig) {
|
|
221
235
|
try {
|
|
222
|
-
|
|
236
|
+
let profileConfig;
|
|
237
|
+
// Handle both string (JSON) and object inputs
|
|
238
|
+
if (typeof updateFields.profileConfig === 'string') {
|
|
239
|
+
profileConfig = JSON.parse(updateFields.profileConfig);
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
profileConfig = updateFields.profileConfig;
|
|
243
|
+
}
|
|
223
244
|
// Merge the profile config with the body
|
|
224
245
|
Object.entries(profileConfig).forEach(([key, value]) => {
|
|
225
246
|
body[key] = value;
|
|
@@ -267,9 +288,16 @@ async function replaceEnforcementProfile() {
|
|
|
267
288
|
body.action = action;
|
|
268
289
|
}
|
|
269
290
|
// Add complex configuration
|
|
270
|
-
const
|
|
291
|
+
const profileConfigRaw = this.getNodeParameter('profileConfig', 0, '{}');
|
|
271
292
|
try {
|
|
272
|
-
|
|
293
|
+
let profileConfig;
|
|
294
|
+
// Handle both string (JSON) and object inputs
|
|
295
|
+
if (typeof profileConfigRaw === 'string') {
|
|
296
|
+
profileConfig = JSON.parse(profileConfigRaw);
|
|
297
|
+
}
|
|
298
|
+
else {
|
|
299
|
+
profileConfig = profileConfigRaw;
|
|
300
|
+
}
|
|
273
301
|
// Merge the profile config with the body
|
|
274
302
|
Object.entries(profileConfig).forEach(([key, value]) => {
|
|
275
303
|
body[key] = value;
|
|
@@ -316,9 +344,16 @@ async function replaceEnforcementProfileByName() {
|
|
|
316
344
|
body.action = action;
|
|
317
345
|
}
|
|
318
346
|
// Add complex configuration
|
|
319
|
-
const
|
|
347
|
+
const profileConfigRaw = this.getNodeParameter('profileConfig', 0, '{}');
|
|
320
348
|
try {
|
|
321
|
-
|
|
349
|
+
let profileConfig;
|
|
350
|
+
// Handle both string (JSON) and object inputs
|
|
351
|
+
if (typeof profileConfigRaw === 'string') {
|
|
352
|
+
profileConfig = JSON.parse(profileConfigRaw);
|
|
353
|
+
}
|
|
354
|
+
else {
|
|
355
|
+
profileConfig = profileConfigRaw;
|
|
356
|
+
}
|
|
322
357
|
// Merge the profile config with the body
|
|
323
358
|
Object.entries(profileConfig).forEach(([key, value]) => {
|
|
324
359
|
body[key] = value;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "n8n-nodes-arubaclearpass",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "n8n community node for Aruba ClearPass API integration with comprehensive identity, policy, and enforcement profile management",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"n8n-community-node-package",
|
|
File without changes
|