- Tutorial do PF27: Configure escopos OAuth e organize as permissões dos clientes no PingFederate.
- Conceito principal: Um escopo limita os direitos de acesso representados por uma solicitação de autorização ou por um token.
- Tipos de escopo: Use valores estáticos para permissões fixas e valores dinâmicos para padrões de recursos variáveis.
- Prática recomendada: Mantenha os escopos comuns, exclusivos, agrupados e padrão claramente separados.
- Próximo passo: Teste o comportamento dos escopos durante o fluxo do código de autorização e a configuração do cliente.
Tutorial do PF27: entendendo o gerenciamento de escopos
O material do tutorial do PF27 concentra-se no gerenciamento de escopos no PingFederate e em seu papel na autorização OAuth. Um escopo representa um subconjunto dos direitos de acesso concedidos a um cliente, proprietário do recurso ou solicitação de autorização delegada. Em vez de conceder acesso amplo a todos os clientes, os administradores podem definir permissões específicas, como acesso ao endereço, acesso ao perfil ou ações administrativas.
Destaques do vídeo:
- Locais de gerenciamento de escopos no console de administração do PingFederate.
- Diferenças entre escopos comuns, exclusivos, agrupados e padrão.
- Exemplos de escopos estáticos e dinâmicos para solicitações OAuth.
- Como os valores dos escopos influenciam o consentimento e o comportamento da autorização.
Na prática, o valor do escopo acompanha a solicitação de autorização. O PingFederate avalia esse valor em relação aos escopos configurados para o cliente e o servidor de autorização. As permissões resultantes ajudam a determinar o que o cliente pode solicitar e o que o usuário pode aprovar.
Defina os escopos com base nas permissões de negócio, não em botões individuais da interface. Um modelo de escopos claro é mais fácil de auditar, testar e manter em vários clientes.
Configuração de escopos estáticos e dinâmicos
O PingFederate oferece suporte a escopos estáticos e dinâmicos. Um escopo estático usa um valor de texto fixo, como read_account, address ou profile. Toda solicitação para esse escopo usa o mesmo nome e significado.
Um escopo dinâmico inclui um componente variável representado por um caractere curinga. Um padrão como read_bank_account_txn:* pode permitir que a parte variável seja alterada entre as solicitações, dependendo do projeto de autorização e das regras de validação.
Escopo estático
Use um valor fixo para uma permissão estável. Exemplos incluem address, email, phone e profile.
Escopo dinâmico
Use um componente variável quando o recurso ou contexto solicitado puder mudar entre as solicitações de autorização.
Escopo agrupado
Combine permissões relacionadas em um grupo nomeado para simplificar a configuração e a administração dos clientes.
Ao criar um escopo, forneça um nome significativo e uma descrição que explique a permissão. Por exemplo, um escopo address pode usar uma descrição como “Acesso ao endereço”, enquanto um escopo admin pode descrever permissões administrativas.
Não use escopos dinâmicos apenas para reduzir o trabalho administrativo. Confirme se a parte variável é validada e não pode conceder um acesso mais amplo do que o pretendido.
Configuração de escopos passo a passo
Use o processo a seguir para criar um modelo básico de escopos no console de administração do PingFederate.
Abra o gerenciamento de escopos
Entre no PingFederate e abra a área do sistema que contém o gerenciamento de escopos. Revise as entradas de escopos comuns, exclusivos, agrupados e padrão existentes antes de adicionar novos valores.
Crie escopos comuns
Adicione nomes de permissões fixos, como address, email, phone ou profile. Insira uma descrição curta para cada permissão e marque o valor como estático, a menos que seja necessário um componente variável.
Crie um grupo de escopos
Abra os grupos de escopos comuns, forneça um nome exclusivo para o grupo e adicione os escopos relacionados. Um grupo voltado para perfil pode conter permissões de endereço, e-mail e telefone.
Revise os escopos exclusivos
Use escopos exclusivos para permissões que não devem estar disponíveis para um cliente por padrão. O cliente deve ser configurado explicitamente para permitir esses valores.
Salve e teste
Salve a configuração e teste uma solicitação de autorização com o parâmetro de escopo pretendido. Confirme se o cliente recebe apenas as permissões configuradas para a solicitação.
O nome de um grupo de escopos deve permanecer exclusivo dentro da configuração de escopos relevante. Se um nome já existir como escopo comum, escolha outro nome de grupo para evitar um conflito de configuração.
Depois de salvar, teste um escopo permitido e um escopo restrito. Isso confirma que a configuração do cliente e a política de autorização estão impondo o limite pretendido.
Permissões do cliente e comportamento do consentimento
Os escopos são solicitados pelos clientes durante a autorização. O PingFederate usa as definições de escopo configuradas e as permissões do cliente para determinar quais valores estão disponíveis. Os escopos comuns podem estar disponíveis por padrão, enquanto os escopos exclusivos exigem autorização explícita do cliente.
Os escopos padrão têm uma relação especial com a experiência de consentimento. Eles podem fornecer uma descrição padrão ou uma seleção de permissões para a tela de aprovação de autorização do PingFederate. Se uma permissão for configurada como padrão obrigatória, talvez o usuário não possa removê-la da seleção de aprovação.
Use esta lista de verificação antes de passar da configuração para os testes:
Lista de verificação para revisão de escopos
- Cada escopo tem um nome exclusivo e compreensível
- As descrições explicam a permissão em linguagem simples
- Os padrões de escopos dinâmicos têm uma estratégia de validação definida
- Os escopos exclusivos estão habilitados apenas para os clientes pretendidos
- O comportamento do consentimento foi testado com solicitações de autorização realistas
Mantenha os nomes dos escopos consistentes entre clientes, políticas e mapeamentos de tokens de acesso. Um esquema de nomes baseado em recurso e ação, como read_account ou write_profile, facilita a interpretação dos logs de autorização.
Trate as permissões padrão com cuidado. Uma configuração de consentimento conveniente ainda deve deixar claro para o proprietário do recurso qual acesso está sendo solicitado e se ele é apropriado para o cliente.
Estratégia de testes e perguntas frequentes
Um fluxo de trabalho confiável para o tutorial do PF27 termina com testes direcionados. Comece com um escopo estático simples e, em seguida, teste um grupo de escopos, um escopo exclusivo e um escopo dinâmico, caso sua implantação exija um. Registre o valor solicitado, a identidade do cliente, o resultado do consentimento e as permissões finais do token.
Verifique estes resultados comuns:
- A ausência de um escopo pode indicar que o cliente não tem permissão para solicitá-lo.
- Um escopo dinâmico rejeitado pode indicar um componente variável inválido.
- Uma seleção de consentimento inesperada pode resultar da configuração de escopos padrão.
- Um token amplo pode indicar que um grupo contém mais permissões do que o pretendido.
- Um nome duplicado pode impedir que um grupo ou escopo seja salvo.
Q: O que é um escopo no PingFederate?
Um escopo é um limite de permissão nomeado que representa um subconjunto específico de direitos de acesso solicitado por um cliente e avaliado durante a autorização.
Q: Qual é a diferença entre escopos estáticos e dinâmicos?
Um escopo estático usa um único valor fixo, enquanto um escopo dinâmico inclui um componente variável que pode mudar entre as solicitações de autorização.
Q: Quando um escopo exclusivo deve ser usado?
Use um escopo exclusivo para permissões sensíveis que não devem estar disponíveis para os clientes por padrão. O cliente pretendido deve ser configurado para permiti-lo.
Q: Por que o nome de um grupo de escopos pode não ser salvo?
O nome de um grupo de escopos pode não ser salvo quando entra em conflito com um nome de escopo existente ou viola as regras de exclusividade da configuração atual do PingFederate.
Comece com o menor conjunto de permissões que atenda à tarefa do cliente. Adicione escopos somente quando o requisito da aplicação estiver claro e o teste de autorização confirmar o resultado esperado.