Esercitazione: Configurare GitHub per il provisioning utenti automaticoTutorial: Configure GitHub for automatic user provisioning

Questa esercitazione descrive le procedure da eseguire in GitHub e Azure AD per effettuare automaticamente il provisioning e il deprovisioning degli account utente da Azure AD a GitHub.The objective of this tutorial is to show you the steps you need to perform in GitHub and Azure AD to automatically provision and de-provision user accounts from Azure AD to GitHub.

PrerequisitiPrerequisites

Per lo scenario descritto in questa esercitazione si presuppone che l'utente disponga di quanto segue:The scenario outlined in this tutorial assumes that you already have the following items:

  • Tenant di Azure Active DirectoryAn Azure Active directory tenant
  • Tenant di Github con piano Business o superiore abilitatoA Github tenant with the Business plan or better enabled
  • Account utente in GitHub con autorizzazioni di amministratoreA user account in GitHub with Admin permissions

Nota

L'integrazione del provisioning di Azure AD è basata sull'API SCIM di GitHub, disponibile per team GitHub con piano Business o superiore.The Azure AD provisioning integration relies on the GitHub SCIM API, which is available to Github teams on the Business plan or better.

Assegnazione di utenti a GitHubAssigning users to GitHub

Per determinare gli utenti che dovranno ricevere l'accesso alle app selezionate, Azure Active Directory usa il concetto delle "assegnazioni".Azure Active Directory uses a concept called "assignments" to determine which users should receive access to selected apps. Nel contesto del provisioning automatico degli account utente vengono sincronizzati solo gli utenti e i gruppi che sono stati "assegnati" a un'applicazione in Azure AD.In the context of automatic user account provisioning, only the users and groups that have been "assigned" to an application in Azure AD is synchronized.

Prima di configurare e abilitare il servizio di provisioning, è necessario stabilire quali utenti e/o gruppi in Azure AD rappresentano gli utenti che devono accedere all'app GitHub.Before configuring and enabling the provisioning service, you need to decide what users and/or groups in Azure AD represent the users who need access to your GitHub app. Dopo averlo stabilito, è possibile assegnare gli utenti all'app GitHub seguendo le istruzioni riportate in:Once decided, you can assign these users to your GitHub app by following the instructions here:

Assegnare un utente o gruppo a un'app aziendaleAssign a user or group to an enterprise app

Suggerimenti importanti per l'assegnazione di utenti a GitHubImportant tips for assigning users to GitHub

  • È consigliabile assegnare un singolo utente di Azure AD a GitHub per testare la configurazione del provisioning.It is recommended that a single Azure AD user is assigned to GitHub to test the provisioning configuration. È possibile assegnare utenti e/o gruppi aggiuntivi in un secondo momento.Additional users and/or groups may be assigned later.

  • Quando si assegna un utente a GitHub, è necessario selezionare il ruolo Utente o un altro ruolo specifico dell'applicazione valido, se disponibile, nella finestra di dialogo di assegnazione.When assigning a user to GitHub, you must select either the User role, or another valid application-specific role (if available) in the assignment dialog. Poiché il ruolo Accesso predefinito non è applicabile per il provisioning, i relativi utenti vengono ignorati.The Default Access role does not work for provisioning, and these users are skipped.

Configurazione del provisioning utenti in GitHubConfiguring user provisioning to GitHub

Questa sezione illustra la connessione di Azure AD all'API per il provisioning degli account utente di GitHub e la configurazione del servizio di provisioning per la creazione, l'aggiornamento e la disabilitazione degli account utente assegnati in GitHub in base all'assegnazione di utenti e gruppi in Azure AD.This section guides you through connecting your Azure AD to GitHub's user account provisioning API, and configuring the provisioning service to create, update, and disable assigned user accounts in GitHub based on user and group assignment in Azure AD.

Suggerimento

Si può anche scegliere di abilitare l'accesso Single Sign-On basato su SAML per GitHub, seguendo le istruzioni disponibili nel portale di Azure.You may also choose to enabled SAML-based Single Sign-On for GitHub, following the instructions provided in Azure portal. L'accesso Single Sign-On può essere configurato indipendentemente dal provisioning automatico, nonostante queste due funzionalità siano complementari.Single sign-on can be configured independently of automatic provisioning, though these two features compliment each other.

