CNC Console-IAM Prerequisites
Following are the Prerequisites:
- The operator must have mysql deployed and create database to be used by CNC Console-IAM using following command:
1. Login to the MySql Query Node with the username and the password using the command:
mysql -u
<username> -p
Example:
mysql -u root
-p
Note:
The user is prompted to enter the mysql password. Enter the mysql password2. Enter the command to create the user:
CREATE USER '<username>'@'%' IDENTIFIED BY
'<password>';
Example:
CREATE USER 'keycloak'@'%' IDENTIFIED BY
'keycloakpasswd';
3. Enter the command to create a database:
create database
<dbName>
Example:create
database cnccDb
4. Enter the command to grant permissions:
GRANT ALL ON
<dbName>.* TO '<dbName>'@'%';
Example: GRANT
ALL ON cnccDb.* TO 'keycloak'@'%';
5. Exit from MySql Query Node.
exit
- The operator must load the
database created with
keycloak.sql file
provided in the
cncc-iam
package file.
1. Load the database with tables from keycloak.sql. Ensure keycloak.sql
is in
/home/admusr/
directory
of the MySql Query Node.
mysql -u
<username> -p <databasename> < keycloak.sql
Example: mysql
-u root -p cnccDb < /home/admusr/keycloak.sql
Note:
The user is prompted to enter the mysql password. Enter the mysql password2. Verify the tables are loaded into the database using command:
use
<databasename>;
show
tables;
Example:use
cnccDb;
show
tables;
Note:
It shows a list of 93 tables related to CNCC-IAM.3. Exit from MySql Query Node.
exit
Example Steps :
#mysql -h 127.0.0.1 -uroot -pNextGenCne
mysql>CREATE USER 'keycloak'@'%' IDENTIFIED BY 'keycloakpasswd';
mysql>create database cnccDb;
mysql>GRANT ALL ON cnccDb.* TO 'keycloak'@'%';
mysql>exit
#mysql -h 127.0.0.1 -uroot -pNextGenCne cnccDb < /home/admusr/keycloak.sql
#mysql -h 127.0.0.1 -uroot -pNextGenCne
mysql>use cnccDb;
mysql> show tables;
Tables_in_cnccDb
| ADMIN_EVENT_ENTITY |
| ASSOCIATED_POLICY |
| AUTHENTICATION_EXECUTION |
| AUTHENTICATION_FLOW |
| AUTHENTICATOR_CONFIG |
| AUTHENTICATOR_CONFIG_ENTRY |
| BROKER_LINK |
| CLIENT |
| CLIENT_ATTRIBUTES |
| CLIENT_AUTH_FLOW_BINDINGS |
| CLIENT_DEFAULT_ROLES |
| CLIENT_INITIAL_ACCESS |
| CLIENT_NODE_REGISTRATIONS |
| CLIENT_SCOPE |
| CLIENT_SCOPE_ATTRIBUTES |
| CLIENT_SCOPE_CLIENT |
| CLIENT_SCOPE_ROLE_MAPPING |
| CLIENT_SESSION |
| CLIENT_SESSION_AUTH_STATUS |
| CLIENT_SESSION_NOTE |
| CLIENT_SESSION_PROT_MAPPER |
| CLIENT_SESSION_ROLE |
| CLIENT_USER_SESSION_NOTE |
| COMPONENT |
| COMPONENT_CONFIG |
| COMPOSITE_ROLE |
| CREDENTIAL |
| DATABASECHANGELOG |
| DATABASECHANGELOGLOCK |
| DEFAULT_CLIENT_SCOPE |
| EVENT_ENTITY |
| FEDERATED_IDENTITY |
| FEDERATED_USER |
| FED_USER_ATTRIBUTE |
| FED_USER_CONSENT |
| FED_USER_CONSENT_CL_SCOPE |
| FED_USER_CREDENTIAL |
| FED_USER_GROUP_MEMBERSHIP |
| FED_USER_REQUIRED_ACTION |
| FED_USER_ROLE_MAPPING |
| GROUP_ATTRIBUTE |
| GROUP_ROLE_MAPPING |
| IDENTITY_PROVIDER |
| IDENTITY_PROVIDER_CONFIG |
| IDENTITY_PROVIDER_MAPPER |
| IDP_MAPPER_CONFIG |
| KEYCLOAK_GROUP |
| KEYCLOAK_ROLE |
| MIGRATION_MODEL |
| OFFLINE_CLIENT_SESSION |
| OFFLINE_USER_SESSION |
| POLICY_CONFIG |
| PROTOCOL_MAPPER |
| PROTOCOL_MAPPER_CONFIG |
| REALM |
| REALM_ATTRIBUTE |
| REALM_DEFAULT_GROUPS |
| REALM_DEFAULT_ROLES |
| REALM_ENABLED_EVENT_TYPES |
| REALM_EVENTS_LISTENERS |
| REALM_REQUIRED_CREDENTIAL |
| REALM_SMTP_CONFIG |
| REALM_SUPPORTED_LOCALES |
| REDIRECT_URIS |
| REQUIRED_ACTION_CONFIG |
| REQUIRED_ACTION_PROVIDER |
| RESOURCE_ATTRIBUTE |
| RESOURCE_POLICY |
| RESOURCE_SCOPE |
| RESOURCE_SERVER |
| RESOURCE_SERVER_PERM_TICKET |
| RESOURCE_SERVER_POLICY |
| RESOURCE_SERVER_RESOURCE |
| RESOURCE_SERVER_SCOPE |
| RESOURCE_URIS |
| ROLE_ATTRIBUTE |
| SCOPE_MAPPING |
| SCOPE_POLICY |
| USERNAME_LOGIN_FAILURE |
| USER_ATTRIBUTE |
| USER_CONSENT |
| USER_CONSENT_CLIENT_SCOPE |
| USER_ENTITY |
| USER_FEDERATION_CONFIG |
| USER_FEDERATION_MAPPER |
| USER_FEDERATION_MAPPER_CONFIG |
| USER_FEDERATION_PROVIDER |
| USER_GROUP_MEMBERSHIP |
| USER_REQUIRED_ACTION |
| USER_ROLE_MAPPING |
| USER_SESSION |
| USER_SESSION_NOTE |
| WEB_ORIGINS |
93 rows in set (0.00sec)
- The details of the database
must be provided in
custom-cncc-iam_values_<version>.yaml
file. One Kubernetes secret must be created in the same namespace where cncc-iam is deployed using following command:
kubectl create
secret generic <secret-name> --from-literal=password=<password>
--from-literal=user=<user> --namespace <namespace>
Example:
kubectl create
secret generic cncc-db-secret --from-literal=password='keycloakpasswd'
--from-literal=user='keycloak' --namespace cncc
- For the default admin of cncc-iam, password is taken as a Kubernetes secret, user name is by default set as "admin" . The operator must create Kubernetes secret in the same namespace where cncc-iam is deployed using below command:
kubectl create
secret generic <secret-name> --from-literal=password=<password>
--namespace <namespace>
Example:
kubectl create
secret generic cncc-iam-secret --from-literal=password='password' --namespace
cncc
Note:
Secret name and secret's field-names while creating secret should be same as the ones provided in the custom-cncc-iam_values_<version>.yaml file