やりたいこと
ADB2Cのメールアドレス(user principal name)を変更したい
リンク
問題点
・AzureポータルのGUIからは変更できない(グレーアウトされている)
実現方法概要
GraphAPIを使用してコマンドラインから実行する
事前準備
- Azureポータルにアクセス
- 変更したいADB2Cのあるディレクトリに切り替え
- Azure AD B2Cで「アプリの登録」
- 新規登録でGraphAPI用のアプリを登録
「任意の組織ディレクトリ内のアカウント (任意の Azure AD ディレクトリ – マルチテナント)」を選択 - API のアクセス許可から[Microsoft Grap API]を選択し、「[アプリケーションの許可] … (B) あらかじめ管理者が許可を与え、ユーザ操作なしで動く」を選択
- Users周りに許可を与える
- [規定のディレクトリに管理者の同意を与えます]をクリックして「はい」を選択し、許可する
- 証明書とシークレット]を選択、[新しいクライアントシークレット]をクリック、名前と期間を指定して生成
リンク
実現方法
①ターミナルから以下を実行し、アクセストークンを発行
curl -d "client_id=クライアントID" \ -d "scope=https://graph.microsoft.com/.default" \ -d "client_secret=⑧で発行したシークレット(IDではないほう)" \ -d "grant_type=client_credentials" \ -H "Content-Type: application/x-www-form-urlencoded" \ -X POST https://login.microsoftonline.com/テナントID/oauth2/v2.0/token
②発行されたアクセストークンをメモしておく
③ターミナルから以下実行
curl -X PATCH -H "Authorization: Bearer アクセストークン" \ -H "Content-Type: application/json" -d '{"identities":[{"signInType":"emailAddress","issuer":"テナント名(元のと同じもの).onmicrosoft.com","issuerAssignedId":"新しいメールアドレス"}]}' https://graph.microsoft.com/v1.0/users/ユーザーのオブジェクトID
コメント