Emcli creación credenciales en Cloud Control

Cloud Control
Hola a todos.Hoy nos gustaría compartir con vosotros una forma de crear credenciales y asignar permisos en Cloud Control mediante línea de comando usando el comando emcli.

Trabajando con EMCLI

Hemos realizado un proyecto en el que era necesario dar de alta credenciales para los usuarios sys y system para todas las bases de datos del cliente y de esta forma poder utilizar una herramienta de rotado de contraseñas. Al tener el cliente más de 300 bases de datos crearlas manualmente no era viable, por lo que hemos utilizado la utilidad emcli para estas tareas. Mediante el proceso que os describimos a continuación se pueden crear las credenciales que se necesiten sin tener que darlas de alta una a una.

Podemos sacar el listado de bases de datos en cloud control con la consulta que utilizábamos en una entrada anterior.

A partir de este listado de aquí empezamos a generar las credenciales de los dos usuarios:

emcli create_named_credential -cred_name=maquina1-bd1-sys -auth_target_type=oracle_database -cred_type=DBCreds -cred_scope=instance -target_name=bd1 -target_type=oracle_database -attributes="DBUserName:sys;DBPassword:Password1;DBRole:SYSDBA"
emcli create_named_credential -cred_name=maquina1-bd1-system -auth_target_type=oracle_database -cred_type=DBCreds -cred_scope=instance -target_name=bd1 -target_type=oracle_database -attributes="DBUserName:system; DBPassword:Password1;DBRole:normal"

Nosotros hemos generado los comandos en distintas líneas. También se pueden utilizar ficheros de texto para hacer un proceso batch. Este proceso batch cargará los datos sin tener que formatear los scripts.

Además era necesario asignar permisos al usuario de Cloud Control que se encarga del rotado (SEGURIDAD). Esta parte la solucionamos con el siguiente comando:

emcli grant_privs -name=SEGURIDAD -privilege="FULL_CREDENTIAL;CRED_NAME=maquina1-bd1-sys:CRED_OWNER=SYSMAN"
emcli grant_privs -name=SEGURIDAD -privilege="FULL_CREDENTIAL;CRED_NAME=maquina1-bd1-system:CRED_OWNER=SYSMAN"

Con esta última parte ya estaría finalizada la tarea. Si nos hemos equivocado, podremos realizar el borrado de la credencial de la siguiente forma:

emcli delete_named_credential -cred_owner=sysman -cred_name="maquina1-bd1-sys"

Esperamos que os sea de utilidad.

Un saludo y hasta la próxima.

Equipo Base de Datos.