Red Hat Training

A Red Hat training course is available for RHEL 8

21.2. Gerenciando as permissões de IdM no CLI

Esta seção descreve como gerenciar as permissões de Gerenciamento de Identidade (IdM) usando a interface de linha de comando (CLI).

Pré-requisitos

Procedimento

  1. Criar novas entradas de permissão com o comando ipa permission-add.
    Por exemplo, para adicionar uma permissão chamada dns admin:

    $ ipa permission-add "dns admin
  2. Especifique as propriedades da permissão com as seguintes opções

    • --bindtype especifica o tipo de regra de vinculação. Esta opção aceita os argumentos all, anonymous, e permission. O tipo de vinculação permission significa que somente os usuários a quem é concedida esta permissão através de uma função podem exercê-la.
      Por exemplo, o tipo de vinculação:

      $ ipa permission-add {\i1}"dns admin\i} --bindtype=all

      Se você não especificar --bindtype, então permission é o valor padrão.

      Nota

      Não é possível acrescentar aos privilégios permissões com um tipo de regra de vinculação sem falta. Também não é possível definir uma permissão já presente em um privilégio para um tipo de regra de vinculação sem falta.

    • --right lista os direitos concedidos pela permissão, ela substitui a opção depreciada --permissions. Os valores disponíveis são add, delete, read, search, compare, write, all.

      Você pode definir vários atributos usando várias opções do --right ou com uma lista separada por vírgula dentro de chaves de caracóis. Por exemplo:

      $ ipa permission-add {\i}"dns admin\i} --right=read --right=write
      $ ipa permission-add "dns admin" --right={read,write}
      Nota

      add e delete são operações de nível básico (por exemplo, excluir um usuário, adicionar um grupo, etc.) enquanto read, search, compare e write são mais de nível de atributo: você pode escrever para userCertificate mas não ler userPassword.

    • --attrs fornece a lista de atributos sobre os quais a permissão é concedida.
      Você pode definir múltiplos atributos usando múltiplas opções --attrs ou listando as opções em uma lista separada por vírgula dentro de chaves de caracóis. Por exemplo:

      $ ipa permission-add {\i1}"dns admin\i} --attrs=descrição --attrs=automountKey
      $ ipa permission-add "dns admin" --attrs={descrição,automountKey}

      Os atributos fornecidos com --attrs devem existir e ser atributos permitidos para o tipo de objeto em questão, caso contrário o comando falha com erros de sintaxe do esquema.

    • --type define o tipo de objeto de entrada ao qual a permissão se aplica, como usuário, host, ou serviço. Cada tipo tem seu próprio conjunto de atributos permitidos.
      Por exemplo, o tipo de objeto de entrada:

      $ ipa permission-add {\i1}"manage service}" --right=all --type=service --attrs=krbprincipalkey --attrs=krbprincipalname --attrs=managedby
    • --subtree dá uma entrada de sub-árvore; o filtro então visa cada entrada abaixo desta entrada de sub-árvore. Fornecer uma entrada de subárvore existente; --subtree não aceita wildcards ou nomes de domínio inexistentes (DNs). Inclua um DN dentro do diretório.
      Como o IdM usa uma estrutura de árvore de diretório simplificada e plana, --subtree pode ser usado para direcionar alguns tipos de entradas, como locais de montagem automática, que são containers ou entradas pai para outras configurações. Por exemplo:

      $ ipa permission-add "manage automount locations" --subtree="ldap://ldap.example.com:389/cn=automount,dc=example,dc=com --right=write --attrs=automountmapname --attrs=automountkey --attrs=automountInformation
      Nota

      As opções --type e --subtree são mutuamente exclusivas: você pode ver a inclusão de filtros para --type como uma simplificação de --subtree, com a intenção de tornar a vida mais fácil para um administrador.

    • --filter usa um filtro LDAP para identificar a quais entradas a permissão se aplica.
      O IdM verifica automaticamente a validade do filtro dado. O filtro pode ser qualquer filtro LDAP válido, por exemplo:

      $ ipa permission-add "gerenciar grupos Windows" --filter="(!(objectclass=posixgroup)){\i1}" --right=write --attrs=descrição
    • --memberof define o filtro alvo para os membros de um determinado grupo após verificar se o grupo existe. Por exemplo, para permitir que os usuários com esta permissão modifiquem a casca de login dos membros do grupo de engenheiros:

      $ ipa permission-add ManageShell --right="write" --type=user --attr=loginshell --memberof=engineers
    • --targetgroup estabelece a meta para o grupo de usuários especificado após verificar se o grupo existe. Por exemplo, deixar aqueles com a permissão escrever o atributo de membro no grupo de engenheiros (para que eles possam adicionar ou remover membros):

      $ ipa permission-add ManageMembers --right="write" --subtree=cn=groups,cn=accounts,dc=example,dc=test --attr=member --targetgroup=engineers
    • Opcionalmente, você pode especificar um nome de domínio de destino (DN)

      • --target especifica o DN a quem aplicar a permissão. Wildcards são aceitos.
      • --targetto especifica a sub-árvore DN para a qual uma entrada pode ser movida.
      • --targetfrom especifica a sub-árvore DN de onde uma entrada pode ser movida.