New-CsAdminRole
Tópico modificado em: 2012-03-23
Cria uma nova função RBAC (controle de acesso baseado na função). As funções RBAC são usadas para definir as tarefas de gerenciamento para as quais os usuários têm permissão e determinar o escopo no qual eles podem realizá-las.
Sintaxe
New-CsAdminRole -Identity <String> -Template <String> [-ConfigScopes <PSListModifier>] [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-InMemory <SwitchParameter>] [-UserScopes <PSListModifier>] [-WhatIf [<SwitchParameter>]]
Descrição Detalhada
O RBAC (controle de acesso baseado na função) permite que os administradores deleguem o controle de tarefas de gerenciamento específicas no Microsoft Lync Server 2010. Por exemplo, em vez de conceder à equipe de assistência técnica privilégios de administrador completos, você pode dar a esses funcionários direitos muito específicos: o direito de gerenciar apenas contas de usuário; o direito de gerenciar apenas componentes do Enterprise Voice; o direito de gerenciar apenas o arquivamento e o Servidor de Arquivamento. Além disso, esses direitos podem ter o escopo limitado: alguém pode receber o direito de gerenciar o Enterprise Voice, mas apenas no site de Redmond; mais alguém pode receber o direito de gerenciar usuários, mas apenas se essas contas de usuário estiverem na OU (unidade organizacional) Finanças.
A implementação de RBAC do Lync Server 2010 se baseia em dois elementos principais: Grupos de segurança do Active Directory e cmdlets do Windows PowerShell. Na instalação do Lync Server 2010, vários grupos de segurança universal, como CsAdministrator, CsArchivingAdministrator e CsHelpDesk, são criados para você. Esses grupos de segurança universal têm uma correspondência um-para-um com funções RBAC; isso significa que qualquer usuário que esteja no grupo de segurança CsArchivingAdministrator tem todos os direitos concedidos à função RBAC CsArchivingAdministrator. Por sua vez, os direitos concedidos a uma função RBAC se baseiam nos cmdlets atribuídos a essa função (os cmdlets podem ser atribuídos a várias funções RBAC). Por exemplo, suponhamos que uma função tenha sido atribuída aos cmdlets a seguir:
Get-ArchivingPolicy
Grant-ArchivingPolicy
New-ArchivingPolicy
Remove-ArchivingPolicy
Set-ArchivingPolicy
Get-ArchivingConfiguration
New-ArchivingConfiguration
Remove-ArchivingConfiguration
Set-ArchivingConfiguration
Get-CsUser
Export-CsArchivingData
Get-CsComputer
Get-CsPool
Get-CsService
Get-CsSite
A lista anterior representa os únicos cmdlets que um usuário com uma função RBAC hipotética atribuída pode executar durante uma sessão remota do Windows PowerShell. Se o usuário tentar executar o cmdlet Disable-CsUser, o comando falhará porque os usuários com a função hipotética não têm o direito de executar Disable-CsUser. Isso também se aplica ao Painel de Controle do Lync Server. Por exemplo, um administrador de Arquivamento não pode desabilitar um usuário usando o Painel de Controle do Lync Server, porque o Painel de Controle do Lync Server respeita funções RBAC. Sempre que executar um comando no Painel de Controle do Lync Server, você estará chamando, na verdade, um cmdlet do Windows PowerShell. Se você não tiver permissão para executar Disable-CsUser, não importará se você executar esse cmdlet diretamente no Windows PowerShell ou executá-lo indiretamente dentro do Painel de Controle do Lync Server: haverá falha no comando.
Observe que o RBAC só se aplica ao gerenciamento remoto. Se você fizer logon em um computador no qual o Lync Server 2010 esteja em execução e abrir o Shell de Gerenciamento do Lync Server, as funções RBAC não serão impostas. Em vez disso, a segurança será imposta principalmente por meio dos grupos de segurança RTCUniversalServerAdmins; RTCUniversalUserAdmins; e RTCUniversalReadOnlyAdmins.
Ao instalar o Lync Server 2010, a instalação cria várias funções RBAC internas. Essas funções cobrem áreas administrativas comuns, como administração de voz, gerenciamento de usuários e administração de Grupo de Resposta. As funções internas não podem ser modificadas de maneira alguma: não é possível adicionar a ou remover cmdlets de funções, e você não pode excluí-las. (qualquer tentativa de excluir uma função interna resultará em um erro). No entanto, é possível usar as funções internas para criar funções RBAC personalizadas. Em seguida, essas funções personalizadas podem ser modificadas alterando-se os escopos administrativos; por exemplo, você pode limitar a função ao gerenciamento de contas de usuário em uma determinada OU do Active Directory.
Para criar uma nova função, você deve inicialmente criar um grupo de segurança universal no Serviços de Domínio Active Directory (AD DS) que compartilhe um nome com a função; por exemplo, para criar uma nova função chamada DialInConferencingAdministrator, você deve criar um grupo de segurança com SamAccountName DialInConferencingAdministrator. Observe que New-CsAdminRole não criará esse grupo para você. Se o grupo DialInConferencingAdministrator não existir quando New-CsAdminRole for chamado, o comando irá falhar. A Identidade atribuída à nova função deve ser SamAccountName do grupo do Active Directory correspondente.
Depois de criar o grupo de segurança do Active Directory, você deve selecionar uma função RBAC interna para funcionar como modelo para a nova função personalizada. Não é possível criar uma função RBAC em branco usando-se New-CsAdminRole. Em vez disso, todas as funções personalizadas devem se basear em uma das funções RBAC internas. Isso significa que uma função personalizada deve ter os mesmos cmdlets atribuídos das funções internas. No entanto, Set-CsAdminRole pode ser usado para alterar o escopo administrativo dessa função personalizada.
Quem pode executar este cmdlet: Por padrão, membros dos seguintes grupos estão autorizados a executar o cmdlet New-CsAdminRole localmente: RTCUniversalServerAdmins. Para retornar uma lista de todas as funções do RBAC atribuídas a este cmdlet (incluindo eventuais funções personalizadas do RBAC que você mesmo tenha criado), execute o comando a seguir no prompt do Windows PowerShell:
Get-CsAdminRole | Where-Object {$_.Cmdlets –match "New-CsAdminRole"}
Parâmetros
Parâmetro | Obrigatório | Tipo | Descrição |
---|---|---|---|
Identity |
Obrigatório |
Cadeia de caracteres |
Identificador exclusivo da função RBAC a ser criada. A Identidade de uma função RBAC deve ser igual à de SamAccountName do grupo de segurança universal do Active Directory associado à função. Por exemplo, a função de assistência técnica tem uma propriedade Identity igual a CsHelpDesk; CsHelpDesk também é SamAccountName do grupo de segurança do Active Directory associado a essa função. |
Template |
Obrigatório |
Cadeia de caracteres |
Nome da função RBAC interna que servirá como um modelo para a função RBAC personalizada criada. Todas as novas funções RBAC devem se basear em uma função existente; não é possível criar uma função RBAC em branco (ou seja, uma função sem cmdlets atribuídos ou sem valores atribuídos às propriedades ConfigScopes ou UserScopes). No entanto, depois da função personalizada ser criada, será possível usar o cmdlet Set-CsAdminRole para modificar as propriedades da nova função. |
ConfigScopes |
Opcional |
PS List Modifier |
Usado para limitar o escopo do cmdlet a definições de configuração dentro do site especificado. Para limitar o escopo do cmdlet a um único site, use uma sintaxe semelhante a esta: -ConfigScopes site:Redmond. Vários sites podem ser especificados usando-se uma lista separada por vírgulas: -ConfigScopes "site:Redmond, "site:Dublin". Também é possível definir a propriedade ConfigScopes como "global". Para atribuir um valor ao parâmetro ConfigScopes, use o prefixo "site:" seguido pelo valor da propriedade SiteId do site; observe que SiteID não tem necessariamente o mesmo valor da Identidade do site, ou de seu DisplayName. Para determinar o SiteId de um site, use um comando como este: Get-CsSite "Redmond" | Select-Object SiteId Você deve especificar um valor para uma das propriedades, ConfigScopes ou UserScopes (ou ambas). |
UserScopes |
Opcional |
PS List Modifier |
Usado para limitar o escopo do cmdlet a atividades de gerenciamento do usuário dentro da unidade organizacional especificada. Para limitar o escopo do cmdlet a uma única unidade organizacional, use uma sintaxe semelhante a esta: -UserScopes "OU:ou=Redmond,dc=litwareinc,dc=com". Várias UOs podem ser especificadas usando-se uma lista separada por vírgulas: -UserScopes "OU:ou=Redmond,dc=litwareinc,dc=com", "OU:ou=Dublin,dc=litwareinc,dc=com". Para adicionar novos escopos (ou remover escopos existentes) a uma função, use a sintaxe dos modificadores de lista do Windows PowerShell. Para detalhes, consulte a seção de Exemplos deste tópico de Ajuda. Você deve especificar um valor para uma das propriedades, ConfigScopes ou UserScopes (ou ambas). |
Force |
Opcional |
Parâmetros de opção |
Suprime a exibição de mensagens de erro não fatais que possam ocorrer na execução do comando. |
InMemory |
Opcional |
Parâmetros de opção |
Cria uma referência de objeto, sem na verdade executar o objeto como uma alteração permanente. Se a saída deste cmdlet for atribuída, chamando-o com este parâmetro a uma variável, você poderá realizar alterações às propriedades da referência do objeto e executar estas alterações, chamando-se o cmdlet coincidente Set- deste cmdlet. |
WhatIf |
Opcional |
Parâmetros de opção |
Descreve o que aconteceria se o comando fosse executado sem ser executado de fato. |
Confirm |
Opcional |
Parâmetros de opção |
Solicita confirmação antes da execução do comando. |
Tipos de Entrada
Nenhuma.
Tipos de Retorno
New-CsAdminRole cria novas instâncias do objeto Microsoft.Rtc.Management.WritableConfig.Settings.Roles.Role.
Exemplo
-------------------------- Exemplo 1 ------------------------
New-CsAdminRole -Identity "RedmondVoiceAdministrator" -Template "CsVoiceAdministrator"
O comando do Exemplo 1 duplica a função RBAC CsVoiceAdministrator. Como nenhum parâmetro adicional é usado, a nova função — RedmondVoiceAdministrators — será uma duplicata exata de CsVoiceAdministrator. inclusive com as propriedades UserScopes e ConfigScopes sendo definidas como "global".
-------------------------- Exemplo 2 ------------------------
New-CsAdminRole -Identity "RedmondVoiceAdministrator" -Template "CsVoiceAdministrator" -UserScopes "OU:ou=Redmond,dc=litwareinc,dc=com"
O comando anterior cria uma nova função RBAC (RedmondVoiceAdministrator) e, em seguida, configura a função para permitir um único escopo do usuário: a UO de Redmond. Para isso, o parâmetro UserScopes é incluído com o seguinte valor de parâmetro: "OU:ou=Redmond,dc=litwareinc,dc=com". Esse valor de parâmetro substitui o valor atual da propriedade UserScopes por um item: a UO com o nome diferenciado (DN) "ou=Redmond,dc=litwareinc,dc=com".
-------------------------- Exemplo 3 ------------------------
New-CsAdminRole -Identity "RedmondVoiceAdministrator" -Template "CsVoiceAdministrator" -UserScopes "OU:ou=Redmond,dc=litwareinc,dc=com","OU:ou=Portland,dc=litwareinc,dc=com"
O comando mostrado no Exemplo 3 é uma variação do comando mostrado no Exemplo 2; a única diferença é que, nesse exemplo, duas UOs são adicionadas à propriedade UserScopes. Isso é feito atribuindo-se uma lista separada por vírgulas ao método Replace: os dois itens da lista representam os identificadores das duas UOs (Redmond e Portland) a serem atribuídas à nova função RBAC.
-------------------------- Exemplo 4 ------------------------
New-CsAdminRole -Identity "RedmondVoiceAdministrator" -Template "CsVoiceAdministrator" -ConfigScopes "site:Redmond"
No Exemplo 4, o site com SiteID Redmond é atribuído à propriedade ConfigScopes para uma nova função RBAC. Observe que a sintaxe da propriedade ConfigScopes exige o uso do prefixo "site:" seguido pelo valor da propriedade SiteID do site que está sendo adicionado.