サービスプリンシパルを利用するazコマンド
az login --service-principal --username <azureClientId> --tenant <azureTenantId> --password <azureClientSecret>
service-principalとは
特定のAzureリソースにアクセスするためのセキュリティID
認証と認可
認証:サービスプリンシパルのIDを使用し、AADに認証を行う
IDは(クライアントIDとクライアントシークレットまたは証明書)
認可:認証が成功すると、AADはアクセストークンを発行し、アクセストークンを使用しリソースグループやその他のAzureリソースに対してアクセスを行える
また、このアクセストークンにはサービスプリンシパルがアクセスできるリソースと権限の情報が含まれる
アクセス
認証と認可が下りたため、リソースグループへアクセスできるということになります
また、このようなアクセス制御をRBAC(ロールベースアクセス制御)と呼ぶ
Azure ロールベースのアクセス制御 (Azure RBAC) は、Azure のリソースに対するアクセスを管理するために使用する承認システムです。
https://learn.microsoft.com/ja-jp/azure/role-based-access-control/role-assignments-portal
例えば、アプリケーションがリソースグループ内のVMにアクセスさせたいと場合、ロールに役割を持たせ、認可を最小限に持たせることで、セキュリティが担保できる
また、サービスプリンシパルにも様々機能があるため、都合がよい