Visão geral da proteção do perímetro: implantação de gerenciamento de identidade e acesso com software de código aberto gratuito


Hoje, queremos compartilhar um achado literário diretamente relacionado à nossa área de atuação.

Tema de gerenciamento de identidade e acessono momento, está bastante fechado, o que cria problemas para nós, em primeiro lugar, com a seleção de especialistas altamente qualificados, do desenvolvedor líder ao RP e ao arquiteto. O treinamento de especialistas que se mudaram de outra área tem muito tempo. Não menos problema é a atitude cautelosa em relação a essa área de muitos clientes que não entendem "por que precisamos de tudo isso", se existe uma infraestrutura de domínio normal. Apesar de o autor do livro direcionar o leitor para a criação da infraestrutura IAM com base no OSS e fornecer exemplos de soluções específicas, o principal valor do livro, em nossa opinião, é sistematizar o campo e as classes de produtos projetados para resolver problemas no campo da identificação, autenticação e gerenciamento acesso, bem como em uma descrição acessível de padrões e tecnologias abertos,montados em um só lugar e dispostos em prateleiras.

:

  • IAM OSS- .
  • Enterprise- .
  • Software- Solution- , , .
  • IAM .
  • - — , SAML OpenID Connect, , , .

Abaixo, consideramos os capítulos do livro e seu conteúdo.

Capítulo 1. Domínio: IDM, IAM, IAG, DS. IAM e DS como ponto de partida. Código aberto e um pouco de Gluu

Este capítulo discute as funções e tarefas de um controle de acesso e identidade de nível corporativo (Serviço de Identidade) e compara soluções / componentes que implementam as funções de um sistema desse tipo - IDM (Gerenciamento de Identidade), IAM (Gerenciamento de Identidade e Acesso), IAG ( Identidade e Governança de Acesso), DS (Serviços de Diretório). É apresentada uma breve visão geral dos padrões e tecnologias disponíveis nesta área. O capítulo é a base para a formação de uma imagem holística.

Em detalhe
(Identity Service), enterprise- . « ». , . :

  • (Identity Management, IDM).
  • (Identity & Access Management, IAM)/
  • (Identity & Access Governance, IAG).
  • (Directory Services, DS).

(IDM) () . , , . IDM « » (Identity Lifecycle), — , , , .. IDM , , .

(IAM) « » . , IDM. IAM , , IAM . IDM IAM . , , (, IDM), (, IAM). , ( , ) , IAM IDM.

, , IAM. 90- , RADIUS. 90- PDP-PEP Pattern, Netegrity SiteMinder. 2000- SAML XACML, XML/SOAP- . OAuth-, RESTful/JSON-.

(IAG) , (IDM) (IAM). IAG , , . IAG «» - (, ) . « » - , IAG , , , (Segregation of Duties) .

, (Directory Services). - . , , , .

, . , IAG, IAM . , — « » ( IAM Directory Service , IDM IAG), « » ( , ).

: LDAP, SAML, OAuth, OpenID Connect (OIDC) User Managed Protocol (UMA). - Gluu Server, OSS : pen source , , pen source , «».

Capítulo 2. Curso de Jovem Lutador no LDAP. LDAP para ajudar o IAM. O Data Showcase

Chapter 2 fornece um resumo muito volumoso para um livro não LDAP que pode ser cortado e lido separadamente do livro inteiro. Ele contém um “curso para jovens lutadores” no LDAP para aqueles que não estão interessados ​​no próprio LDAP, mas precisam entender sua estrutura e mecanismos para resolver tarefas relacionadas. Na teoria e na prática, usando o desenvolvimento de um aplicativo Python como exemplo, descrevemos o conceito de um Data Mart para coletar dados díspares sobre ultrassom em um único local. Pouco foi dito sobre como conectar o Gluu Server a um servidor LDAP como fonte de dados de KM.

Em detalhe
, , LDAP, LDAP .

-10 LDAP :

  1. LDAP .
    : , — . — MS AD, LDAP-. MS AD .
  2. LDAP - .
    : , — .
  3. LDAP . / .
  4. LDAP- . .
  5. LDAP- (, ).
  6. .
  7. UNIX CLI-.
  8. .
  9. .
  10. LDAP !

, LDIF- LDAP-. LDAP. LDAP. LDAP-: CLI-, GUI:

  • UNIX-way: ldapserach, ldapmodify, ldapdelete.
  • , : Apache Directory Studio, JXplorer, Web2LDAP, phpLDAPAdmin, FusionDirectory.

(Data Mart) , ( ) . , / Microsoft Active Directory, - LDAP- (, FreeIPA 389Server ), , , ERP- ( , SAP), -. IAM « », ( ). — Python, , LDAP- LDIF-. Python- .

, — , «» Gluu Server LDAP, Gluu , .

Capítulo 3. SAML: excursões, instruções, protocolos. Snibboleth IDP e Snibboleth SP. O

