CNAF Reloaded: AAI Andrea Ceccanti CNAF Reloaded Kick-off Meeting 10 Novembre 2020
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
CNAF Reloaded: AAI Andrea Ceccanti CNAF Reloaded Kick-off Meeting 10 Novembre 2020
Idee per i principi guida per la nuova AAI del CNAF Responsabilità condivisa: • L’AAI del CNAF è un servizio core del centro. La responsabilità della sua realizzazione e gestione è condivisa fra i reparti. Continuità del servizio e Alta affidabilità: • l’AAI deve funzionare sempre. Gli interventi di manutenzione non devono richiedere periodi di down Usabilità: • deve essere facile registrarsi per utilizzare le risorse del centro, autenticarsi via browser e CLI, conoscere i privilegi assegnati al proprio account, reimpostare una password dimenticata, integrare servizi Osservabilità/tracciabilità: • deve essere facile verificare il buono stato dell’infrastruttura e poter tracciare accessi e uso dei sistemi del centro Non-originalità: • riusare il più possibile tecnologie ed esperienze esistenti e consolidate 2
Come impostare il lavoro Abbiamo bisogno di un processo iterativo ben definito • Definizione e tracciamento dei requisiti • Definizione di un documento architetturale che identifichi i componenti principali e le tecnologie usate per realizzarli • Valutazione dell’approccio tramite realizzazione di un prototipo e test di integrazione ai vari livelli • Documentazione dell’esito della valutazione che segua le best practice per la gestione degli artefatti (documenti, software, configurazione, …) L’implementazione di questo processo dovrebbe essere corale, anche a causa dell’effort significativo richiesto, e includere personale afferente ai vari reparti del CNAF 3
Requisiti per la nuova AAI del CNAF Documento "vivo" Frutto delle discussioni nei mesi passati Requisiti di alto livello e funzionali, e.g.: • Responsabilità condivisa • Sostenibilità • Usabilità •… • Supporto di Autenticazione a fattori multipli • Gestione ciclo di vita degli account 4
Architettura della nuova AAI del CNAF Da definire formalmente, ispirandosi all’esperienza di centri con esigenze simili al nostro Componenti principali: • Directory and authentication service: implementa l’albero LDAP del CNAF e il server Kerberos - Tecnologia proposta: FreeIPA • Single Sign On service: abilita l’integrazione con meccanismi di autenticazione esterna (EduGAIN, INFN AAI), implementa supporto a MFA e fornisce un OpenID Connect/SAML authentication/authorization hub verso l’LDAP del CNAF - Tecnologia proposta: Keycloak/IAM • Authorization service: definisce le policy di autorizzazione per l’accesso alle risorse. - Tecnologia proposta: Keycloak + API sviluppate internamente + Open Policy Agent • User account service: permette all’utente di gestire il proprio account (e.g., reset della password, richiesta di appartenenza a gruppi, etc…) - Tecnologia proposta: Keycloak/sviluppo interno web application • Registration service: implementa la procedura di registrazione per ottenere un account al CNAF - Tecnologia proposta: Keycloak/sviluppo interno web application • Altri servizi di gestione: e.g., gestione pool account, etc… - Tecnologia proposta: Scripting su API FreeIPA/sviluppo interno 5
Architettura proposta della nuova AAI del CNAF Higher level Single Sign On User account services OAuth2/OIDC (Keycloak/IAM) service SAML Authorization Service Registration APIs (Keycloak/OPA) service Computing/ LDAP Other admin Storage LDAP/Kerberos (FreeIPA) services resources 6
Attività principali e stima manpower # Task Attività Stima FTE • Setup HA, dimensionamento e test di scalabilità FreeIPA 2.2.1 Deployment servizi core • Setup HA, dimensionamento Keycloak 1 • Provisioning e monitoring 2.2.2 Migrazione OpenLDAP -> FreeIPA • Definizione e test strategie di migrazione 0.5 • Test di integrazione di risorse (WN, UIs, storage, bastion, posta, VPN,…) con FreeIPA 2.2.3 Integrazione • Test integrazione higher level services con Keycloak (Cloud@CNAF, 1.5 K8S@CNAF, …) • Integrazione con provisioning tools • Definizione requisiti procedure di gestione del ciclo di vita degli account 2.2.4 User lifecycle management • Design e sviluppo User account e Registration services 1.5 • Provisioning e monitoring • Valutazione Keycloak Authorization Services e Open Policy Agent 2.2.5 Servizi di autorizzazione • Design e sviluppo 1 • Provisioning e monitoring 7
Timeline di massima 2020 2021 2022 2023 Attività Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Definizione requisiti e architettura Deployment servizi core @ CNAF Definizione test e strategie di migrazione Test di integrazione Design e sviluppo test User, Registration & Authorization services Deployment servizi core @ Tecnopolo ⇢ 8
Timeline di massima 2020 2021 2022 2023 Attività Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Definizione requisiti e architettura Deployment servizi core @ CNAF Definizione test e strategie di migrazione Test di integrazione Design e sviluppo test User, Registration & Authorization services Deployment servizi core @ Tecnopolo Questo dipende da quando ⇢ potremo cominciare a schierare servizi @ Tecnopolo 8
Timeline di massima 2020 2021 2022 2023 Attività Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Definizione requisiti e architettura Deployment servizi core @ CNAF Definizione test e strategie di migrazione Test di integrazione Design e sviluppo test User, Registration & Authorization services Deployment servizi core @ Tecnopolo Questo dipende da quando ⇢ potremo cominciare a schierare servizi @ Tecnopolo 8 Nuova AAI in produzione
Referenze e link utili The Road to the new CERN authentication CERN Authentication and authorization infrastructure design CERN-CNAF Keycloak Knowledge Sharing slides 9
Puoi anche leggere