やりたいこと
- Azure AD にユーザーを招待する
- リソースグループを作成する
- リソースグループに招待したユーザーのRBACを設定する
この流れの作業を行う機会が少なくないので、ポータルではなく Azure CLI でできるようにしておきたい。
1. Azure AD にユーザーを招待する
本来なら Azure CLI ではなく Microsoft Graph API を使用するが、Azure CLI にも az rest
という便利なコマンドがある。
az rest
で Microsoft Graph API の認証に必要なアクセストークンが取得できるため、結果的に Azure CLI で操作ができるようになる。
例:自身のユーザー情報を取得する
$ az rest \ > --method get \ > --url https://graph.microsoft.com/v1.0/me/ { "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users/$entity", "businessPhones": [], "displayName": "松村優大", "givenName": "優大", "id": "...", "jobTitle": null, "mail": null, "mobilePhone": null, "officeLocation": null, "preferredLanguage": null, "surname": "松村", "userPrincipalName": "..." }
※一部の値はダミー
Azure AD にユーザーを招待する
az rest \ --method post \ --url "https://graph.microsoft.com/v1.0/invitations" \ --body "{\"invitedUserEmailAddress\": \"email@example.com\", \"inviteRedirectUrl\": \"https://myapp.contoso.com\", \"sendInvitationMessage\": true}"
invitedUserEmailAddress
に招待先のメールアドレスを指定する。
sendInvitationMessage
に true
を指定することで招待メールが送付される。
2. リソースグループを作成する
まぁ、これは定番ですかね。
az group create --name rg-rbac-control
3. リソースグループに招待したユーザーのRBACを設定する
普段この作業は Azure ポータルで行うので、改めてコマンドを把握しておきたい。
例えばリソースグループの共同作成者ロールを付与したいときは次のようになる。
USER_ID=RBACを設定したいユーザーID az role assignment create \ --assignee $USER_ID \ --role "Contributor" \ --resource-group rg-rbac-control