Eseguire il pull di immagini da un registro contenitori a un cluster del servizio Azure Kubernetes in un tenant Microsoft Entra diverso

In alcuni casi, potrebbe essere presente il cluster del servizio Azure Kubernetes in un tenant Microsoft Entra e nel registro contenitori di Azure in un tenant diverso. Questo articolo illustra i passaggi per abilitare l'autenticazione tra tenant usando le credenziali dell'entità servizio del servizio Azure Kubernetes per eseguire il pull dal registro contenitori.

Nota

Non è possibile collegare il Registro di sistema ed eseguire l'autenticazione usando un'identità gestita del servizio Azure Kubernetes quando il cluster e il registro contenitori si trovano in tenant diversi.

Panoramica dello scenario

Presupposti per l'esecuzione di questo esempio:

  • Il cluster del servizio Azure Kubernetes si trova nel tenant A e il Registro Azure Container si trova nel tenant B.
  • Il cluster del servizio Azure Kubernetes è configurato con l'autenticazione dell'entità servizio nel tenant A. Altre informazioni su come creare e usare un'entità servizio per il cluster del servizio Azure Kubernetes.

È necessario almeno il ruolo Collaboratore nella sottoscrizione del cluster del servizio Azure Kubernetes e il ruolo Proprietario nella sottoscrizione del registro contenitori.

Usare la procedura seguente per:

  • Creare una nuova app multi-tenant (entità servizio) nel tenant A.
  • Effettuare il provisioning dell'app nel tenant B.
  • Configurare l'entità servizio per eseguire il pull dal Registro di sistema nel tenant B
  • Aggiornare il cluster del servizio Azure Kubernetes nel tenant A per eseguire l'autenticazione usando la nuova entità servizio

Istruzioni dettagliate

Passaggio 1: Creare un'applicazione Microsoft Entra multi-tenant

  1. Accedere al portale di Azure nel tenant A.

  2. Cerca e seleziona Microsoft Entra ID.

  3. In Gestisci selezionare Registrazioni app > + Nuova registrazione.

  4. In Tipi di account supportati selezionare Account in qualsiasi directory organizzativa.

  5. In URI di reindirizzamento immettere https://www.microsoft.com.

  6. Selezionare Registra.

  7. Nella pagina Panoramica prendere nota dell'ID applicazione (client). Verrà usato nel passaggio 2 e nel passaggio 4.

    Service principal application ID

  8. In Certificati e segreti, in Segreti client selezionare + Nuovo segreto client.

  9. Immettere una descrizione , ad esempio Password , e selezionare Aggiungi.

  10. In Segreti client prendere nota del valore del segreto client. È possibile usarlo per aggiornare l'entità servizio del cluster del servizio Azure Kubernetes nel passaggio 4.

    Configure client secret

Passaggio 2: Effettuare il provisioning dell'entità servizio nel tenant del Registro Azure Container

  1. Aprire il collegamento seguente usando un account amministratore nel tenant B. Dove indicato, inserire l'ID del tenant B e l'ID applicazione (ID client) dell'app multi-tenant.

    https://login.microsoftonline.com/<Tenant B ID>/oauth2/authorize?client_id=<Multitenant application ID>&response_type=code&redirect_uri=<redirect url>
    
  2. Selezionare Consenti per conto dell'organizzazione e quindi Accetta.

    Grant tenant access to application

Passaggio 3: Concedere all'entità servizio l'autorizzazione per eseguire il pull dal Registro di sistema

Nel tenant B assegnare il ruolo AcrPull all'entità servizio, con ambito al registro contenitori di destinazione. È possibile usare il portale di Azure o altri strumenti per assegnare il ruolo. Per alcuni passaggi con l'interfaccia della riga di comando di Azure, vedere Registro Azure Container'autenticazione con le entità servizio.

Assign acrpull role to multitenant app

Passaggio 4: Aggiornare il servizio Azure Kubernetes con il segreto dell'applicazione Microsoft Entra

Usare l'ID applicazione multi-tenant (client) e il segreto client raccolti nel passaggio 1 per aggiornare le credenziali dell'entità servizio del servizio Azure Kubernetes.

L'aggiornamento dell'entità servizio può richiedere alcuni minuti.

Passaggi successivi