7 VNFM User Management
(Required) Enter introductory text here, including the definition and purpose of the concept. The initial build is delivered with two pre-installed users that are admin and reader. The user must login to VNFM first using the given credentials to generate an X-Token for the admin.
The password of the admin must be changed using the generated X-Token, and a new password must be stored using the Change Password API.
The new users is registered using the Register to VNFM API.
Once the registration request is sent by the user, the admin has the access to view the registration request instance with the help of the X-Token through the Query all user instances API.
The admin can provision the incoming requests and add the user request using the Provision and Add API.
Upon the successful registration, the user can simply login to VNFM using the credentials to generate an X-Token and use it for other LCM-Operations.
7.1 Access Control in VNFM
The admin
user
has access to use the available APIs. However, the user with reader
privileges, is restricted to use the following:
- Query All VNF
Instances:
https://<VNFM_HOST_IP>:8443/vnflcm/v1/vnf_instances/
- Query Individual VNF
Instance:
https://<VNFM_HOST_IP>:8443/vnflcm/v1/vnf_instances/{ vnfInstanceId }
- Query All LCM
Operation:
https://<VNFM_HOST_IP>:8443/vnflcm/v1/vnf_lcm_op_occs
- Query Individual LCM
Operation:
https://<VNFM_HOST_IP>:8443/vnflcm/v1/vnf_lcm_op_occs/{ vnfLcmOpOccId }
- Query Heal VNF
requests:
https://<VNFM_HOST_IP>:8443/vnflcm/v1/vips/{vip}/heal
- Query VNFM State
Information:
https://<VNFM_HOST_IP>:8443/vnflcm/v1/vnfmState
7.2 Login to VNFM
The user must provide the username and the password to generate an authentication token ergo X-Token.
Sample Request: Login to VNFM request generated
URL: https://<<VNFM HOST
IP>>:8443/vnflcm/v1/vnfm_login
Accept: application/json
Content-Type: application/json
X-Token: Token generated after login
Example for Login:
{
"username": "xxxx",
"password": "xxxx"
}
Sample Response: Login to VNFM Response
201 Created
Content-Type: application/json
X-Token: Token generated after login
Request URL: https://<<VNFM HOST
IP>>:8443/vnflcm/v1/vnfm_login
{
"tokenId":"eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJJRCBvZiB0b2tlbiA6IHRva2VuX1ZORk0iLCJpYXQiOjE1NzMwMjEyMDYsInN1YiI6IlN1YmplY3Qgb2YgSldUIiwiaXNzIjoiSXNzdWVyIG9mIFRva2VuOiBPcmFjbGUtRFNSIiwiYXVkIjoiYXVkaWVuY2UgOiBhZG1pbiIsImV4cCI6MTU3MzAzOTIwNn0.Ep-lKGBZqaO9u_cpj1bSN8DBpWvZoRMQTOYNr18KY8w"
}
Where,
username
is the Username of the registered user and
password
is the Password of the registered user.
7.3 Register to VNFM
Note:
A valid password must be in range between 8 to 31 characters, with at least one digit, at least one lowercase letter, at least one uppercase letter, at least one special character, and should not contain white spaces.Sample Request: Register to VNFM request generated
URL:
https://<<VNFM HOST IP >>:8443/vnflcm/v1/vnfm_register
Accept:
application/json
Content-Type:
application/json
X-Token: Token
generated after login
Example for
Registration:
{
"username":
"xxxx",
"password":
"xxxx",
"access":
"read/admin"
}
Sample Response: Register to VNFM Response
201
Created
Content-Type:
application/json
X-Token: Token
generated after login
Request URL:
https://<<VNFM HOST IP>>:8443/vnflcm/v1/vnfm_register
{
"response":
"Registration Request Sent"
}
Where,
username
is the
Username of the new user,
password
is the
Password of the new user and
access
is the scope of the new user.
7.4 Query All User Instances
The admin must provide the X-Token to view all the incoming registration requests.
Note:
Only the admin has the access to use this API.Sample Request: Querying all user instances request generated
URL: https://<<VNFM HOST IP>>:8443/vnflcm/v1/view_registration_requests
Accept: X-Token
Content-Type: Text
X-Token: Token generated after login
Example for querying all users:
eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJJRCBvZiB0b2tlbiA6IHRva2VuX1ZORk0iLCJpYXQiOjE1NzMwMjEyMDYsInN1YiI6IlN1YmplY3Qgb2YgSldUIiwiaXNzIjoiSXNzdWVyIG9mIFRva2VuOiBPcmFjbGUtRFNSIiwiYXVkIjoiYXVkaWVuY2UgOiBhZG1pbiIsIm4cCI6MTU3MzAzOTIwNn0.Ep-lKGBZqaO9u_cpj1bSN8DBpWvZoRMQTOYNr18KY8w
Sample Response: Querying all user instances Response
201 Created
Content-Type: application/json
X-Token: Token generated after login
Request URL: https://<<VNFM HOST IP>>:8443/vnflcm/v1/view_registration_requests
{
"user": [
{
"username": "xx",
"password": "xx",
"access": "read"
},
{
"username": "xx",
"password": "xx",
"access": "read"
},
{
"username": "xx",
"password": "xx",
"access": "admin"
}
]
}
Where,
X-Token
is the authentication token generated by the
admin.
7.5 Change Password of the User
The user must provide the username, old password, new password & the X-Token to change the existing credentials in the system.
Note:
A valid password must be in range between 8 to 31 characters, with at least one digit, at least one lowercase letter, at least one uppercase letter, at least one special character, and should not contain white spaces.Sample Request: Change Password request generated
URL: https://<<VNFM HOST IP>>:8443/vnflcm/v1/change_password
Accept: application/json
Content-Type: application/json
X-Token: Token generated after login
Example for changing the password for a user:
X-Token:
eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJJRCBvZiB0b2tlbiA6IHRva2VuX1ZORk0iLCJpYXQiOjE1NzMwMjEyMDYsInN1YiI6IlN1YmplY3Qgb2YgSldUIiwiaXNzIjoiSXNzdWVyIG9mIFRva2VuOiBPcmFjbGUtRFNSIiwiYXVkIjoiYXVkaWVuY2UgOiBhZG1pbiIsIm4cCI6MTU3MzAzOTIwNn0.Ep-lKGBZqaO9u_cpj1bSN8DBpWvZoRMQTOYNr18KY8w
{
"username": "xxx",
"newPassword": "xxx",
"oldPassword": "xxx"
}
Sample Response: Change Password Response
201 Created
Content-Type: application/json
X-Token: Token generated after login
Request URL: https://<<VNFM HOST IP>>:8443/vnflcm/v1/vnf_register/change_password
{
"response":"Password successfully changed."
}
Where,
username
is the username of the existing user,
newPassword
is the new
password to be set for the user and
oldPassword
is the
existing password of the user.
7.6 Provision and Add User to VNFM
The admin must provide the Username, Login credentials and the X-Token to add the credentials in the system.
Sample Request: Provision and Adding the users request generated
URL: https://<<VNFM HOST IP>>:8443/vnflcm/v1/provision_and_add
Accept: application/json
Content-Type: application/json
X-Token: Token generated after login
Example for provisioning and adding a user:
X-Token :
eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJJRCBvZiB0b2tlbiA6IHRva2VuX1ZORk0iLCJpYXQiOjE1NzMwMjEyMDYsInN1YiI6IlN1YmplY3Qgb2YgSldUIiwiaXNzIjoiSXNzdWVyIG9mIFRva2VuOiBPcmFjbGUtRFNSIiwiYXVkIjoiYXVkaWVuY2UgOiBhZG1pbiIsIm4cCI6MTU3MzAzOTIwNn0.Ep-lKGBZqaO9u_cpj1bSN8DBpWvZoRMQTOYNr18KY8w
{
"username": "xxx",
"password": "xxx",
"access": "read/admin"
}
Sample Response: Provision and Adding Response
201 Created
Content-Type: application/json
X-Token: Token generated after login
Request URL: https://<<VNFM HOST IP>>:8443/vnflcm/v1/provision_and_add
{
"response":"Registered successfully."
}
Where,
username
is the Username of the user,
password
is the Password of the user and
access
is
the scope of the user.