Imitando o "RBAC AuthZ" do Exchange Server em meu próprio aplicativo ... (existe algo semelhante?)

9

O Exchange 2010 tem um modelo de delegação em que grupos de cmdlets winrm são essencialmente agrupados em funções e as atribuídas a um usuário.

Imagem de funções do Exchange ( Fonte da imagem )

Este é um modelo excelente e flexível, considerando como eu posso aproveitar todos os benefícios do PowerShell, enquanto uso as tecnologias certas de baixo nível (WCF, SOAP etc.) e sem exigir software adicional no lado do cliente.

imagem de como o administrador remoto do Exchange 2010 funciona ( Fonte da imagem )

Questões)

  1. Existe uma maneira de aproveitar o modelo de delegação do Exchange no meu aplicativo .NET?

  2. Alguém tentou imitar esse modelo?

  3. Se devo começar do zero, como eu iria imitar essa abordagem?

goodguys_activate
fonte
Você fez algum progresso nisso? Estou especialmente curioso sobre como implementar a parte 'destinatário / configuração com escopo' do modelo.
Jacco

Respostas:

1

O Exchange está fornecendo um espaço de execução limitado e, na verdade, não há cmdlets disponíveis nesse espaço de execução. O que parecem ser cmdlets são na verdade funções de proxy. Seus recursos no espaço de execução são controlados limitando quais funções de proxy são fornecidas e quais recursos de cada cmdlet são expostos pela função de proxy.

Duplicar isso envolveria o desenvolvimento de rotinas que preenchem o espaço de execução com funções de proxy personalizadas para o usuário que está solicitando o espaço de execução, com base nos grupos de funções aos quais pertencem. Não vejo nenhum motivo para os grupos do AD não serem os seus grupos de funções.

Os detalhes da implementação seriam específicos do aplicativo, mas basicamente significa que você limita quem pode usar quais parâmetros dos cmdlets escolhendo quais parâmetros as funções de proxy fornecidas a esse usuário terão e / ou limitando os valores que a função aceitará para parâmetros específicos.


fonte
Isso faz sentido; você tem mais informações sobre como eu posso criar uma função de proxy? Eu posso descobrir a peça do AD / AzMan.
22712