Service Principal
Bash Script: Create Service Principal for Terraform
#!/usr/bin/env bash
set -euo pipefail
# Set your Azure subscription context
SUBSCRIPTION_ID=$(az account show --query id -o tsv)
SP_NAME="firstContainerAppGitHubAction"
# Create the Service Principal with Contributor role
az ad sp create-for-rbac \
--name "$SP_NAME" \
--role "Contributor" \
--scopes "/subscriptions/$SUBSCRIPTION_ID" \
--sdk-auth \
--output json
# Assign User Access Administrator role (optional, for RBAC management)
servicePrincipalAppId=$(az ad sp list --display-name "$SP_NAME" --query "[].appId" -o tsv)
az role assignment create \
--assignee "$servicePrincipalAppId" \
--role "User Access Administrator" \
--scopes "/subscriptions/$SUBSCRIPTION_ID"Usage in Terraform and CI/CD
Best Practices
References
Last updated