0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Azure ADのゲストでBOXにSSOするときの属性マッピング

Last updated at Posted at 2022-12-24

個人的に契約してるMS365テナントでの検証の話。
Azure ADとBoxのシングルサインオンとプロビジョニング設定をして、Azure ADのゲストでBoxにシングルサインオンできるか試していたらうまくいかなかった。
※ゲストはMSアカウントとメールベースOTPのこと(要は他社AADユーザーではないゲストのこと)
image.png
Boxサポート記事に沿ってSAML Tracerで見てみたら怪しいところがあった。※メールアドレスはダミーです。

            </Attribute>
            <Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name">
                <AttributeValue>test_tailspintoys.com#EXT#@contoso.onmicrosoft.com</AttributeValue>
            </Attribute>
            <Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress">
                <AttributeValue>test@tailspintoys.com</AttributeValue>
            </Attribute>

ここの部分でBoxに2種類のメールアドレスを渡している。AzureADからプロビジョニングしたBoxユーザーはtailspintoys.comなのでcontoso.onmicrosoft.comのほうが悪さしてそう。

Boxサポート記事のここの部分
image.png
によるとhttp://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddressでメールアドレス渡せてるからいいのでは?と思ってたら、もうちょっと下の方にAzure(AD)の場合http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameを使うと書いてあった。
image.png
そこで、AzureAD側のBoxシングルサインオン(属性とクレーム)のところで、http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameを以下のように編集した。
image.png
自社AzureADユーザーについては、user.userprincipalnameがメールアドレスに一致してるのでそれを返して、ゲストの場合はuser.mailでメールアドレスを返すようにした。
なお今回試したゲストは、MSアカウントとメールベースOTP(ワンタイムパスワード)ユーザーなので、要求条件のユーザータイプはすべてのゲストではなく外部ゲストにすれば十分。その場合、ゲストが他社AADユーザーのケースが漏れてしまうので、ユーザータイプAADゲストで値をuser.userprincipalnameにする。他社AADユーザーの場合、UPNは他社テナント側のものが使われるので結果的にメールアドレスと同じことになる。user.localuserprincipalnameが招待元テナントでのUPNになる。
どのケースでもUPNがメールアドレスを返さないことがあるようなら、要求条件のところで条件わけせずに最初からシンプルにソース属性をuser.mailにしておくのが無難。
最後に、使ってなくて紛らわしいので
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddressは消した。
image.png
無事ゲストでBoxにシングルサインオンできた。
image.png

補足として、MSのチュートリアル記事を見ると、属性とクレームの設定でuser.userprincipalnameではなくBoxの場合はメールアドレスにマップしろとある。そこまではBoxの記事と同じだが、nameではなくUnique User Identifier(一意のユーザーID)のほうを使うと言ってる。Unique User Identifierをメールアドレス(user.mail)にしてもSSOできなかった。MSの記事は誤りっぽい。
image.png
誤りあればご指摘ください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?