Configurare il provisioning automatico degli account utente in GitHub in Azure ADConfigure automatic user account provisioning to GitHub in Azure AD

  1. Nel portale di Azure passare alla sezione Azure Active Directory > App aziendali > Tutte le applicazioni.In the Azure portal, browse to the Azure Active Directory > Enterprise Apps > All applications section.

  2. Se si è già configurato GitHub per l'accesso Single Sign-On, cercare l'istanza di GitHub usando il campo di ricerca.If you have already configured GitHub for single sign-on, search for your instance of GitHub using the search field. In caso contrario, selezionare Aggiungi e cercare GitHub nella raccolta di applicazioni.Otherwise, select Add and search for GitHub in the application gallery. Selezionare GitHub nei risultati della ricerca e aggiungerlo all'elenco delle applicazioni.Select GitHub from the search results, and add it to your list of applications.

  3. Selezionare l'istanza di GitHub e quindi la scheda Provisioning.Select your instance of GitHub, then select the Provisioning tab.

  4. Impostare Modalità di provisioning su Automatico.Set the Provisioning Mode to Automatic.

    Provisioning di GitHub

  5. Nella sezione Credenziali amministratore fare clic su Autorizza.Under the Admin Credentials section, click Authorize. Viene aperta una finestra di dialogo di autorizzazione di GitHub in una nuova finestra del browser.This operation opens a GitHub authorization dialog in a new browser window.

  6. Nella nuova finestra accedere a GitHub con l'account di amministratore.In the new window, sign into GitHub using your Admin account. Nella finestra di dialogo di autorizzazione risultante selezionare il team GitHub per cui si vuole abilitare il provisioning e quindi Authorize (Autorizza).In the resulting authorization dialog, select the GitHub team that you want to enable provisioning for, and then select Authorize. Al termine, tornare al portale di Azure per completare la configurazione del provisioning.Once completed, return to the Azure portal to complete the provisioning configuration.

    Finestra di dialogo di autorizzazione

  7. Nel portale di Azure immettere l'URL tenant e fare clic su Test connessione per verificare che Azure AD possa connettersi all'app GitHub.In the Azure portal, input Tenant URL and click Test Connection to ensure Azure AD can connect to your GitHub app. Se la connessione non riesce, verificare che l'account GitHub abbia le autorizzazioni di amministratore e che l'URL tenant sia stato immesso correttamente, quindi provare a eseguire di nuovo il passaggio per l'autorizzazione. È possibile calcolare l'URL tenant seguendo la regola: "https://api.github.com/scim/v2/organizations/ + <nome_organizzazioni>". È possibile individuare le organizzazioni nell'account GitHub in Settings (Impostazioni) > Organizations (Organizzazioni).If the connection fails, ensure your GitHub account has Admin permissions and Tenant URl is inputted correctly, then try the "Authorize" step again (you can constitute Tenant URL by rule: "https://api.github.com/scim/v2/organizations/ + <Organizations_name>", you can find your organizations under your GitHub account: Settings > Organizations).

    Finestra di dialogo di autorizzazione

  8. Immettere l'indirizzo di posta elettronica di una persona o un gruppo che riceverà le notifiche di errore relative al provisioning nel campo Messaggio di posta elettronica di notifica e selezionare la casella di controllo "Invia una notifica di posta elettronica in caso di errore".Enter the email address of a person or group who should receive provisioning error notifications in the Notification Email field, and check the checkbox "Send an email notification when a failure occurs."

  9. Fare clic su Save.Click Save.

  10. Nella sezione Mapping selezionare Synchronize Azure Active Directory Users to GitHub (Sincronizza utenti di Azure Active Directory in GitHub).Under the Mappings section, select Synchronize Azure Active Directory Users to GitHub.

  11. Nella sezione Mapping degli attributi esaminare gli attributi utente che vengono sincronizzati da Azure AD a GitHub.In the Attribute Mappings section, review the user attributes that are synchronized from Azure AD to GitHub. Gli attributi selezionati come proprietà corrispondenti vengono usati per trovare le corrispondenze con gli account utente in GitHub per le operazioni di aggiornamento.The attributes selected as Matching properties are used to match the user accounts in GitHub for update operations. Selezionare il pulsante Salva per eseguire il commit delle modifiche.Select the Save button to commit any changes.

  12. Per abilitare il servizio di provisioning di Azure AD per GitHub, impostare Stato del provisioning su nella sezione ImpostazioniTo enable the Azure AD provisioning service for GitHub, change the Provisioning Status to On in the Settings section

  13. Fare clic su Save.Click Save.

L'operazione avvia la sincronizzazione iniziale di tutti gli utenti e/o i gruppi assegnati a GitHub nella sezione Utenti e gruppi.This operation starts the initial synchronization of any users and/or groups assigned to GitHub in the Users and Groups section. La sincronizzazione iniziale richiede più tempo delle sincronizzazioni successive, che saranno eseguite circa ogni 40 minuti per tutto il tempo che il servizio è in esecuzione.The initial sync takes longer to perform than subsequent syncs, which occur approximately every 40 minutes as long as the service is running. È possibile usare la sezione Dettagli sincronizzazione per monitorare lo stato di avanzamento e selezionare i collegamenti ai log delle attività di provisioning che descrivono tutte le azioni eseguite dal servizio di provisioning.You can use the Synchronization Details section to monitor progress and follow links to provisioning activity logs, which describe all actions performed by the provisioning service.

Per altre informazioni sulla lettura dei log di provisioning di Azure AD, vedere l'esercitazione relativa alla creazione di report sul provisioning automatico degli account utente.For more information on how to read the Azure AD provisioning logs, see Reporting on automatic user account provisioning.

Risorse aggiuntiveAdditional resources

Passaggi successiviNext steps