ご覧のとおり、フェデレーションによってプロビジョニングの必要性が必ずしも軽減されるわけではありません。これは、すぐにはわからない重要な洞察です。
これに対処するには、次のような複数の方法があります。
- メタまたは仮想ディレクトリ製品の使用または
- 「JIT プロビジョニング」(別名「動的プロビジョニング」または「オンザフライ プロビジョニング」) を使用する。
後者について説明しよう。このソリューションは、ブログでも説明していますには、IP-STS と RP-STS の 2 つの STS が含まれています。1 つ目は、ユーザーのみを認証します。2 つ目はアプリケーションに固有であり、そのシステムのユーザーを承認するために必要なクレームを認識します。IP-STS は、これらのアプリケーション固有の属性を発行できません。発行すると、企業のディレクトリ サービスがあらゆる種類のアプリケーション固有の情報で混乱することになります。代わりに、そのストアで維持され、IP-STS によって発行されるユーザーの属性は、一般的な性質のものであり、ユーザーが使用しているアプリケーションに関係なく、ユーザーに適用されます。IP-STS に対して認証を行い、そこから ID のみのクレームを取得した後、トークンは RP-STS に渡されます。このトークン サービスは、アプリケーションと密接に結合されています。ユーザーがさまざまなリソースにアクセスするために必要なクレームを認識します。ID のみのクレームを、このアクセス制御の決定を行うために必要なものに変換できます。したがって、RP-STS は、ID 関連のクレームをアプリ固有のクレームにマップするクレーム トランスフォーマーです。
RP-STS はどのようにユーザーをプロビジョニングしますか? 上記の例のように、新しい従業員が作成されたとします。ユーザーがアプリにアクセスすると、RP-STS にバウンスされます。彼はそこにログインしないため、IP-STS にバウンスされます。システム管理者が彼のアカウントを作成したので、彼はログインできるようになり、ブラウザは彼を RP-STS に戻します。RP-STS はトークンをクラックし、ユーザー ID (電子メール、PPID など) を取得して、ユーザーが誰であるかを認識していないことを確認します。したがって、RP-STS はユーザーをプロビジョニングします。これは、たとえば Web ページを表示することによって行われます。RP にアクセスするときに、そのユーザーの役割を判別するのに役立つ情報を収集する場合があります。この後、ユーザーがプロビジョニングされます (つまり、ユーザーのクレーム値を含むレコードがデータベースに作成されます)。RP-STS はアプリケーションに固有のトークンを発行し、アプリケーションをそこにリダイレクトします。アプリケーションは、彼がプロビジョニングされたばかりであることを知りません。いつものようにクレームを使用するだけです。(JIT プロビジョニングと呼んだ理由がわかりますか?)
ユーザーのプロビジョニング後に状況が変化した場合はどうなりますか? わかった。これを想像してみてください: ユーザーは何年も前にディレクトリ ストアで作成され、RP-STS で前述のようにプロビジョニングされ、システムを長い間快適に使用しています。次に、アプリケーションのユーザーが新しい利用規約 (T&C) に同意することを要求するポリシーの変更があります。次回ユーザーがアプリにログインすると、RP-STS にリダイレクトされ、IP-STS にリダイレクトされ、認証されて RP-STS に戻されます。その時点で、ユーザーが新しい T&C に同意する必要があることを認識し、ユーザーに Web ページを表示して同意を得ます。その後、RP-STS はセキュリティ トークンを発行し、ユーザーをアプリにリダイレクトします。いつものように、アプリはクレームを処理し、アクセスを承認するために必要なことを行います。それは知りませんし、しません」ユーザーが「再プロビジョニング」されただけであることは気にしません。または、ILM (現在は FIM と呼ばれています) などの製品を使用して、アイデンティティ ストア (つまり、社内ディレクトリ) と RP-STS のクレーム ストアの間で変更を同期することができます。システムによっては、このようなバック チャネル同期を行う製品の方が適している場合があります。
ところで、これらは「不自由な」質問ではありません! 非常に複雑な問題に対する深い思考と知的な反省を反映した非常に鋭い質問があります。あなたが答える必要がある他のものは次のとおりです。
- アプリケーションの管理者はどのようにポリシーを更新しますか (T&C を変更するなど)? どの UI/API を作成する必要がありますか? UI は、IP-STS のポリシーを管理するために使用されるものと統合されていますか?
- このようなシステムが機能するためには、どのような信頼関係が必要なのでしょうか?
- サブジェクトがパッシブ プロファイルを使用していない場合はどうなりますか? 彼がアクティブなプロファイルを使用している場合、および/または UI がない場合はどうなりますか?
- 鍵はどこに、どのように配置されていますか? これらのキーを使用するには、どのようなアクセス許可が必要ですか? それらはどのように改訂、配布され、有効期限が近づいたときにシステム管理者にどのように警告されるのでしょうか?
このようなものは、ユーザー グループのミーティングや会議で簡単にデモできますが、実際には非常に高度なものです。他に質問がある場合は、ここに投稿するか、私に直接連絡してください。