Introducing DGMV-IAM (CLI)
Prerequisites
Network Connection: The device running the Admin CLI must be connected to a reliable network and must be able to reach the DGMV-IAM system. Be aware of the network address (IP address) of the system where DGMV-IAM is installed.
SSH Installation: Secure Shell (SSH) must be installed on your machine. This is essential for establishing secure network services between two networked devices.
Knowledge of SSH: Familiarity with SSH commands and concepts is highly recommended. Understanding how to establish and manage SSH tunnels will enhance your ability to securely interact with remote servers.
Operating System: A compatible operating system that supports SSH (e.g., most versions of Linux, macOS, and Windows with SSH clients).
Private Key: The private key to the public key that you used to install the system must be installed on your system. Otherwise you will not be able to access the admin CLI.
Modern Web Browser: The admin CLI is a web application, which requires a modern web browser with javascript enabled.
SuperAdmin secret: In order to be able to use the CLI, you have to know the superadmin secret.
How to access Admin CLI
open a terminal and use the following command to create an SSH tunnel to the backend:
You will not see any messages if the tunnel was successfully opened. The terminal will look like it hangs. You can confirm whether the connection was successfully established by opening a browser and connect to http://localhost:8001. If everything went well, you will see a GUI
How to authenticate
In order to be able to enter any relevant commands, you have to authenticate yourself by entering
Make sure to replace the <superadmin-secret>
with the SuperAdmin Secret that was created during the installation.
If you entered the above command correctly, you will see the message:
Policies
DGMV-IAM in its core works by defining policies for authentication. No user will be able to register unless you define policies. There are no dependencies on the policies.
Create Azure Connector Policy
DGMV-IAM allows users to onboard using Azure AD.
Prerequisites: Configure App-Registration in Azure Portal, note down Client ID, Tenant ID, Client Secret
Execute code:
This will show you a configuration template for the azure connector that looks as follows:
Fill in the fields:
igsyour-client-id (Client ID)
your-client-secret (Client Secret)
your-tenant-id (Tenant ID)
redirectURI: https://<domain>/api/v1/auth/azure - the <domain> needs to be replaced with the hostname you chose when setting up the solution.
Make sure to set enabled to true
At the top right-hand corner, click Save.
Confirmation if Azure policy is created and enabled
Use your browser to visit the landing page of DGMV-IAM and go to the Register-Tab to validate that the corresponding button now appears:
Note, that once a user was successfully onboarded to DGMV-IAM, they never have to use a password again to sign-in into DGMV-IAM.
All they need is their mobile device with DGMV-ID installed. They can use this to scan the QR code shown on the front page and they will be let in, if the device/wallet wasn’t blocked.
Create Email Connector Policy
DGMV-IAM can allow users to use their email addresses to register. For that, a policy has to be created.
Execute code:
This will show a template on the right side that looks as follows:
Fill in the fields:
replace the host value with your mail host
replace the user value with the username of the mail sending account
replace the password value with the password of the email account
adjust the port if needed
adjust the secure flag if needed
make sure set enabled to true
Adjust the registerTokenValidityMinutes to define how long a magic link in the email is valid
At the top right-hand corner, click Save.
Confirmation if Email policy is created and enabled
Use your browser to visit the landing page of DGMV-IAM and go to the Register-Tab to validate that the corresponding button now appears:
A user that clicks this button, will be asked to enter their email address. After confirming, a magic link will be sent to their email address with a magic link.
Clicking that link will sign-in the user.
Create Seed Phrase Management Policy
DGMV-IAM is capable of handling seed phrases. However, for this, a policy needs to be defined.
Execute code:
This will show a skeleton for the configuration on the right side:
Fill in the fields:
set enabled to true
alter the entropy if needed. Note that 256 bit will result in 24 words, 128 bits will result in 12 words.
At the top right-hand corner, click Save.
Create Geofencing Policy
DGMV-IAM can check the geolocation of requests and can match them against rules or constraints
Execute code:
This will show a skeleton for the configuration on the right side:
Fill in the fields:
Make sure to set enable to true
At the top right-hand corner, click Save.
The policy is now active but without active rules every one will be let into the system.
Create Network Check Policy
DGMV-IAM allows to do a network check of originating requests. For example, if your company requires the use of a VPN for phones, this can be constrained using a network check policy.
Execute code:
This will show a skeleton for the configuration on the right side:
Fill in the fields:
Make sure to set enabled to true.
At the top right-hand corner, click Save.
By default, no network check will be performed unless you set up network rules.
Policy CLI Commands
Users
Now that you have created Policies, users can now start to onboard.
Onboarding Users
After you have configured DGMV-IAM to allow users to onboard either using email or azure policies, you can now approve users who tried to register.
Execute code:
Copy the user ID of the user you want to onboard
Execute code:
This will show a skeleton for the configuration on the right side:
Fill in the fields:
Make sure you enter the user-id that you copied and replace the template value of the field userId.
Set isManagedSeedPhrase to true, if you want a seed phrase to be displayed to the user
At the top right-hand corner, click Save.
Confirmation if selected user is now able to proceed with onboarding
Ask the onboarding user to refresh their screen. They will now see the onboarding steps they have to perform.
User CLI Commands
Client Configurations
Applications needs to be added on DGMV-IAM. This means creating clients
Creating a client
DGMV-IAM will not be able to connect to client applications, unless client configurations are added
Execute code:
Paste the following JSON and adjust the redirect-URIs.
You can add the field “client_secret” if you have a specific secret you want define. However, if you omit the field, DGMV-IAM will generate a secure secret for you and display it after you save the client configuration. Keep in mind, that the secret that DGMV-IAM generates must be entered in secure-meets.
Client CLI Commands
Geo Positions
Used to manage geo positions to arppove or deny users from IAM
Create Geo Position
After creating a policy for the geofencing, you can add location rules.
Enter code:
This will show a skeleton for the configuration on the right side:
Fill in fields:
lat and long
r is the radius in km. With this you can define circles around the globe that can be used to approve or deny login request
city can be used to add metadata to the geoposition.
mode is either approve or deny, be default it's approve. Deny will reject the user
priority defines the order of rules during execution, 0 is the highest priority
isDisabled disables the rules if set to true
Networks
After creating a policy for the network checks, you can go ahead and create network rules.
Execute code:
This will show a skeleton for the configuration on the right side:
You can define a network by specifying the network in the CIDR notation (split up into two fields).
So enter a network ID by entering an IP address and specify the bitmask. Similar to section 6, you can specify approve/deny for the mode. Refer to section 6 for best practices and an explanation for the other fields.
Last updated