カスタム・アプリケーションとIAMの統合
SCIMインタフェースを使用して、カスタム・アプリケーションをアイデンティティ・ドメインと統合する方法について学習します。
カスタム・アプリケーションとの統合
アプリケーションをアイデンティティ・ドメインと統合するとします。アプリケーションが自社開発されているか、アプリケーション・カタログにリストされていないため、ADブリッジまたはプロビジョニング・ブリッジをアプリケーションとアイデンティティ・ドメイン間のリンクとして使用できませんが、SCIM標準はサポートしています。
SCIM標準をサポートするカスタム・アプリケーションをアイデンティティ・ドメインに統合することで、アプリケーションのプロビジョニング機能を提供し、アプリケーションとIAM間でユーザーを同期できます。
SCIM
以前は、アプリケーションが独自のユーザー管理APIを持っていることは一般的でした。各アプリケーションのAPIは一定の方法で動作するため、開発者は各アプリケーションに固有のAPIを理解して、アプリケーションの統合を構築する必要がありました。
カスタム・アプリケーションをアイデンティティ・ドメインと統合するには、System for Cross-domain Identity Management (SCIM)を使用することをお薦めします。SCIMは、開発者に抽象レイヤーを提供します。アプリケーションのAPIがSCIMによって公開されている場合、開発者は各アプリケーションに関連付けられたAPIを学習する必要はありません。APIのJSON形式はすべてのアプリケーションで共通するためです。
SCIMは、アプリケーション全体のユーザーおよびグループ管理を標準化するオープン仕様であることに加えて、ユーザーおよびグループ・プロビジョニングの自動化を可能にします。複数のアプリケーション間でユーザーおよびグループのデータをプロビジョニングおよび同期できます。
SCIMでは、HTTPエンドポイントを定義して、ユーザーやグループなどのエンティティのリソースを作成、読取り、更新および削除できます。SCIMを使用して、会社のユーザーおよびグループのスキーマを拡張することもできます。SCIM仕様では、ユーザー・スキーマの最小属性セットを定義しますが、このスキーマは拡張できます。
たとえば、アイデンティティ・ドメイン・ユーザー・スキーマからカスタム・アプリケーションにEmployee ID
カスタム属性をプロビジョニングする必要があるとします。デフォルト・ユーザー・スキーマを拡張し、この属性を追加して、アイデンティティ・ドメインとアプリケーションの間でマップできます。これで、アイデンティティ・ドメインのユーザー・スキーマは、カスタム・アプリケーションのアイデンティティ・ストアに関連付けられた属性に準拠できます。
SCIM仕様では、HTTPエンドポイントを使用して行うリクエストのセキュリティも定義します。セキュリティを定義するには、セキュア・プロトコル(HTTPS)プロトコルを使用してエンドポイントと統合対象のアプリケーション間の通信を確立し、リクエストにアクセスしてそれに関連付けられた操作を実行するために使用される認可トークンを要求します。
SCIM仕様についてさらに学習するには、次の表を使用します:
項目 | URL |
---|---|
コア・スキーマ | https://tools.ietf.org/html/rfc7643 |
プロトコル | https://tools.ietf.org/html/rfc7644 |
定義、概要、概念および要件 | https://tools.ietf.org/html/rfc7642 |
以前は、統合の構築方法を調べる場合、開発者はアプリケーションごとに公開されているAPIを理解する必要がありました。これらのアプリケーションでアイデンティティを表す方法については、一貫性がありませんでした。
SCIMを使用すると、すべてのアプリケーションでアイデンティティを表す方法について共通の標準が導入されます。すべてのアプリケーションがSCIM形式に準拠しているため、これらのアイデンティティを表す方法について一貫したフローがあります。これにより、IAMなどのアイデンティティ管理クラウド・サービスとこれらのアプリケーションの統合が容易になります。
アプリケーションでアイデンティティを表す共通の標準を持つことで、開発者はアプリケーションごとにAPIを学習するための時間を費やす必要がなくなるため、開発者の作業効率および生産性が向上します。企業の立場からすると、アイデンティティ・システムからアプリケーションへの統合の開発にかかる時間が大幅に短縮されます。アイデンティティを表す方法およびそのアイデンティティと統合する方法に関する標準があるため、統合の自動化を実行できます。
カスタム・アプリケーションのアイデンティティ・ストアをSCIMベースのインタフェースで公開することで、アプリケーションとIAM間のカスタム・コネクタを開発する必要がなくなります。これには時間とコストがかかり、将来のアップグレード時に大きなメンテナンスが発生する可能性があります。
SCIMは、ユーザー・アイデンティティ・ライフサイクル管理プロセスを自動化し、会社のユーザーおよびグループに関連付けられたデータのセキュリティを強化します。
会社が成長するにつれて、ユーザーとグループも増加します。会社の日常業務を通じて、従業員の異動や、会社のグループに属しているユーザーのメンバーシップなどが変化する状況に直面することがあります。会社のユーザー・アカウント、グループおよびグループ・メンバーシップは、大幅に増加します。
SCIMは標準であるため、会社のユーザーおよびグループのデータは、一貫した方法で格納され、様々なアプリケーション(カスタム・アプリケーションを含む)間で通信できます。プロビジョニングおよびプロビジョニング解除プロセスを自動化し、権限およびグループ・メンバーシップを管理する単一ポイントとしてIAM機能を使用できます。会社のユーザーおよびグループのデータを自動的に転送することによって、不注意によるエラーのリスクが軽減されます。
SCIMを実装することで、会社のセキュリティを強化します。SSOによって、会社の従業員は各自のアカウントに個別にサインインする必要がなくなります。ユーザーのセキュリティ・ポリシー・コンプライアンスを確保し、ユーザーが会社のアプリケーションにアクセスできるようにします。
汎用SCIMアプリケーション・テンプレート
アプリケーション・カタログには、IAMと統合される数千のアプリケーションが含まれています。アプリケーションは、オンプレミスまたはクラウドで実行することも、Amazon Web ServicesやOracle Cloud Infrastructureなどの異なるインフラストラクチャ・システムに構築することもあります。
IAMは、アプリケーション・カタログにリストされているアプリケーションとの統合だけでなく、コードを開発せずにカスタム・アプリケーションの統合を構築できるようなツールも提供する必要があります。
汎用SCIMアプリケーション・テンプレートでは、SCIM APIが公開されるようにカスタム・アプリケーションを構成できるため、1行のコードも開発する必要がありません。必要なのは、アプリケーション・カタログに移動してSCIM管理のアプリケーション・テンプレートを検索することだけです。このテンプレートを使用するには、エンドポイントURLと、IAMがアプリケーションに接続するために必要な詳細のみを指定します。次に、アプリケーションとアイデンティティ・ドメイン間で属性をマップします。
汎用SCIMアプリケーション・テンプレートを使用すると、カスタム・アプリケーションとアイデンティティ・ドメイン間でユーザーをプロビジョニングまたは同期できます。
この図では、SCIMベースのインタフェースを持つカスタム・アプリケーションとIAMが通信できるように汎用SCIMアプリケーション・テンプレートが構成されています。このインタフェースは、REST APIエンドポイントを使用して、アイデンティティ・ドメインとカスタム・アプリケーション間でユーザーをプロビジョニングおよび同期します。
カスタム・アプリケーションにSCIMベースのインタフェースがあるか
カスタム・アプリケーションにSCIMベースのインタフェースがあるかどうかに基づいて、実行する必要のあることを学習します。
カスタム・アプリケーションにこのインタフェースがある場合は、ユーザーをアプリケーションにプロビジョニングするように汎用SCIMアプリケーション・テンプレートを構成できます。汎用SCIMアプリケーション・テンプレートの構成を参照してください。
カスタム・アプリケーションにこのインタフェースがない場合は、IAMとカスタム・アプリケーション間のインタフェースとして機能するカスタムSCIMゲートウェイを開発できます。カスタムSCIMゲートウェイの開発方法を参照してください。