Publicado el :
Administration CREATION_INTERNE

Creación de rol SAS Viya mediante paso DATA y funciones Metadata

Este código también está disponible en: English Français
Attention : Este código requiere privilegios de administrador.
El programa utiliza un DATA step 'data _null_;' para interactuar con el servidor de metadatos de SAS© Viya. Inicializa variables, luego procede a la creación de un objeto 'IdentityGroup' de tipo 'Role' con un nombre especificado. Varios atributos (PublicType, GroupType, UsageVersion, IsHidden, Desc, DisplayName) se definen para este nuevo rol. Luego, el script identifica el URI de una capacidad ('Server Manager' Access Control Entry) y lo asocia al rol. Finalmente, el rol recién creado se añade como miembro a un grupo de identidad existente llamado 'group1'. Este script es puramente administrativo y modifica la configuración de seguridad de SAS© Viya.
Análisis de datos

Type : CREATION_INTERNE


El script no lee datos tabulares. Manipula objetos de metadatos de SAS Viya. Los datos necesarios para la creación del rol (nombre, atributos, capacidades, grupo objetivo) se definen directamente en el código SAS, sin depender de fuentes de datos externas o de SASHELP.

1 Bloque de código
DATA STEP
Explicación :
Este bloque DATA step utiliza una serie de funciones SAS Metadata para realizar operaciones administrativas. Comienza inicializando variables. Luego, crea un nuevo objeto de metadatos de tipo 'IdentityGroup' (que representa un rol) con un nombre específico ('New Role Name'). Se definen atributos obligatorios y opcionales para este rol. El script luego recupera el URI de una capacidad ('Server Manager') en los metadatos y lo asocia al rol. Finalmente, añade el rol recién creado a un grupo de identidad existente llamado 'group1'. Todas estas operaciones son persistentes en el repositorio de metadatos de SAS Viya.
¡Copiado!
1DATA _null_;
2 /**** Initialize Variables ****/
3 LENGTH uri $ 38 cap_uri $ 43;
4 call missing (of _character_);
5 
6 /**** Create the object. ****/
7 rc=metadata_newobj("IdentityGroup",uri,"New Role Name");
8 
9 /* Add some required attributes. */
10 rc=metadata_setattr(uri,"PublicType","Role");
11 rc=metadata_setattr(uri,"GroupType","ROLE");
12 rc=metadata_setattr(uri,"UsageVersion","1000000.0");
13 rc=metadata_setattr(uri,"IsHidden","0");
14 
15 /* Add some optional attributes. */
16 rc=metadata_setattr(uri,"Desc","This is the description of the new role");
17 rc=metadata_setattr(uri,"DisplayName","This is the display name of the role");
18 
19 /**** Add a capability. ****/
20 
21 /* Define the search for the access control entry for the cability */
22 cap_obj="omsobj:AccessControlEntry?AccessControlEntry[Objects/ApplicationAction[ @Name='Server Manager']]";
23 
24 /* Pull it's URI into the variable cap_uri */
25 rc=metadata_getnobj(cap_obj,1,cap_uri);
26 
27 /* Add the capability association to the role. */
28 rc=metadata_setassn(uri,"AccessControlEntries","APPEND",cap_uri);
29 
30 /**** Add the Role to a Group ****/
31 rc=metadata_setassn(uri,"MemberIdentities","APPEND","omsobj:IdentityGroup? @Name='group1'");
32RUN;
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
Información de copyright : Author: Greg Wootton Date: 09OCT2020