Admin Users API
Summary
Admin User API methods allow clients to perform CRUD (Create, Read, Update and Delete) operations on admin users and their roles.
Description
The Admin Users API is exposed by the Admin Node Manager. Admin users are the users used to perform management operations on the domain. RBAC is applied to all management requests in order to determine if the admin user is allowed to invoke the request. This API is used to manage admin user accounts and RBAC roles for domain management services. This API will update the contents of the Admin User Store, i.e. the VDISTDIR/conf/adminUsers.json file.The mapping of roles to permissions is performed outside of this API in the VDISTDIR/conf/acl.json file.
Resources
GET /api/adminusers/adminusers/
Summary
Get the admin users store
Description
Get the admin users store
Parameters
none
Status Codes
HTTP Status Code | Reason |
---|---|
200 | OK |
500 | Internal Server Error |
Returns Array
[ AdminUserStore ]
Example
GET https://localhost:8075/api/adminusers/adminusers/
ResponseHTTP 1.1 200 OK
{
"result" : {
"productVersion" : "7.3.0",
"version" : 1,
"timestamp" : 0,
"adminUsers" : [ {
"id" : "user-1",
"name" : "admin",
"roles" : [ "role-1", "role-6", "role-7" ]
} ],
"adminUserPasswords" : {
"user-1" : "Y2hhbmdlbWU="
},
"adminUserRoles" : [ {
"id" : "role-1",
"name" : "API Server Administrator"
}, {
"id" : "role-2",
"name" : "API Server Operator"
}, {
"id" : "role-5",
"name" : "Deployer"
}, {
"id" : "role-6",
"name" : "KPS Administrator"
}, {
"id" : "role-7",
"name" : "Policy Developer"
} ],
"uniqueIdCounters" : {
"User" : 2,
"Role" : 8
}
}
}
PUT /api/adminusers/adminusers/
Summary
Updates the Admin User Store on disk.
Description
Updates the Admin User Store on disk. Used to replicate version across Node Managers
Parameters
Parameter | Description | Data Type | Location | Required | Multiple |
---|---|---|---|---|---|
- |
The admin user store | AdminUserStore | body | Required |
Status Codes
HTTP Status Code | Reason |
---|---|
200 | OK |
500 | Internal Server Error |
Returns Array
[ AdminUserStore ]
Example
PUT https://localhost:8075/api/adminusers/adminusers/
ResponseHTTP 1.1 200 OK
{
"result" : {
"productVersion" : "7.3.0",
"version" : 1,
"timestamp" : 0,
"adminUsers" : [ {
"id" : "user-1",
"name" : "admin",
"roles" : [ "role-1", "role-6", "role-7" ]
} ],
"adminUserPasswords" : {
"user-1" : "Y2hhbmdlbWU="
},
"adminUserRoles" : [ {
"id" : "role-1",
"name" : "API Server Administrator"
}, {
"id" : "role-2",
"name" : "API Server Operator"
}, {
"id" : "role-5",
"name" : "Deployer"
}, {
"id" : "role-6",
"name" : "KPS Administrator"
}, {
"id" : "role-7",
"name" : "Policy Developer"
} ],
"uniqueIdCounters" : {
"User" : 2,
"Role" : 8
}
}
}
GET /api/adminusers/adminusers/passwordpolicy
Summary
Returns the current password policy for admin users.
Description
Returns the current password policy for admin users.
Parameters
none
Status Codes
HTTP Status Code | Reason |
---|---|
200 | OK |
500 | Internal Server Error |
Returns Array
[ PasswordPolicy ]
Example
GET https://localhost:8075/api/adminusers/adminusers/passwordpolicy
ResponseHTTP 1.1 200 OK
{
"result" : {
"assertions" : [ {
"matchCount" : "*",
"enabled" : false,
"assertion" : [ {
"className" : "com.vordel.security.password.assertions.PasswordNotNull",
"attributes" : {
"name" : "Password can not be empty"
}
}, {
"className" : "com.vordel.security.password.assertions.MinimumLength",
"attributes" : {
"minLength" : "4",
"name" : "Password can must be longer than N characters"
}
}, {
"className" : "com.vordel.security.password.assertions.PasswordNotEqualToAccountName",
"attributes" : {
"name" : "Password is the same as the account name"
}
}, {
"className" : "com.vordel.security.password.assertions.PasswordNotEqualToRevervseAccountName",
"attributes" : {
"name" : "Password is the same as the reverse of account name"
}
} ]
}, {
"matchCount" : "3",
"enabled" : true,
"assertion" : [ {
"className" : "com.vordel.security.password.assertions.RegularExpression",
"attributes" : {
"resourceID" : "MUST_HAVE_UPPER_CASE",
"regex" : ".*\\p{Upper}.*",
"name" : "Must contain an upper case character"
}
}, {
"className" : "com.vordel.security.password.assertions.RegularExpression",
"attributes" : {
"resourceID" : "MUST_HAVE_LOWER_CASE",
"regex" : ".*\\p{Lower}.*",
"name" : "Must contain an lower case character"
}
}, {
"className" : "com.vordel.security.password.assertions.RegularExpression",
"attributes" : {
"resourceID" : "MUST_CONTAIN_DIGIT",
"regex" : ".*[0-9].*",
"name" : "Must contain a number"
}
}, {
"className" : "com.vordel.security.password.assertions.SpecialCharacters",
"attributes" : {
"count" : "1",
"name" : "Must contain a special character",
"characters" : "~!@#$%^&*()-_=+\\|[{}];:'\",<.>/ ?"
}
} ]
} ],
"eanbled" : true
}
}
POST /api/adminusers/adminusers/passwordpolicy
Summary
Create a password policy assertions list for admin users.
Description
Create a password policy assertions list for admin users.
Parameters
Parameter | Description | Data Type | Location | Required | Multiple |
---|---|---|---|---|---|
- |
The parameters of the Assertions list to create | String | body |
Status Codes
HTTP Status Code | Reason |
---|---|
200 | OK |
500 | Internal Server Error |
Returns Class
Example
POST https://localhost:8075/api/adminusers/adminusers/passwordpolicy
ResponseHTTP 1.1 200 OK
{
"result" : {
"assertions" : [ {
"matchCount" : "*",
"enabled" : false,
"assertion" : [ {
"className" : "com.vordel.security.password.assertions.PasswordNotNull",
"attributes" : {
"name" : "Password can not be empty"
}
}, {
"className" : "com.vordel.security.password.assertions.MinimumLength",
"attributes" : {
"minLength" : "4",
"name" : "Password can must be longer than N characters"
}
}, {
"className" : "com.vordel.security.password.assertions.PasswordNotEqualToAccountName",
"attributes" : {
"name" : "Password is the same as the account name"
}
}, {
"className" : "com.vordel.security.password.assertions.PasswordNotEqualToRevervseAccountName",
"attributes" : {
"name" : "Password is the same as the reverse of account name"
}
} ]
}, {
"matchCount" : "3",
"enabled" : true,
"assertion" : [ {
"className" : "com.vordel.security.password.assertions.RegularExpression",
"attributes" : {
"resourceID" : "MUST_HAVE_UPPER_CASE",
"regex" : ".*\\p{Upper}.*",
"name" : "Must contain an upper case character"
}
}, {
"className" : "com.vordel.security.password.assertions.RegularExpression",
"attributes" : {
"resourceID" : "MUST_HAVE_LOWER_CASE",
"regex" : ".*\\p{Lower}.*",
"name" : "Must contain an lower case character"
}
}, {
"className" : "com.vordel.security.password.assertions.RegularExpression",
"attributes" : {
"resourceID" : "MUST_CONTAIN_DIGIT",
"regex" : ".*[0-9].*",
"name" : "Must contain a number"
}
}, {
"className" : "com.vordel.security.password.assertions.SpecialCharacters",
"attributes" : {
"count" : "1",
"name" : "Must contain a special character",
"characters" : "~!@#$%^&*()-_=+\\|[{}];:'\",<.>/ ?"
}
} ]
} ],
"eanbled" : true
}
}
PUT /api/adminusers/adminusers/passwordpolicy/
Summary
Modify the current password policy for admin users.
Description
Modify the current password policy for admin users.
Parameters
Parameter | Description | Data Type | Location | Required | Multiple |
---|---|---|---|---|---|
AssertionsID |
String | path | Required | ||
- |
The Password Policy parameters to update | String | body | Required |
Status Codes
HTTP Status Code | Reason |
---|---|
200 | OK |
500 | Internal Server Error |
Returns Class
Example
PUT https://localhost:8075/api/adminusers/adminusers/passwordpolicy/
ResponseHTTP 1.1 200 OK
{
"result" : {
"assertions" : [ {
"matchCount" : "*",
"enabled" : false,
"assertion" : [ {
"className" : "com.vordel.security.password.assertions.PasswordNotNull",
"attributes" : {
"name" : "Password can not be empty"
}
}, {
"className" : "com.vordel.security.password.assertions.MinimumLength",
"attributes" : {
"minLength" : "4",
"name" : "Password can must be longer than N characters"
}
}, {
"className" : "com.vordel.security.password.assertions.PasswordNotEqualToAccountName",
"attributes" : {
"name" : "Password is the same as the account name"
}
}, {
"className" : "com.vordel.security.password.assertions.PasswordNotEqualToRevervseAccountName",
"attributes" : {
"name" : "Password is the same as the reverse of account name"
}
} ]
}, {
"matchCount" : "3",
"enabled" : true,
"assertion" : [ {
"className" : "com.vordel.security.password.assertions.RegularExpression",
"attributes" : {
"resourceID" : "MUST_HAVE_UPPER_CASE",
"regex" : ".*\\p{Upper}.*",
"name" : "Must contain an upper case character"
}
}, {
"className" : "com.vordel.security.password.assertions.RegularExpression",
"attributes" : {
"resourceID" : "MUST_HAVE_LOWER_CASE",
"regex" : ".*\\p{Lower}.*",
"name" : "Must contain an lower case character"
}
}, {
"className" : "com.vordel.security.password.assertions.RegularExpression",
"attributes" : {
"resourceID" : "MUST_CONTAIN_DIGIT",
"regex" : ".*[0-9].*",
"name" : "Must contain a number"
}
}, {
"className" : "com.vordel.security.password.assertions.SpecialCharacters",
"attributes" : {
"count" : "1",
"name" : "Must contain a special character",
"characters" : "~!@#$%^&*()-_=+\\|[{}];:'\",<.>/ ?"
}
} ]
} ],
"eanbled" : true
}
}
GET /api/adminusers/adminusers/passwordpolicy/{AssertionsID}
Summary
Returns a password policy assertions list for admin users.
Description
Returns a password policy assertions list for admin users.
Parameters
Parameter | Description | Data Type | Location | Required | Multiple |
---|---|---|---|---|---|
AssertionsID |
The Assertion list to be read | String | path | Required |
Status Codes
HTTP Status Code | Reason |
---|---|
200 | OK |
500 | Internal Server Error |
Returns Array
[ Assertions ]
Example
GET https://localhost:8075/api/adminusers/adminusers/passwordpolicy/{AssertionsID}
ResponseHTTP 1.1 200 OK
{
"result" : {
"assertions" : [ {
"matchCount" : "*",
"enabled" : false,
"assertion" : [ {
"className" : "com.vordel.security.password.assertions.PasswordNotNull",
"attributes" : {
"name" : "Password can not be empty"
}
}, {
"className" : "com.vordel.security.password.assertions.MinimumLength",
"attributes" : {
"minLength" : "4",
"name" : "Password can must be longer than N characters"
}
}, {
"className" : "com.vordel.security.password.assertions.PasswordNotEqualToAccountName",
"attributes" : {
"name" : "Password is the same as the account name"
}
}, {
"className" : "com.vordel.security.password.assertions.PasswordNotEqualToRevervseAccountName",
"attributes" : {
"name" : "Password is the same as the reverse of account name"
}
} ]
}, {
"matchCount" : "3",
"enabled" : true,
"assertion" : [ {
"className" : "com.vordel.security.password.assertions.RegularExpression",
"attributes" : {
"resourceID" : "MUST_HAVE_UPPER_CASE",
"regex" : ".*\\p{Upper}.*",
"name" : "Must contain an upper case character"
}
}, {
"className" : "com.vordel.security.password.assertions.RegularExpression",
"attributes" : {
"resourceID" : "MUST_HAVE_LOWER_CASE",
"regex" : ".*\\p{Lower}.*",
"name" : "Must contain an lower case character"
}
}, {
"className" : "com.vordel.security.password.assertions.RegularExpression",
"attributes" : {
"resourceID" : "MUST_CONTAIN_DIGIT",
"regex" : ".*[0-9].*",
"name" : "Must contain a number"
}
}, {
"className" : "com.vordel.security.password.assertions.SpecialCharacters",
"attributes" : {
"count" : "1",
"name" : "Must contain a special character",
"characters" : "~!@#$%^&*()-_=+\\|[{}];:'\",<.>/ ?"
}
} ]
} ],
"eanbled" : true
}
}
PUT /api/adminusers/adminusers/passwordpolicy/{AssertionsID}
Summary
Modify a password policy assertions list for admin users.
Description
Modify a password policy assertions list for admin users.
Parameters
Parameter | Description | Data Type | Location | Required | Multiple |
---|---|---|---|---|---|
AssertionsID |
The Assertions' list ID to be updated | String | path | Required | |
- |
The Assertions' list parameters to update | String | body | Required |
Status Codes
HTTP Status Code | Reason |
---|---|
200 | OK |
500 | Internal Server Error |
Returns Class
Example
PUT https://localhost:8075/api/adminusers/adminusers/passwordpolicy/{AssertionsID}
ResponseHTTP 1.1 200 OK
{
"result" : {
"assertions" : [ {
"matchCount" : "*",
"enabled" : false,
"assertion" : [ {
"className" : "com.vordel.security.password.assertions.PasswordNotNull",
"attributes" : {
"name" : "Password can not be empty"
}
}, {
"className" : "com.vordel.security.password.assertions.MinimumLength",
"attributes" : {
"minLength" : "4",
"name" : "Password can must be longer than N characters"
}
}, {
"className" : "com.vordel.security.password.assertions.PasswordNotEqualToAccountName",
"attributes" : {
"name" : "Password is the same as the account name"
}
}, {
"className" : "com.vordel.security.password.assertions.PasswordNotEqualToRevervseAccountName",
"attributes" : {
"name" : "Password is the same as the reverse of account name"
}
} ]
}, {
"matchCount" : "3",
"enabled" : true,
"assertion" : [ {
"className" : "com.vordel.security.password.assertions.RegularExpression",
"attributes" : {
"resourceID" : "MUST_HAVE_UPPER_CASE",
"regex" : ".*\\p{Upper}.*",
"name" : "Must contain an upper case character"
}
}, {
"className" : "com.vordel.security.password.assertions.RegularExpression",
"attributes" : {
"resourceID" : "MUST_HAVE_LOWER_CASE",
"regex" : ".*\\p{Lower}.*",
"name" : "Must contain an lower case character"
}
}, {
"className" : "com.vordel.security.password.assertions.RegularExpression",
"attributes" : {
"resourceID" : "MUST_CONTAIN_DIGIT",
"regex" : ".*[0-9].*",
"name" : "Must contain a number"
}
}, {
"className" : "com.vordel.security.password.assertions.SpecialCharacters",
"attributes" : {
"count" : "1",
"name" : "Must contain a special character",
"characters" : "~!@#$%^&*()-_=+\\|[{}];:'\",<.>/ ?"
}
} ]
} ],
"eanbled" : true
}
}
DELETE /api/adminusers/adminusers/passwordpolicy/{AssertionsID}
Summary
Delete the password policy assertions list for admin users.
Description
Delete the password policy assertions list for admin users.
Parameters
Parameter | Description | Data Type | Location | Required | Multiple |
---|---|---|---|---|---|
AssertionsID |
The Assertions' list ID to be updated | String | path | Required |
Status Codes
HTTP Status Code | Reason |
---|---|
204 | No Content |
404 | Not Found |
500 | Internal Server Error |
POST /api/adminusers/adminusers/passwordpolicy/{AssertionsID}
Summary
Create a password policy assertion for admin users.
Description
Create a password policy assertion for admin users.
Parameters
Parameter | Description | Data Type | Location | Required | Multiple |
---|---|---|---|---|---|
AssertionsID |
The Assertions list to be found | String | path | Required | |
- |
The parameters of the Assertion to create | String | body | Required |
Status Codes
HTTP Status Code | Reason |
---|---|
200 | OK |
500 | Internal Server Error |
Returns Array
[ Assertions ]
Example
POST https://localhost:8075/api/adminusers/adminusers/passwordpolicy/{AssertionsID}
ResponseHTTP 1.1 200 OK
{
"result" : {
"assertions" : [ {
"matchCount" : "*",
"enabled" : false,
"assertion" : [ {
"className" : "com.vordel.security.password.assertions.PasswordNotNull",
"attributes" : {
"name" : "Password can not be empty"
}
}, {
"className" : "com.vordel.security.password.assertions.MinimumLength",
"attributes" : {
"minLength" : "4",
"name" : "Password can must be longer than N characters"
}
}, {
"className" : "com.vordel.security.password.assertions.PasswordNotEqualToAccountName",
"attributes" : {
"name" : "Password is the same as the account name"
}
}, {
"className" : "com.vordel.security.password.assertions.PasswordNotEqualToRevervseAccountName",
"attributes" : {
"name" : "Password is the same as the reverse of account name"
}
} ]
}, {
"matchCount" : "3",
"enabled" : true,
"assertion" : [ {
"className" : "com.vordel.security.password.assertions.RegularExpression",
"attributes" : {
"resourceID" : "MUST_HAVE_UPPER_CASE",
"regex" : ".*\\p{Upper}.*",
"name" : "Must contain an upper case character"
}
}, {
"className" : "com.vordel.security.password.assertions.RegularExpression",
"attributes" : {
"resourceID" : "MUST_HAVE_LOWER_CASE",
"regex" : ".*\\p{Lower}.*",
"name" : "Must contain an lower case character"
}
}, {
"className" : "com.vordel.security.password.assertions.RegularExpression",
"attributes" : {
"resourceID" : "MUST_CONTAIN_DIGIT",
"regex" : ".*[0-9].*",
"name" : "Must contain a number"
}
}, {
"className" : "com.vordel.security.password.assertions.SpecialCharacters",
"attributes" : {
"count" : "1",
"name" : "Must contain a special character",
"characters" : "~!@#$%^&*()-_=+\\|[{}];:'\",<.>/ ?"
}
} ]
} ],
"eanbled" : true
}
}
GET /api/adminusers/adminusers/passwordpolicy/{AssertionsID}/{AssertionID}
Summary
Returns the current password policy assertion for admin users.
Description
Returns the current password policy assertion for admin users.
Parameters
Parameter | Description | Data Type | Location | Required | Multiple |
---|---|---|---|---|---|
AssertionsID |
The Assertions list to be read | String | path | Required | |
AssertionID |
The Assertion to be read | String | path | Required |
Status Codes
HTTP Status Code | Reason |
---|---|
200 | OK |
500 | Internal Server Error |
Returns Array
[ Assertions ]
Example
GET https://localhost:8075/api/adminusers/adminusers/passwordpolicy/{AssertionsID}/{AssertionID}
ResponseHTTP 1.1 200 OK
{
"result" : {
"assertions" : [ {
"matchCount" : "*",
"enabled" : false,
"assertion" : [ {
"className" : "com.vordel.security.password.assertions.PasswordNotNull",
"attributes" : {
"name" : "Password can not be empty"
}
}, {
"className" : "com.vordel.security.password.assertions.MinimumLength",
"attributes" : {
"minLength" : "4",
"name" : "Password can must be longer than N characters"
}
}, {
"className" : "com.vordel.security.password.assertions.PasswordNotEqualToAccountName",
"attributes" : {
"name" : "Password is the same as the account name"
}
}, {
"className" : "com.vordel.security.password.assertions.PasswordNotEqualToRevervseAccountName",
"attributes" : {
"name" : "Password is the same as the reverse of account name"
}
} ]
}, {
"matchCount" : "3",
"enabled" : true,
"assertion" : [ {
"className" : "com.vordel.security.password.assertions.RegularExpression",
"attributes" : {
"resourceID" : "MUST_HAVE_UPPER_CASE",
"regex" : ".*\\p{Upper}.*",
"name" : "Must contain an upper case character"
}
}, {
"className" : "com.vordel.security.password.assertions.RegularExpression",
"attributes" : {
"resourceID" : "MUST_HAVE_LOWER_CASE",
"regex" : ".*\\p{Lower}.*",
"name" : "Must contain an lower case character"
}
}, {
"className" : "com.vordel.security.password.assertions.RegularExpression",
"attributes" : {
"resourceID" : "MUST_CONTAIN_DIGIT",
"regex" : ".*[0-9].*",
"name" : "Must contain a number"
}
}, {
"className" : "com.vordel.security.password.assertions.SpecialCharacters",
"attributes" : {
"count" : "1",
"name" : "Must contain a special character",
"characters" : "~!@#$%^&*()-_=+\\|[{}];:'\",<.>/ ?"
}
} ]
} ],
"eanbled" : true
}
}
PUT /api/adminusers/adminusers/passwordpolicy/{AssertionsID}/{AssertionID}
Summary
Modify a password policy assertion for admin users.
Description
Modify a password policy assertion for admin users.
Parameters
Parameter | Description | Data Type | Location | Required | Multiple |
---|---|---|---|---|---|
AssertionsID |
The Assertions list to be found | String | path | Required | |
AssertionID |
The Assertion to be found | String | path | Required | |
- |
The Assertion' parameters to update | String | body | Required |
Status Codes
HTTP Status Code | Reason |
---|---|
200 | OK |
500 | Internal Server Error |
Returns Array
[ Assertions ]
Example
PUT https://localhost:8075/api/adminusers/adminusers/passwordpolicy/{AssertionsID}/{AssertionID}
ResponseHTTP 1.1 200 OK
{
"result" : {
"assertions" : [ {
"matchCount" : "*",
"enabled" : false,
"assertion" : [ {
"className" : "com.vordel.security.password.assertions.PasswordNotNull",
"attributes" : {
"name" : "Password can not be empty"
}
}, {
"className" : "com.vordel.security.password.assertions.MinimumLength",
"attributes" : {
"minLength" : "4",
"name" : "Password can must be longer than N characters"
}
}, {
"className" : "com.vordel.security.password.assertions.PasswordNotEqualToAccountName",
"attributes" : {
"name" : "Password is the same as the account name"
}
}, {
"className" : "com.vordel.security.password.assertions.PasswordNotEqualToRevervseAccountName",
"attributes" : {
"name" : "Password is the same as the reverse of account name"
}
} ]
}, {
"matchCount" : "3",
"enabled" : true,
"assertion" : [ {
"className" : "com.vordel.security.password.assertions.RegularExpression",
"attributes" : {
"resourceID" : "MUST_HAVE_UPPER_CASE",
"regex" : ".*\\p{Upper}.*",
"name" : "Must contain an upper case character"
}
}, {
"className" : "com.vordel.security.password.assertions.RegularExpression",
"attributes" : {
"resourceID" : "MUST_HAVE_LOWER_CASE",
"regex" : ".*\\p{Lower}.*",
"name" : "Must contain an lower case character"
}
}, {
"className" : "com.vordel.security.password.assertions.RegularExpression",
"attributes" : {
"resourceID" : "MUST_CONTAIN_DIGIT",
"regex" : ".*[0-9].*",
"name" : "Must contain a number"
}
}, {
"className" : "com.vordel.security.password.assertions.SpecialCharacters",
"attributes" : {
"count" : "1",
"name" : "Must contain a special character",
"characters" : "~!@#$%^&*()-_=+\\|[{}];:'\",<.>/ ?"
}
} ]
} ],
"eanbled" : true
}
}
DELETE /api/adminusers/adminusers/passwordpolicy/{AssertionsID}/{AssertionID}
Summary
Delete a password policy assertion for admin users.
Description
Delete a password policy assertion for admin users.
Parameters
Parameter | Description | Data Type | Location | Required | Multiple |
---|---|---|---|---|---|
AssertionsID |
The Assertions list to be found | String | path | Required | |
AssertionID |
The Assertion to be found | String | path | Required |
Status Codes
HTTP Status Code | Reason |
---|---|
204 | No Content |
404 | Not Found |
500 | Internal Server Error |
PUT /api/adminusers/adminusers/passwordpolicystore
Summary
Save password policy for admin users on disk
Description
Save password policy for admin users on disk
Parameters
Parameter | Description | Data Type | Location | Required | Multiple |
---|---|---|---|---|---|
- |
The Password Policy parameters to store | PasswordPolicy | body | Required |
Status Codes
HTTP Status Code | Reason |
---|---|
200 | OK |
500 | Internal Server Error |
Returns Class
Example
PUT https://localhost:8075/api/adminusers/adminusers/passwordpolicystore
ResponseHTTP 1.1 200 OK
{
"result" : {
"assertions" : [ {
"matchCount" : "*",
"enabled" : false,
"assertion" : [ {
"className" : "com.vordel.security.password.assertions.PasswordNotNull",
"attributes" : {
"name" : "Password can not be empty"
}
}, {
"className" : "com.vordel.security.password.assertions.MinimumLength",
"attributes" : {
"minLength" : "4",
"name" : "Password can must be longer than N characters"
}
}, {
"className" : "com.vordel.security.password.assertions.PasswordNotEqualToAccountName",
"attributes" : {
"name" : "Password is the same as the account name"
}
}, {
"className" : "com.vordel.security.password.assertions.PasswordNotEqualToRevervseAccountName",
"attributes" : {
"name" : "Password is the same as the reverse of account name"
}
} ]
}, {
"matchCount" : "3",
"enabled" : true,
"assertion" : [ {
"className" : "com.vordel.security.password.assertions.RegularExpression",
"attributes" : {
"resourceID" : "MUST_HAVE_UPPER_CASE",
"regex" : ".*\\p{Upper}.*",
"name" : "Must contain an upper case character"
}
}, {
"className" : "com.vordel.security.password.assertions.RegularExpression",
"attributes" : {
"resourceID" : "MUST_HAVE_LOWER_CASE",
"regex" : ".*\\p{Lower}.*",
"name" : "Must contain an lower case character"
}
}, {
"className" : "com.vordel.security.password.assertions.RegularExpression",
"attributes" : {
"resourceID" : "MUST_CONTAIN_DIGIT",
"regex" : ".*[0-9].*",
"name" : "Must contain a number"
}
}, {
"className" : "com.vordel.security.password.assertions.SpecialCharacters",
"attributes" : {
"count" : "1",
"name" : "Must contain a special character",
"characters" : "~!@#$%^&*()-_=+\\|[{}];:'\",<.>/ ?"
}
} ]
} ],
"eanbled" : true
}
}
GET /api/adminusers/adminusers/roles
Summary
Get all admin user roles.
Description
Get all admin user roles.
Parameters
none
Status Codes
HTTP Status Code | Reason |
---|---|
200 | OK |
500 | Internal Server Error |
Returns Array
[ AdminUserRole ]
Example
GET https://localhost:8075/api/adminusers/adminusers/roles
ResponseHTTP 1.1 200 OK
{
"result" : [ {
"id" : "role-1",
"name" : "API Server Administrator"
}, {
"id" : "role-2",
"name" : "API Server Operator"
}, {
"id" : "role-5",
"name" : "Deployer"
}, {
"id" : "role-6",
"name" : "KPS Administrator"
}, {
"id" : "role-7",
"name" : "Policy Developer"
} ]
}
POST /api/adminusers/adminusers/roles
Summary
Create an admin user role.
Description
Create an admin user role.
Parameters
Parameter | Description | Data Type | Location | Required | Multiple |
---|---|---|---|---|---|
- |
Admin user role | AdminUserRole | body | Required |
Status Codes
HTTP Status Code | Reason |
---|---|
201 | Created |
500 | Internal Server Error |
Returns Array
[ AdminUserRole ]
Example
POST https://localhost:8075/api/adminusers/adminusers/roles
ResponseHTTP 1.1 200 OK
{
"result" : [ {
"id" : "role-1",
"name" : "API Server Administrator"
}, {
"id" : "role-2",
"name" : "API Server Operator"
}, {
"id" : "role-5",
"name" : "Deployer"
}, {
"id" : "role-6",
"name" : "KPS Administrator"
}, {
"id" : "role-7",
"name" : "Policy Developer"
} ]
}
GET /api/adminusers/adminusers/roles/{roleID}
Summary
Get a particular admin user role.
Description
Get a particular admin user role.
Parameters
Parameter | Description | Data Type | Location | Required | Multiple |
---|---|---|---|---|---|
roleID |
The role to be returned | String | path | Required |
Status Codes
HTTP Status Code | Reason |
---|---|
200 | OK |
500 | Internal Server Error |
Returns Array
[ AdminUserRole ]
Example
GET https://localhost:8075/api/adminusers/adminusers/roles/{roleID}
ResponseHTTP 1.1 200 OK
{
"result" : [ {
"id" : "role-1",
"name" : "API Server Administrator"
}, {
"id" : "role-2",
"name" : "API Server Operator"
}, {
"id" : "role-5",
"name" : "Deployer"
}, {
"id" : "role-6",
"name" : "KPS Administrator"
}, {
"id" : "role-7",
"name" : "Policy Developer"
} ]
}
DELETE /api/adminusers/adminusers/roles/{roleID}
Summary
Deletes a role.
Description
Deletes a role.
Parameters
Parameter | Description | Data Type | Location | Required | Multiple |
---|---|---|---|---|---|
roleID |
The role to be deleted | String | path | Required |
Status Codes
HTTP Status Code | Reason |
---|---|
204 | No Content |
500 | Internal Server Error |
POST /api/adminusers/adminusers/strongpassword
Summary
Validates if the supplied password is strong enough according to the active password policy.
Description
Validates if the supplied password is strong enough according to the active password policy.
Parameters
Parameter | Description | Data Type | Location | Required | Multiple |
---|---|---|---|---|---|
- |
Password validation request | PasswordValidationRequest | body | Required |
Status Codes
HTTP Status Code | Reason |
---|---|
201 | Created |
400 | Bad Request |
303 | See Other |
Returns Class
Example
POST https://localhost:8075/api/adminusers/adminusers/strongpassword
Request
{
"username" : "admin",
"oldPassword" : "foobar",
"newPassword" : "boo"
}
Response
HTTP 1.1 200 OK
{
"result" : {
"failed" : [ "Password must be longer than 4 characters" ],
"passed" : [ "Password can not be empty", "Password is the same as the account name", "Password is the same as the reverse of the account name" ]
}
}
GET /api/adminusers/adminusers/users
Summary
Get all admin users
Description
Get all admin users
Parameters
none
Status Codes
HTTP Status Code | Reason |
---|---|
200 | OK |
500 | Internal Server Error |
Returns Array
[ AdminUser ]
Example
GET https://localhost:8075/api/adminusers/adminusers/users
ResponseHTTP 1.1 200 OK
{
"result" : [ {
"id" : "user-1",
"name" : "admin",
"roles" : [ "role-1", "role-6", "role-7" ]
} ]
}
POST /api/adminusers/adminusers/users
Summary
Create an admin user.
Description
Create an admin user. The password is sent in the clear in the request body, but this will be sent over SSL. The password is encrypted before being written to the Admin User Store, i.e. the VDISTDIR/conf/adminUsers.json file.
Parameters
Parameter | Description | Data Type | Location | Required | Multiple |
---|---|---|---|---|---|
- |
Request to create or update an admin user | AdminUserRequest | body | Required |
Status Codes
HTTP Status Code | Reason |
---|---|
201 | Created |
500 | Internal Server Error |
Returns Array
[ AdminUser ]
Example
POST https://localhost:8075/api/adminusers/adminusers/users
ResponseHTTP 1.1 201 Created
{
"result" : [ {
"id" : "user-1",
"name" : "admin",
"roles" : [ "role-1", "role-6", "role-7" ]
} ]
}
PUT /api/adminusers/adminusers/users/password
Summary
Reset logged-in user password.
Description
Resets the password.
Parameters
Parameter | Description | Data Type | Location | Required | Multiple |
---|---|---|---|---|---|
- |
String | body | Required | ||
newPassword |
The new password | query | Required |
Status Codes
HTTP Status Code | Reason |
---|---|
200 | OK |
500 | Internal Server Error |
Example
PUT https://localhost:8075/api/adminusers/adminusers/users/password
Request
""
Response
HTTP 1.1 200 OK
""
GET /api/adminusers/adminusers/users/{userID}
Summary
Get a particular admin user
Description
Get a particular admin user
Parameters
Parameter | Description | Data Type | Location | Required | Multiple |
---|---|---|---|---|---|
userID |
The id of the admin user to retrieve | string | path | Required |
Status Codes
HTTP Status Code | Reason |
---|---|
200 | OK |
500 | Internal Server Error |
Returns Array
[ AdminUser ]
Example
GET https://localhost:8075/api/adminusers/adminusers/users/{userID}
ResponseHTTP 1.1 200 OK
{
"result" : [ {
"id" : "user-1",
"name" : "admin",
"roles" : [ "role-1", "role-6", "role-7" ]
} ]
}
PUT /api/adminusers/adminusers/users/{userID}
Summary
Deletes an admin user.
Description
Update an admin user's roles, or password. It is possible to update the user roles without updating the password, (leave out the password in the request body). It is possible to update the user's password only, (leave out the adminUser in the request body). It is possible to update the user's roles and password at the same time. The id or name of a user cannot be updated.The password is sent in the clear in the request body, but this will be sent over SSL. The password is encrypted before being written to the Admin User Store, i.e. the VDISTDIR/conf/adminUsers.json file.
Parameters
Parameter | Description | Data Type | Location | Required | Multiple |
---|---|---|---|---|---|
userID |
The admin user to be updated | String | path | Required | |
- |
Request to create or update an admin user | AdminUserRequest | body | Required |
Status Codes
HTTP Status Code | Reason |
---|---|
200 | OK |
500 | Internal Server Error |
Returns Array
[ AdminUser ]
Example
PUT https://localhost:8075/api/adminusers/adminusers/users/{userID}
ResponseHTTP 1.1 200 OK
{
"result" : [ {
"id" : "user-1",
"name" : "admin",
"roles" : [ "role-1", "role-6", "role-7" ]
} ]
}
DELETE /api/adminusers/adminusers/users/{userID}
Summary
Deletes an admin user.
Description
Deletes an admin user.
Parameters
Parameter | Description | Data Type | Location | Required | Multiple |
---|---|---|---|---|---|
userID |
The admin user to be deleted | String | path | Required |
Status Codes
HTTP Status Code | Reason |
---|---|
204 | No Content |
500 | Internal Server Error |
GET /api/adminusers/adminusers/version
Summary
Get the version of the admin user store
Description
Get the admin users store
Parameters
none
Status Codes
HTTP Status Code | Reason |
---|---|
200 | OK |
500 | Internal Server Error |
Returns Array
Example
GET https://localhost:8075/api/adminusers/adminusers/version
ResponseHTTP 1.1 200 OK
{
"result" : {
"version" : 1,
"timestamp" : 0
}
}