Administering the Infrastructure Manager

As an Administrator, you use the REST API to administer Infrastructure Manager users. You also manage the configuration files.

For more information regarding request parameters and constraints, see the REST API swagger documentation: Infrastructure Manager REST API Reference

This page includes the following:

Viewing Users

GET /provisioning/api/v1/accounts/

Request body

Empty

Response body

username
role
created_by
created_on

Creating Users

POST /provisioning/api/v1/accounts

Request body

{
  "username": "user1",
  "password": "passWORD12_%^&",
  "role" : "User"
}

The role parameter values can be one of the following:

Only Administrators can manage system users.

Important! The password must contain at least 8 characters, a lowercase letter, an uppercase letter, a number and a symbol from this list: !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~

Updating User Passwords

POST /provisioning/api/v1/accounts/{username}

Request body

Use the following request to update the user password:

{
  "password": "passWORD12_%^&"
}

Important! The password must contain at least 8 characters, a lowercase letter, an uppercase letter, a number and a symbol from this list: !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~

Response body

Empty

Deleting Users

DELETE /provisioning/api/v1/accounts/{username}

Request body

Empty

Response body

Empty

Important! An Administrator can also delete other Admin accounts. At least one Admin account must exist in the system.

Tracking Infrastructure Request Users

As an Administrator, you can track the users who have requested infrastructure.

To identify the user, refer to the requester parameter of the corresponding POST API call.

Encrypting Data in the Application Configuration File

You can encrypt data in the application configuration file, for example, the database password, the ssl key-store password, and so on, with the Spring CLI tool included in the [Installation Directory]/tools/spring-2.0.8.RELEASE folder.

The configuration file is located in the config folder: ([Installation Directory]/config/application.yml)

To Encrypt Data

  1. Go to the spring-2.0.8.RELEASE folder ([Installation Directory]/tools/spring-2.0.8.RELEASE).
  2. Run the following command (same for Windows/UNIX):

    > spring encrypt [your data here] --key [path to secret.key file]

    Example:

    If you have a new keystore "my_keystore.p12" with a password "my_keystore_password" and your Infrastructure Manager installation is in the folder "C:\im", execute the following command to encrypt the password:

    > spring encrypt my_keystore_password --key "C:\im\secret.key"

    Note: The secret.key is generated in the secret.key file ([Installation Directory]/secret.key)

  3. Copy the returned value and update the respective property in the application.yml configuration file with the format: '{cipher}[encrypted text]'

    Important! Single quote is required.

    Example:

    server:
        port: 9000
        servlet:
            context-path: /provisioning
        ssl:
            key-store: C:\Program Files\IM_https\im_keystore.p12
            key-store-password: '{cipher}303d64ee49308ec9dd906491aa035de73c781a16b2ff79bdecde0e46a30d83ac'
    spring:
        datasource:
            driverClassName: org.postgresql.Driver
            username: im
            password: '{cipher}043a498f922302386f4e51e87b864527dc91ac0215a4514dd4a3edf2fb555ed5'
            url: jdbc:postgresql://vvnpostgre01:5434/provisioning_rest_api