こんにちは、Azure Identity サポート チームの栗井です。
本記事は、2021 年 10 月 14 日に米国の Azure Tools Blog で公開された Azure Active Directory breaking change impacting Azure CLI and Azure PowerShell を意訳したものになります。
背景
2021 年 10 月 15 日より、Azure AD に登録されるシングルテナントアプリケーションの AppId URI (identifierUris) には、デフォルトのスキーム (api://{appId}) または検証済みドメインのいずれかが要求されるようになります。
実際にサポートされるアプリケーション ID の URI を、公開情報より抜粋します。
以下の例にある API と HTTP スキーマー ベースのアプリケーション ID の URI がサポートされます。
<appid>
などのプレース ホルダーの値を、公開情報に記載の説明を元に置き換えてください。
サポートされるアプリケーション ID の URI フォーマット アプリケーション ID の URI の例 api://<appId>
api://fc4d2d73-d05a-4a9b-85a8-4f2b3a5f38ed
api://<tenantId>/<appId>
api://a8573488-ff46-450a-b09a-6eca0c6a02dc/fc4d2d73-d05a-4a9b-85a8-4f2b3a5f38ed
api://<tenantId>/<string>
api://a8573488-ff46-450a-b09a-6eca0c6a02dc/api
api://<string>/<appId>
api://productapi/fc4d2d73-d05a-4a9b-85a8-4f2b3a5f38ed
https://<tenantIdDomain>.onmicrosoft.com/<string>
https://contoso.onmicrosoft.com/productsapi
https://<verifiedCustomDomain>/<string>
https://contoso.onmicrosoft.com/productsapi
https://<string>.<verifiedCustomDomain>
https://product.contoso.onmicrosoft.com
https://<string>.<verifiedCustomDomain>/<string>
https://product.onmicrosoft.com/productsapi
上記の変更の影響により、Azure CLI または Azure PowerShell を最新のバージョンにアップグレードしていない場合、サービス プリンシパルの作成時に次のようなエラーメッセージが表示されることが想定されます。
Values of identifierUris property must use a verified domain of the organization or its subdomain |
例 : “az ad sp create-for-rbac” コマンド実行時
解決方法
各種ツールを以下のバージョンにアップグレードください。
- Azure CLI : 2.25.0 以降
- Azure PowerShell : 6.0.0 以降
この変更による影響については、各ツールの GitHub ページからご確認いただけますと幸いです。
- Azure CLI: https://github.com/Azure/azure-cli/issues/19892
- Azure PowerShell: https://github.com/Azure/azure-powershell/issues/16097
回避策
自動化ツールの新バージョンへのアップグレードが実施いただけない場合は、以下の手順によってエラーを回避し、サービス プリンシパルを作成ください。
Azure Active Directory にカスタム ドメインを登録します (未実施の場合)。
承認された形式の IdentifierUri で、アプリケーションを登録します。
例 (az ad app create コマンド):
az ad app create --display-name "myApp" --identifier-uris "https://test.contoso.com"
登録したアプリケーションを参照するサービスプリンシパルを作成します。
例 (az ad sp create コマンド):
az ad sp create --id <2.で登録したアプリの App Id>
Note
訳注: az ad sp create-for-rbac コマンド実行時に、適切なアプリケーション ID の URI を指定することでも回避可能です。
az ad sp create-for-rbac --name "https://test.<verified-domain>.com"
補足
サービス プリンシパルの作成の観点では最新モジュールを利用し、アプリケーション ID の URI を登録しないことが推奨される対処策です。
一方で、登録したアプリを API として公開する際などアプリケーション ID の URI を登録する際には、前述のサポートされる URI のフォーマットを指定する必要があります。
許可されない URI 形式をしてすると以下のエラーメッセージが表示されます。エラーメッセージが表示された場合、入力した値が許可された URI 形式かどうかをご確認ください。
アプリケーション ID の URI アプリケーションのプロパティを更新できませんでした。エラーの詳細: IdentifierUris プロパティの値には、組織またはそのサブドメインの確認済みドメインを使用する必要があります:
以上の内容がご参考になりましたら幸いです。ご不明点等ございましたらサポート チームまでお問い合わせください。
※本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。