AppleIDがAzureADによるフェデレーションログインに対応したので試してみた

この記事について

Apple社デバイス管理者にとって悲願(?)のApple IDがIdP(今のところAzureADだけ?)によるログインが可能になったので検証してみました。
結論から言うと、 「まだ社内展開は早いかな...。」 という所感を持ったのでそこについて触れていきます。

ちなみに、現状、フェデレーションログインによるメリットが享受できる企業としては下記になると考えています。(詳細は後述)

  1. 「会社設立したてでこれからApple IDを管理する」といった企業。
  2. Apple ID用のサブドメインを用意する」といった企業。

フェデレーションログインによる「メリット」

  1. ユーザー(社員)はAzureADによるID/PASSでログインできる。MFAもAzureADのものが使える。
  2. AppleIDを新規作成したときに「レビュー」と呼ばれる入力が不要になる。(ID毎にクレジットカード情報入力したり、住所入力したりとしないといけないので新入社員にとっては苦痛でしかない)

なんといってもメリットは1につきると思います。
2についても、新入社員はiPhone/iPadを支給されたらAzureADでログインする"だけ"で良くなるのでとても簡単になります。
...とここまではメリットしかなくて「最高だぜ!!!ヒャッハー!」なんですが、デメリットもあります。大きすぎるデメリットが。

フェデレーションログインによる「デメリット」

  1. 既存のApple IDはフェデレーションログインに移行できない。
  2. AppStoreでアプリ購入するときに、TouchID/FaceIDが使えなくなる。
  3. ユーザプロビジョニングが自動ではない

最大のデメリットは1ですね。
おそらく、会社展開の場合は、「会社使用のメールアドレス」にApple IDを紐付けていると思います。
そして、大多数の方はフェデレーションログインする際にメールアドレスのドメイン部でフェデレーション設定をしたいと思うはずです。
ところが...今回のフェデレーション設定をすると今回のケースのような場合、既存ユーザは別Apple ID作成を強制されます。しかも別ドメインに!

例: 会社のメールアドレスがtaro@hoge-apple.comであり、AppleIDもそのメールアドレスで作成した場合。

  1. 管理者がhoge-apple.comドメインをAzureADによるフェデレーション管理下に置く。(今回のリリース内容をやる)
  2. taro@hoge-apple.comはAppleから「60日以内にApple IDを別のものに変えなさい」とメールが届く。
  3. 別メールアドレスとして、例えばtaro+old@hoge-apple.comとして登録しようとする。
  4. 上記アドレスのドメイン部がフェデレーション管理下に置かれるので、エラーになってしまう。
  5. 泣く泣くicloud.comのIDなどにApple IDを変更せざるを得ない。
    • 課金済みのAppや、電話帳、iCloudストレージなども新Apple IDに移行されてしまう!
  6. taroは新たにtaro@hoge-apple.comとしてAzureADにログインして、"データも何もないまっさらな"Apple IDを使用する。

こんな事態になります。
つまり...

Apple IDを多量に展開済であればあるほど、フェデレーションログインへの移行は難しくなるわけです。。

じゃあ、どうしたらいいの?

現実解としては下記のようになるかなと考えます。
(ぜんぜん、現実的ではないがこれくらいしか打開策が思いつかない)

  1. 既存社員→今まで通り、ID/PASSによるApple IDを継続してもらう。
  2. 新入社員→Apple ID用の ドメイン を取得し、そのドメインを使用してフェデレーションログインをする。
    • 例: 上記例の場合、 taro@appleid.hoge-apple.com といったサブドメインを切るなどが現実的じゃないかと。

設定方法

さて、ここからが本題。
デメリットがとても大きいリリースですが、メリットもゼロじゃないのでいざ設定をしてみようと思います。

手順は公式サイトの下記を参考にやります。
support.apple.com

前提として下記が必要なので準備しておいてください。

  1. ABM(Apple Business Manager)の登録。(詳細は割愛します)
  2. Azure ADのグローバル管理者ユーザ
  3. Azure ADのグローバル管理者ユーザに「姓」「名」を登録しておく。

