A diferença entre o SCIM e o seu primo mais velho, o SAML
A definição de SCIM (System for Cross-Domain Identity) é um modelo de gerenciamento cruzado de atributos de identidade entre diferentes aplicações e domínios. Ele utiliza o mesmo paradigma de federação expresso pelo SAML, seu primo mais velho, no qual o usuário só precisa se credenciar uma única vez, em só lugar, para conquistar acesso mais rápido a diversos sistemas e aplicativos que declaram confiança recíproca.
Embora seja reconhecido por propiciar o SSO e estabelecer o cômodo ecossistema de autoridades de identificação (os IdPs), o SAML emprega um transporte de informações pessoais de identidade (PII) baseado em pilhas de código XML convertidas em HTTP.
Uma abordagem funcional, porém complexa, criada originalmente para o ambiente da Intranet, e não muito propícia ao suporte e ao desenvolvimento ágeis requeridos para a automação de processos na geração de credenciais para as APIs na nuvem.
Enquanto a criação do SAML remonta a 2005 – período de predomínio da rede de perímetro – o SCIM nasce em 2015, já sob a égide da nuvem híbrida e multicamadas, como uma resposta à exigência de automação e agilidade em IAM.
Seu modo de transferência de PII entre domínios utiliza sistemas flexíveis de códigos abertos como JWT (JSON Web Tokens) que são tokens menores, granulares, mais simples que os baseados em XML, sendo por isto utilizados em arranjos com soluções modernas como OAuth 2.0 e o OpenID Connect.
A principal diferença entre o SAML e o SCIM está na sua utilidade. O SAML é direcionado a propiciar o gerenciamento cruzado de identidades nos motores de autorização e autenticação entre autoridades de domínio, ajudando as empresas a aplicar políticas de acesso menos fatigantes e menos dependentes de ação humana.
Já o primo mais novo, SCIM, é um conjunto de protocolos destinados a promover a abordagem federada na fase de produção/exclusão da identidade, isto é no provisionamento/desprovisionamento. Viabilizando assim a automação desse processo e o gerenciamento mais preciso e sincronizado da distribuição de atributos e privilégios extensíveis a diversas contas que possuam critérios de confiança padronizados para os vários IdPs.
Nas ferramentas tradicionais de IAM, as tarefas de provisionamento costumam ser muito manuais e dependentes de supervisão, devido a esquemas proprietários presentes nas aplicações e sistemas.
Com o provisionamento automatizado trazido pelo SCIM, a produção de uma nova conta não precisa ser orientada para uma finalidade específica, ganhando corpo a ideia do reuso.
Em um White Paper da BeyondTrust, encontramos esta exemplificação interessante: vamos considerar uma empresa que gerencia manualmente o acesso dos usuários para sua força de trabalho. Imagine que esta empresa acaba de contratar 40 novos funcionários.
Cada funcionário necessita de acesso a 20 aplicações diferentes, como CRM, ferramentas de produtividade, telecomunicações, etc. Portanto, temos, a rigor, 800 contas que necessitam ser criadas. Neste exemplo, cada aplicativo requer sua própria conexão exclusiva, anexada a um código escrito. O código escrito, por sua vez, requer sua respectiva manutenção e
gerenciamento regulatório. Através do SCIM, o arquiteto de identidade consegue definir o credenciamento baseado em padrões, para atender a todos esses requisitos, e a dispor de um modelo de identidade granular em seus atributos.
De tal forma a provisionar credenciais com características reutilizáveis, mais seguras e menos exigentes da exposição de blocos de atributos nos processos de autenticação junto aos IdPs. Em sua versão atualizada, 2.0, o SCIM está descrito e documentado pela Internet Engineering Task Force (IETF), através da RFP 7643.