Autenticarsi in modo sicuro su Azure tramite GitHub Actions

di Matteo Tumiati, in DevOps,

Chi deve amministrare in modo automatico la propria infrastruttura su Azure, facendo uso delle GitHub Actions, si sarà sicuramente imbattuto nella necessità di autenticarsi con Azure stesso. Per farlo, seguendo la documentazione è necessario utilizzare delle credenziali di un utente o, meglio, di un service principal, che possono essere salvate come segreti all'interno del repository.

- name: Azure login
  uses: azure/login@v2
  with:
    creds: ${{ secrets.AZURE_CREDENTIALS }}

Queste credenziali, non sono nient'altro che un file JSON contenente le informazioni necessarie per autenticarsi con Azure. Questo file può essere generato in diversi modi, ma il più semplice è quello di utilizzare il comando `az ad sp create-for-rbac` di Azure CLI, che ci restituirà un risultato simile al seguente:

{
  "clientSecret":  "******",
  "subscriptionId":  "******",
  "tenantId":  "******",
  "clientId":  "******"
}

Tuttavia, questa secret ha il problema di essere multilinea. Questo significa che se venisse esposta in un log tramite un altro step del workflow, potrebbe essere letta in chiaro da chiunque. Per evitare questo problema di sicurezza, è sufficiente utilizzare dei parametri diversi nella action di login, che prevede l'utilizzo di quattro secret separati, uno per ogni campo del file JSON.

- name: Azure login
  uses: azure/login@v2
  with:
    client-id: ${{ secrets.AZURE_CLIENT_ID }}
    tenant-id: ${{ secrets.AZURE_TENANT_ID }}
    subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi