Delegando a definição de permissões no script
Você pode delegar a administração de repositórios de políticas de autorização armazenados no Active Directory. A administração pode ser delegada a usuários e grupos no nível de repositório, aplicativo ou escopo.
Em cada nível, há uma lista de administradores e leitores. Os administradores de um repositório, aplicativo ou escopo podem ler e modificar o repositório de políticas no nível delegado. Os leitores podem ler o repositório de políticas no nível delegado, mas não podem modificar o repositório.
Um usuário ou grupo que seja um administrador ou um leitor de um aplicativo também deve ser adicionado como um usuário delegado do repositório de políticas que contém esse aplicativo. Da mesma forma, um usuário ou grupo que seja um administrador ou um leitor de um escopo deve ser adicionado como um usuário delegado do aplicativo que contém esse escopo.
Para delegar a administração de um escopo
- Adicione o usuário ou grupo à lista de usuários delegados do repositório que contém o escopo chamando o método AddDelegatedPolicyUser do objeto AzAuthorizationStore que contém o escopo.
- Adicione o usuário ou grupo à lista de usuários delegados do aplicativo que contém o escopo chamando o método AddDelegatedPolicyUser do objeto IAzApplication que contém o escopo.
- Adicione o usuário ou grupo à lista de administradores do escopo chamando o método AddPolicyAdministrator do objeto IAzScope .
Observação
Os repositórios de políticas baseados em XML não dão suporte à delegação em nenhum nível.
Se um escopo dentro de um repositório de autorização armazenado no Active Directory contiver definições de tarefa que incluem regras de autorização ou definições de função que incluem regras de autorização, o escopo não poderá ser delegado.
O exemplo a seguir mostra como delegar a administração de um aplicativo. O exemplo pressupõe que há um repositório de políticas de autorização do Active Directory existente no local especificado, que esse repositório de políticas contém um aplicativo chamado Expense e que esse aplicativo não contém tarefas com scripts de regra de negócios.
' Create the AzAuthorizationStore object.
Dim AzManStore
Set AzManStore = CreateObject("AzRoles.AzAuthorizationStore")
' Initialize the authorization store.
AzManStore.Initialize 2, _
"msldap://CN=MyStore,CN=Program Data,DC=authmanager,DC=com"
' Create an application object in the store.
Dim expenseApp
Set expenseApp= AzManStore.OpenApplication("Expense")
' Add a delegated policy user to the store.
AzManStore.AddDelegatedPolicyUserName("ExampleDomain\\UserName")
' Add the user as an administrator of the application.
expenseApp.AddPolicyAdministratorName("ExampleDomain\\UserName")
' Save changes to the store.
AzManStore.Submit