support.apple.com

前提:

  1. 事前にフェデレーション先Azure Portalにログインしておきます。
    • ※グローバル管理者権限のユーザでのログインが無難です。
  2. ABMにログインします。
  3. 「設定」を選択します。
    • f:id:undersooon:20191202113041p:plain
  4. 「アカウント」を選択します。
    • f:id:undersooon:20191202144800p:plain
  5. 「Federated Authentication」から「編集」を選択し、「接続」ボタンを押します。
    • f:id:undersooon:20191202113501p:plain
    • f:id:undersooon:20191202113530p:plain
  6. ポータルにサインインしろと言われ、許可設定を求められるので「承諾」します。(SAMLではなく、Directory APIを叩くんですね)
    • f:id:undersooon:20191202113732p:plain
    • f:id:undersooon:20191202113842p:plain
  7. ABMの画面に戻り、管理対象のドメイン名を入力して「続ける」を選択します。
    • f:id:undersooon:20191202113905p:plain
  8. また、Azureへのサインインが求められるので対応します。
    • f:id:undersooon:20191202114024p:plain
    • ちなみにこの段階でAzureAD側のグローバル管理者ロールのユーザに姓名が登録されていないとエラーになります。
    • f:id:undersooon:20191202114131p:plain
  9. 登録が成功すると、下記のようにユーザ名の競合のチェックが走ります。競合って?と思ったのですが「既に登録ドメインを使ったApple IDが作成されてないか」チェックするみたいです。
    • f:id:undersooon:20191202122923p:plain
    • ちなみに下記にも自動的に追加される模様
    • f:id:undersooon:20191202123049p:plain
  10. 「アクティビティ」に登録ドメインとバッティングしているApple IDの数が出るので対処します...と言いたいとこですが どのApple IDがバッティングしているかは教えてくれません (つらい...)
  11. というわけで、「設定」-「アカウント」-「Federated Authentication」 でフェデレーションを有効化します。
    • f:id:undersooon:20191202123752p:plain
    • f:id:undersooon:20191202123529p:plain
    • f:id:undersooon:20191202123834p:plain
  12. すると、フェデレーション登録済のユーザが居た場合、下記のようなメール(脅迫メール)が届くようになるので60日以内にユーザ側で移行作業をしてもらいます。
    • f:id:undersooon:20191202123943p:plain
    • ちなみにログインするとこうなります。
    • f:id:undersooon:20191202124653p:plain
  13. 以上

無理やり既存Apple IDをフェデレーションIDにマイグレーションできないかあがいてみた。

  1. ここで、「もともと使っていたApple IDを入力したらフェデレーションユーザにマイグレーションされるんじゃ...?」と淡い期待を込めてやってみますが、 できませんでした AzureAD認証に成功しても下記ウィンドウが再び表示されループします。
    • f:id:undersooon:20191202124653p:plain
  2. ABM側から社員によるID移行前に、既存のApple IDを指定して無理やりマイグレーションできないか試みましたが、これも失敗...。
    • f:id:undersooon:20191202124922p:plain
  3. いっそのことマイグレーションしないで放置してみる(フェデレーションログインとの混在を目指す)とも考えたのですがこれもNG...。
    • Apple ID移行しないとApple側が強制的にApple IDをテンポラリのものへと置き換えるそうです。
    • support.apple.com
      • Apple から最初の通知が届いてから 60 日以内に Apple ID を更新しなかった場合、Apple ID は @temporary.appleid.com を含む仮のユーザ名に変更されます。たとえば、john@example.edu changes は john-example.edu@temporary.appleid.com に変わります。

追記

このフェデレーションは 一度設定するとそのドメインは削除できません (2019.12.2時点) のでご注意ください。
ドメインの追加自体はできるのでまあいいのかもしれませんが、気にされる方はお気をつけを。
(指摘頂いた khakさんありがとうございます!!)