O que é um provedor de identidade (IdP)?
No domínio de Gerenciamento de identidade e acesso (IAM) , um provedor de identidade (IdP) é o serviço central para gerenciar identidades. Ele é responsável por autenticar usuários, emitir tokens de identidade e fornecer informações de usuário para provedores de serviço (por exemplo, aplicações, serviços, APIs).
Além de Autenticação (Authentication) , provedores de identidade modernos também são responsáveis por Autorização (Authorization) (aplicando políticas de Controle de acesso ) e suportando recursos avançados como Single sign-on (SSO) e Multi-tenancy (Multi-tenancy) .
Padrões de provedores de identidade
Devido à natureza do gerenciamento de identidade e à necessidade de interoperabilidade, seria impraticável e ineficiente construir provedores de identidade sem padrões. Aqui estão alguns cenários típicos:
- Dois provedores de identidade precisam se comunicar para trocar informações de usuário (por exemplo, login social).
- Uma aplicação precisa autenticar usuários usando múltiplos provedores de identidade (por exemplo, identidade federada).
- Um provedor de identidade precisa suportar múltiplos tipos de clientes (por exemplo, web, mobile, IoT).
Para lidar com esses cenários, a indústria desenvolveu vários padrões populares para provedores de identidade:
- OAuth 2.0 : Um framework de autorização amplamente utilizado que permite que aplicações obtenham acesso em nome de usuários ou serviços.
- OpenID Connect (OIDC) : Uma camada de identidade construída sobre o OAuth 2.0 que fornece autenticação e informações de usuário.
- Linguagem de Marcação de Declaração de Segurança (SAML) : Um padrão para troca de dados de autenticação e autorização entre domínios de segurança.
Para novas aplicações, OpenID Connect (OIDC) é o padrão recomendado para usar, seja para construir um provedor de identidade ou integrar com provedores de identidade existentes.
Arquitetura do provedor de identidade
O termo “provedor de identidade” não especifica uma arquitetura ou implementação particular. Isso significa que um provedor de identidade pode ser uma aplicação monolítica, um microsserviço ou um serviço em nuvem.
Devido à complexidade e criticidade do gerenciamento de identidade, aplicações modernas tendem a usar provedores de identidade especializados que são serviços independentes ou soluções de fornecedores.
Recursos do provedor de identidade
Provedores de identidade modernos oferecem uma ampla gama de recursos para suportar vários casos de uso e requisitos. Aqui estão alguns recursos comuns:
- Autenticação (Authentication) : Verificar a identidade dos usuários usando vários métodos (por exemplo, nome de usuário/senha, login social, Autenticação multifator (MFA) ).
- Autorização (Authorization) : Aplicar políticas de controle de acesso e gerenciar permissões de usuário (por exemplo, Controle de acesso baseado em função (RBAC) , Controle de acesso baseado em atributos (ABAC) ).
- Gerenciamento de usuários: Criar, atualizar e excluir contas e perfis de usuário; fornecer dados de usuário para provedores de serviço .
- Gerenciamento de tokens: Emitir e gerenciar tokens de identidade (por exemplo, ID token, access token, refresh token).
- Single sign-on (SSO) : Permitir que os usuários se autentiquem uma vez e acessem múltiplas aplicações.
- Multi-tenancy (Multi-tenancy) : Suportar múltiplas organizações ou locatários com dados e configurações de usuário isolados.