O que é um provedor de identidade (IdP)?
No domínio de Gestão de identidade e acesso (IAM) , um provedor de identidade (IdP) é o serviço central para gerir identidades. É responsável por autenticar utilizadores, emitir tokens de identidade e fornecer informações de utilizador a service providers (por exemplo, aplicações, serviços, APIs).
Além de Autenticação (Authentication, AuthN) , os provedores de identidade modernos também são responsáveis por Autorização (Authorization) (aplicando políticas de Controlo de acesso ) e suportando funcionalidades avançadas como Início de sessão único (SSO) e Multi-tenancy (Multi-tenancy) .
Normas do provedor de identidade
Devido à natureza da gestão de identidades e à necessidade de interoperabilidade, seria impraticável e ineficiente construir provedores de identidade sem normas. Aqui estão alguns cenários típicos:
- Dois provedores de identidade precisam comunicar-se entre si para trocar informações de utilizador (por exemplo, login social).
- Uma aplicação precisa autenticar utilizadores usando múltiplos provedores de identidade (por exemplo, identidade federada).
- Um provedor de identidade precisa suportar múltiplos tipos de clientes (por exemplo, web, móvel, IoT).
Para abordar estes cenários, a indústria desenvolveu várias normas populares para provedores de identidade:
- OAuth 2.0 : Uma estrutura de autorização amplamente utilizada que permite que aplicações obtenham acesso em nome de utilizadores 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 utilizador.
- Linguagem de Marcação de Asserçã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 a 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. Ou seja, um provedor de identidade pode ser uma aplicação monolítica, um microsserviço ou um serviço em nuvem.
Devido à complexidade e criticidade da gestão de identidades, as aplicações modernas tendem a usar provedores de identidade especializados que são serviços independentes ou soluções de fornecedores.
Funcionalidades do provedor de identidade
Os provedores de identidade modernos oferecem uma ampla gama de funcionalidades para suportar vários casos de uso e requisitos. Aqui estão algumas funcionalidades comuns:
- Autenticação (Authentication, AuthN) : Verificar a identidade dos utilizadores usando vários métodos (por exemplo, nome de utilizador/senha, login social, Autenticação multi-fator (MFA) ).
- Autorização (Authorization) : Aplicar políticas de acesso e gerir permissões de utilizador (por exemplo, Controlo de acesso baseado em funções (RBAC) , Controlo de acesso baseado em atributos (ABAC) ).
- Gestão de utilizadores: Criar, atualizar e eliminar contas e perfis de utilizador; fornecer dados de utilizador a service providers .
- Gestão de tokens: Emitir e gerir tokens de identidade (por exemplo, ID token, access token, refresh token).
- Início de sessão único (SSO) : Permitir que os utilizadores se autentiquem uma vez e acedam a múltiplas aplicações.
- Multi-tenancy (Multi-tenancy) : Suportar múltiplas organizações ou inquilinos com dados e configurações de utilizador isolados.