Capítulo 3 do Python-SAML é inteiramente dedicado à pesquisa abrangente do SAML. É fornecida uma descrição perceptível da estrutura dos elementos SAML: instruções, protocolos, perfis e muito mais. E para fins práticos, é fornecida uma descrição de várias maneiras de interagir com o SAML Identity Provider, desde a implantação do Snibboleth Identity Provider até o uso da biblioteca Python-SAML para esta tarefa.

Em detalhe
SAML. 90-, - , . LDAP , (Single Sign-On, SSO), - - . WebSSO, SAML - SAML WebSSO . , SAML, 2005 , XML. SAML 2.0 (SAML 1.1, Libery Alliance ID-FF 1.2 Snibboleth 1.3). , SAML 2.0 («assertion», «relying party», «identity provider» ..), SSO IAM . , SAML.

( , SAML) SAML: Assertions (), Bindings ( ), Protocols () Profiles (). SAML . «» SAML, Service Provider Identity Provider. : , (Identity Provider-initiated, IDP-initiated) , (Service Provider-initiated, SP-initiated). (HTTP Redirect (GET), HTTP Post, Simple Sign, SAML SOAP, Reverse SOAP, HTTP Artifact, SAML URI). SAML: Web Browser SSO Profile, Single Logout Profile Attribute Profile.

, Gluu Server ( ). Snibboleth Identity Provider, Gluu Server. Identity Provider Service Provider, Service Provider Snibboleth Service Provider.

Python: Python-SAML SAML , SAML .

Capítulo 4. OAuth: não um protocolo, mas uma estrutura. Excursão. Exemplo com a API do Google. Exemplo do Gluu Server

O lugar do OAuth no "mundo" dos protocolos de autenticação e autorização é explicado. A estrutura do OAuth como uma estrutura de autorização é explicada: funções dos participantes nas interações do OAuth (servidor de autorização, servidor de recursos, cliente), tokens (Bearer e JWT), cenários de interação (as chamadas "concessões"). Um exemplo prático de autorização na API do Google com OAuth. E um exemplo prático de configuração do OAuth no Gluu Server.

Em detalhe
, OAuth. : OAuth ( ), ( «» ). OAuth . SAML , OAuth ( OIDC) «» (consumer) .

OAuth-: (Authorization Server), (Resource Server), (Client). , , , : Bearer Token, JWT (JSON Web Token). OAuth, «grants» ( , OAuth - Resource Server): Authorization Code Grant, Implicit Grant, Resource Owner Password Credential Grant, Client Credential Grant, Token Introspection.

Google API OAuth-: API OAuth. - Client Grant Flow Gluu Server.

OAuth 5, 6 8. 5 OAuth — OIDC, -. 8 UMA, OAuth API (API access management). 6 - OAuth API.

Capítulo 5. OpenID Connect. Teoria: estrutura, terminologia. Implantando o provedor OIDC do Gluu Server

Explica o histórico e o local do OpenID Connect. Comparação com SAML. Estrutura, atores, cenários de interação no OpenID Connect. Implantando um servidor OpenID Connect baseado no Gluu Server. Implantando um aplicativo cliente em JavaScript para implementar o cliente OpenID Connect.

Em detalhe
OpenID Connect ( OIDC , , Connect; OIDC) , «Federated Identity» Consumer Identity Provider (Consumer IdP) Facebook, Google Microsoft. - OAuth- IdP, OpenID Connect.

OIDC SAML ( 3); SAML OIDC. OIDC SAML, XML SOAP, «» JSON RESTful -. — SAML ( - ), OIDC — «» , .

, OIDC. OIDC, 5 — .

Gluu Server OpenID Connect Provider. JavaScript Gluu Server OpenID Connect Provider.

Capítulo 6. Proxy: Proxy da Web para IAM. Apache httpd, Nginx, Kong,

proxy da Web de destino do Istio . Soluções de código aberto: Apache httpd, Nginx, Kong, Istio.

Em detalhe
-. IAM — -.

( IAM ):

  • - , .
  • .
  • .
  • .
  • .
  • Amazon Web Services.

- -: Apache httpd, Nginx, Kong Istio. .

Capítulo 7. Autenticação Forte. TOTP / HOTP. SSL / TLS. FIDO UAF / U2F. Autenticação na Web,

problemas de autenticação de senha do CTAP . Tecnologia de autenticação de senha descartável TOTP / HOTP. Autenticação de certificado em SSL / TLS mútuo. Tecnologias FIDO UAF e U2F, Autenticação na Web W3C, CTAP. Suporte FIDO no Gluu Server.

Em detalhe
«» .

OTP (TOTP HOTP), . OTP — . OTP- OTP- (Google Authenticator ).

SSL TLS (Mutual SSL/TLS). SSL/TLS ( Certificate Authority, CA), . — ( CA) . , . Mutual SSL/TLS , , .

Fast Identity Online (FIDO) FIDO Alliance, : Universal Authentication Framework (UAF) Universal Second Factor (U2F). FIDO UAF (passwordless) . FIDO U2F (2FA), . , FIDO, — , . FIDO . FIDO , , , -, .

