Azure DevOpsに外部ユーザーを招待したが、当該ユーザーが招待したプロジェクトにアクセスできないことがある

このエントリは2025/05/28現在の情報に基づいています。将来の機能追加や変更に伴い、記載事項からの乖離が発生する可能性があります。

問い合わせ

お初の方から、以下のような問い合わせが届いた。

現在Azure DevOpsを使ってチーム開発をしている。協力会社の人にも参加してもらうため、担当者のメールアドレスをもらい、組織(Organization)に外部ユーザーを招待するように構成した。実際追加もでき、招待メールも送信できたが、当該ユーザーがアクセスすると403で怒られてしまう。どうしたらよいのか?

Azure DevOpsはEntra ID配下にあり、通常はEntra IDのユーザーを追加することが多いが、外部ユーザー(Microsoftアカウントも含む)を組織に招待できる。招待すると、以下のようなメールが届くので、このJoin nowをクリックすれば、プロジェクトにアクセスできる、はず。

なのだが、実際にアクセスしてみると、403でアクセスできない(番犬が見張っていて入れない、というイメージだが、おそらくWanちゅ〜るを上げたら一発で手懐けられるはず、知らんけど)。

で、どうしたものか、というお問い合わせをもらった次第。「あー、これはあるあるやん」と思った方もいらっしゃるかもしれない。

どうしたらよいのか?

組織の設定 (Organization Settings) のポリシー (Policies) の外部ゲストアクセス (External Guest Access) を有効にしなければならない。ドキュメントにも記載がある。

組織に外部ユーザーを追加する / Add external users to your organization
https://learn.microsoft.com/azure/devops/organizations/accounts/add-external-user?view=azure-devops

  • この外部ユーザーを招待する組織で外部ゲスト アクセスがオンになっていること。

このポリシーはデフォルトで無効なので注意が必要。しかも、無効なのに招待できてしまうので、UXとしてどうなのか、という問題はあるのだが、いずれにしても、この設定を有効にしておく必要がある。

Entra IDにB2B invitationをした状態の外部ユーザーだったら

更問が届いた。

Azure DevOpsの属するEntra IDにはすでに該当するユーザーをB2B Invitation済みだが、それでもこの設定は必要なのか?

B2B Invitationとは、以下のドキュメントにもある通り、テナント外のユーザーを招待し、テナント傘下のアプリケーションにアクセスできるようにするしくみ。

Microsoft Entra 外部 ID の概要 / Introduction to Microsoft Entra External ID
https://learn.microsoft.com/entra/external-id/external-identities-overview

問い合わせ主の疑問は「招待済みのユーザーなのに、なんでExternal Guest Accessが必要なのか」ということなのだが、これは当該ユーザーがEntra IDのユーザーではなく、あくまでも外部ユーザー(招待されたユーザー)だから。Azure DevOpsの場合、自身が属するEntra IDテナント以外のユーザーがアクセスするためには、External Guest Accessが必要。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください