iPadOSの共有iPadのセキュリティ
共有iPadとは、iPadの導入で使用するマルチユーザモード構成のiPadのことです。ユーザは、各自の書類やデータが分離された状態を保ちながら1台のiPadを共有できます。ユーザにはそれぞれ、個人用の予約済み保存領域が割り当てられます。この領域は、ユーザの資格情報で保護されたAPFS(Apple File System)ボリュームとして実装されます。共有iPadでは、組織が発行および所有する管理対象Apple IDを使用する必要があります。
共有iPadは複数のユーザで使用できるように構成されているため、ユーザは組織が所有するどのiPadにもサインインできます。ユーザのデータは、それぞれのデータ保護ドメイン内の個別のディレクトリに分割され、各ディレクトリはUNIXのアクセス権とサンドボックスの両方で保護されます。iPadOS 13.4以降では、ユーザは一時セッションにサインインすることもできます。ユーザが一時セッションからサインアウトすると、ユーザのAPFSボリュームが削除され、予約済みの領域はシステムに戻されます。
共有iPadへのサインイン
共有iPadへのサインインには、既存の管理対象Apple IDと、連携された管理対象Apple IDの両方を使用できます。連携されたアカウントを初めて使用する際には、ユーザはアイデンティティプロバイダ(IdP)のサインインポータルにリダイレクトされます。認証後に、背後にある管理対象Apple ID用の一時的なアクセストークンが発行されます。ログインプロセスは既存の管理対象Apple IDでのサインインプロセスと同様に進行します。サインインすると、共有iPadの設定アシスタントによって、ユーザはパスコード(資格情報)の設定を求められます。このパスコードは、今後デバイス上のローカルデータの保護とログイン画面の認証に使用されることになります。単一ユーザのデバイスでは、ユーザは連携された自身のアカウントを使用して管理対象Apple IDに1回サインインすれば、そのあとはパスコードで各自のデバイスのロックを解除します。これと同様に、共有iPadでは、ユーザは連携された自身のアカウントを使用して1回サインインしたあと、以降は設定したパスコードを使用します。
ユーザがフェデレーション認証での認証を行わずにサインインすると、管理対象Apple IDがApple Identity Service(IDS)によってSRPプロトコル経由で認証されます。認証に成功すると、そのデバイス専用の一時的なアクセストークンが付与されます。ユーザがそのデバイスを以前に使ったことがある場合は、同じ資格情報を使用してロック解除されたローカルユーザアカウントがすでに設定されています。
ユーザがそのデバイスを以前に使ったことがない場合、または一時セッション機能を使用している場合は、共有iPadによって新しいUNIXユーザID、ユーザの個人用データを保存するAPFSボリューム、およびローカルキーチェーンがプロビジョニングされます。保存領域はAPFSボリュームの作成時にユーザに割り当てられる(予約される)ため、新しいボリュームを作成するための容量が不足する場合があります。そのような場合は、クラウドへのデータの同期が完了した既存ユーザが特定され、新しいユーザがサインインできるように、そのユーザがデバイスから排除されます。すべての既存ユーザがクラウドデータのアップロードを完了していない場合、新しいユーザはサインインできません。新しいユーザがサインインするには、1人のユーザのデータの同期が終了するまで待つ必要があります。または、管理者に既存ユーザのアカウントを強制的に削除してもらうこともできますが、その場合はデータが損失するおそれがあります。
そのデバイスがインターネットに接続していない場合は(ユーザが利用できるWi-Fiアクセスポイントがない場合など)、特定の日数のみローカルアカウントを使用して認証できます。この場合は、既存のローカルアカウントまたは一時セッションを持っているユーザのみがサインインできます。所定の期間が過ぎると、ローカルアカウントを持っていてもオンラインでの認証を求められます。
ユーザのローカルアカウントがロック解除または作成され、リモートで認証されると、Appleのサーバによって発行された一時的なトークンが、iCloudへのサインインを許可するiCloudトークンに変換されます。次に、ユーザの設定が復元され、その生徒の書類やデータがiCloudから同期されます。
ユーザのセッションが進行中でデバイスがオンラインになっている間は、書類やデータが作成または変更されるとiCloudに保存されます。また、バックグラウンドで同期する仕組みによって、ユーザのサインアウト後も変更内容がiCloudに、またはNSURLSessionバックグラウンドセッションを使用してその他のWebサービスにプッシュされます。ユーザのバックグラウンド同期が完了すると、そのユーザのAPFSボリュームがマウント解除されます。ユーザがサインインし直すまで再度マウントすることはできません。
一時セッションのデータはiCloudに同期されません。また、一時セッションでBoxやGoogle Driveなどの他社の同期サービスにサインインすることはできますが、一時セッションが終了した際にデータの同期を継続する仕組みはありません。
共有iPadからのサインアウト
ユーザが共有iPadからサインアウトすると、そのユーザのキーバッグがただちにロックされ、すべてのアプリが終了されます。このとき、次に使うユーザが素早くサインインできるように、iPadOSでは通常のサインアウト処理の一部が一時保留になり、次のユーザにログインウインドウが表示されます。この保留時間(約30秒)内にユーザがサインインした場合は、新しいユーザアカウントへのサインイン過程で、保留されたクリーンアップが実行されます。共有iPadがアイドル状態のままの場合は、保留されたクリーンアップが開始されます。クリーンアップ段階では、別のサインアウトが発生したかのようにログインウインドウが再起動します。
一時セッションが終了すると、共有iPadで完全なログアウトシーケンスが実行され、一時セッションのAPFSボリュームがただちに削除されます。