Le script ne lit pas de données tabulaires. Il manipule des objets de métadonnées de SAS Viya. Les données nécessaires à la création du rôle (nom, attributs, capacités, groupe cible) sont définies directement dans le code SAS, sans dépendre de sources de données externes ou de SASHELP.
1 Bloc de code
DATA STEP
Explication : Ce bloc DATA step utilise une série de fonctions SAS Metadata pour effectuer des opérations administratives. Il commence par initialiser des variables. Ensuite, il crée un nouvel objet de métadonnées de type 'IdentityGroup' (représentant un rôle) avec un nom spécifique ('New Role Name'). Des attributs obligatoires et facultatifs sont définis pour ce rôle. Le script récupère ensuite l'URI d'une capacité ('Server Manager') dans les métadonnées et l'associe au rôle. Enfin, il ajoute le rôle nouvellement créé à un groupe d'identité existant nommé 'group1'. Toutes ces opérations sont persistantes dans le référentiel de métadonnées de SAS Viya.
Copié !
data _null_;
/**** Initialize Variables ****/
length uri $ 38 cap_uri $ 43;
call missing (of _character_);
/**** Create the object. ****/
rc=metadata_newobj("IdentityGroup",uri,"New Role Name");
/* Add some required attributes. */
rc=metadata_setattr(uri,"PublicType","Role");
rc=metadata_setattr(uri,"GroupType","ROLE");
rc=metadata_setattr(uri,"UsageVersion","1000000.0");
rc=metadata_setattr(uri,"IsHidden","0");
/* Add some optional attributes. */
rc=metadata_setattr(uri,"Desc","This is the description of the new role");
rc=metadata_setattr(uri,"DisplayName","This is the display name of the role");
/**** Add a capability. ****/
/* Define the search for the access control entry for the cability */
cap_obj="omsobj:AccessControlEntry?AccessControlEntry[Objects/ApplicationAction[ @Name='Server Manager']]";
/* Pull it's URI into the variable cap_uri */
rc=metadata_getnobj(cap_obj,1,cap_uri);
/* Add the capability association to the role. */
rc=metadata_setassn(uri,"AccessControlEntries","APPEND",cap_uri);
/**** Add the Role to a Group ****/
rc=metadata_setassn(uri,"MemberIdentities","APPEND","omsobj:IdentityGroup? @Name='group1'");
run;
1
DATA _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");
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
Informations de Copyright : Author: Greg Wootton Date: 09OCT2020
« Cette approche est particulièrement pertinente pour les administrateurs souhaitant industrialiser la gouvernance. Utiliser un script pour l'association de privilèges comme 'Server Manager' garantit une réplicabilité parfaite entre les environnements de développement et de production, tout en minimisant les erreurs humaines inhérentes à la configuration manuelle »
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.