W3C Web Authentication API, FIDO Alliance, FIDO, . , (Signature, Key Attestation), , (W3C Web Authentication API), (Client to Authenticator Protocol, CTAP).

Gluu Server. FIDO Gluu Server. 2FA/MFA -.

Capítulo 8. Perfil de Acesso Gerenciado pelo Usuário (UMA). Concessão UMA / Autorização Federada. É considerado o servidor Gluu,

protocolo de autorização UMA 2.0 do Gluu Gateway que estende o OAuth 2.0. Casos práticos. Revisão teórica do UMA Grant. Visão geral da autorização federada UMA. Implementação do UMA Authorization Server baseado no Gluu Server. Use o Gluu Gateway para conectar aplicativos clientes ao UMA.

Em detalhe
, (User-Managed Access Protocol, UMA 2.0). , . , OIDC, OAuth 2.0, 4. «Alice to Bob Sharing». , UMA, , UMA. UMA «UMA 2.0 Grant for OAuth 2.0 Authorization». ( UMA Resource Server UMA Authorization Server) «Federated Authorization for UMA 2.0».

UMA , - -. , (federated document sharing), Google Docs. — . «» , .

UMA (narrow, medium, wide), «» (Resource Owner (RO), Requesting Party(RqP), Permission Ticket ..). UMA Grant (UMA RPT Requests with Interactive Claims Gathering, UMA RPT Requests with a Pushed Claim Token), RPT Request Options (Client Credentials). UMA Federated Authorization, (authorization servers) (resource servers).

Gluu Server UMA Authorization Server scopes, , (interactive claims gathering workflows). UMA- (authorization server) UMA- (resource server), Gluu Gateway Gluu Federation. UMA 2.0.

Capítulo 9. IDM: Visão Geral Funcional. MidPoint, Syncope, Wren: IDM, Gluu Casa

Ao desenvolver as idéias do Capítulo 1, consideramos as razões pelas quais o IDM é importante para a organização. Uma visão geral funcional dos sistemas de IDM de código aberto Evolveum MidPoint, Apache Syncope, Wren: IDM, Gluu Casa.

Em detalhe
, IAM, IDM IAM (. 1), , Identity Management. opensource-: Evolveum MidPoint, Apache Syncope, Wren:IDM Gluu Casa.

IDM , IDM «» , IAM IAG. IAM- , IDM-. «» .

MidPoint, Syncope Wren:IDM IDM: (approvals), (workflows), (synchronization connectors) (self-service password management). Gluu Casa (2FA; «» 7). , , IDM , .

Capítulo 10. Federação Multipartidária. Topologias. Funções Federação de Fertilização SAM / OpenID. Padrões Federação OTTO, Marcas de Confiança. Ferramenta de Gerenciamento de Federação Jaagger / Agência Fides

de participantes que fornecem acesso a uma rede confiável (Federação Multipartidária). O triângulo da confiança (Triângulo da Confiança). Características LOA, LOP, LOC. Topologias: Federação em Malha, Federação de Proxy, Confiança de Interfederação. Atores da Federação: Autoridade de Registro, Operador da Federação, Entidade. Federação SAML de tecnologias, Federação OpenID. Padrões Federação OTTO, Marcas de Confiança. Ferramenta de Gerenciamento de Federação Jagger, OTTO-Node / Fides.

Em detalhe
, (Multiparty Federation). , , , , , .

« » (Trust Triangle, OpenID Connect) , «»:

  • (Person) (control) (, ).
  • (OpenID provider) , (protection) .
  • (Relying Party) (assurance), , , , .

:

  • (Level of assurance, LOA).
  • (Level of protection, LOP).
  • (Level of control, LOC).

. Identity Provider Service Provider « »:

  • (Meshed Federation), InCommon. eduGAIN.
  • (Proxy Federation Service). . Identity Provider, Service Provider, Identity Provider Service Provider. , , .
  • (Interfederation Trust). . InCommon eduGAIN, .

« », (NIST Special Publication 800-63C, NIST 800-63-C). (Federation Actors) Registration Authority (RA), Federation Operator (FO), Participant Entity .

SAML Federations OpenID Federations. SAML Federation Jagger Federation Management Tool. Open Trust Taxonomy for OAuth (OTTO) Federation, Trustmarks.

- OTTO-Node/Fides. «» (federation): - .

Resumo da leitura do livro

O livro fornece uma visão geral muito extensa de todos aqueles que podem interessar a um especialista que precisa criar uma infraestrutura segura de autorização e controle de acesso nas realidades modernas. É graças à cobertura compacta de tópicos tão complexos, coletados sob uma única capa, que o leitor recebe alimento para pensar na dosagem necessária para isso. O livro será útil para aqueles que pela primeira vez precisam entender as idéias e tecnologias desse campo e para os que precisam atualizar e atualizar seus conhecimentos neste tópico.

All Articles