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
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Usare la libreria PredicateBuilder per eseguire query tramite Entity Framework che usano or su più campi
Utilizzare @property per animare nativamente un oggetto HTML tramite CSS
Le cron expression di un workflow di GitHub
Configurare OpenTelemetry per Application Insights su ASP.NET Core
Proteggere l'endpoint dell'agente A2A delle Logic App
Importare repository da Bitbucket a GitHub Enterprise Cloud
Disabilitare le run concorrenti di una pipeline di Azure DevOps
Self-healing degli unit test con Copilot in GitHub
Introduzione a GitHub Copilot CLI
Integrare Agenti A2A in Azure API Management


