「ID フェデレーション 」についての概要解説です。複数ドメイン間でシングルサインオンを実現できるID管理機能として利用が広がっています。「2つのプロバイダー」「導入メリット」「IDフェデレーションとシングルサインオンの違い」「主要クラウドのIDフェデレーションサービス」について紹介しています。
コンテンツ
「IDフェデレーション」とは
ユーザー認証責任を外部に委任
「IDフェデレーション」とは、「ユーザー認証」と「リソースアクセス承認のために必要な情報伝達」を目的とした2者間の信頼連携システムです。
「IDプロバイダー」は、サービスとして、ユーザーIDの管理や認証を実施し、各IDを保証します。
「サービスプロバイダー」は、ユーザー認証をIDプロバイダーに委任することで、該当ユーザーに対してサービス(アプリケーション)へのアクセスを許可します。
ドメイン間認証
IDフェデレーションでは、「企業」「組織」「アプリケーションベンダー」「サードパーティ」などの各ドメイン間で信頼関係を確立することで、ドメイン間でIDを共有してユーザー認証を実施できます。
ユーザーは1つのドメインに対して認証を実施すれば、信頼関係を結んでいる他のドメインのリソースにアクセスできます。
オープン標準実装
IDフェデレーションは「SAML」「OAuth」「OpenID Connect」「SCIM」などの標準プロトコルを使用して実装されています。
これらのオープンスタンダードにより、ドメイン間での認証およびアクセス情報の安全な送信が可能になります。
「IDフェデレーション」の2つのプロバイダー
「IDフェデレーション」は、以下の2つのプロバイダーが協調して動作することで機能します。
IDプロバイダー
IDプロバイダーは、ユーザーIDの「作成」「管理」「認証」を担当するエンティティです。
ユーザープロファイル情報管理
ユーザーIDに関するプロファイル情報は、IDプロバイダーが管理するデータベース内に保持されます。
・ユーザーID
・ユーザー名
・Eメールアドレス
・所属情報
・アクセス権限ロール など
ユーザーID認証
IDプロバイダーは、サービスプロバイダーからのユーザーID認証リクエストに対して認証を実施し、アサーションと呼ばれるメッセージを返信します。
リクエストや返信では「OAuth2」や「SAML2」などのデータ形式を利用します。
アサーションメッセージには、『サービスプロバイダーがユーザーとのセッションを確立し、リソースアクセス範囲を決定するために必要なその他の属性情報』が含まれます。
IDプロバイダーの例
・AzureAD
・Googleフェデレーション など
サービスプロバイダー
サービスプロバイダーとは、ユーザーに対して各種サービスを提供するエンティティを指します。
「Microsoft 365」「Google Workspace」「Salesforce」「Slack」などのサービスが該当します。
ユーザーがサービスプロバイダーにログインしようとすると、そのサービスプロバイダーは信頼関係を結んでいるIDプロバイダーに対して、ユーザーID認証を委任します。
その後、IDプロバイダーからサービスプロバイダーに返信された認証結果に従い、ユーザーログインの許可(拒否)を実施します。
「IDフェデレーション」の導入メリット
IDフェデレーションは、接続されたシステム全体のセキュリティを強化し、ログインプロセスを簡素化して、企業の生産性を向上させます。
ユーザーエクスペリエンス向上
ユーザーは1回ログインするだけで、フェデレーションドメインのすべての「サービス」「アプリケーション」「システム」などにアクセスできます。
企業ライン全体でのシングルサインオンが可能になります。
ユーザー資格情報の保護
IDフェデレーションでは、エンドユーザーの資格情報(ID+パスワード)をIDプロバイダー内に格納することによって機能します。
ユーザーがサービスにログインする時に、対象サービスに対してログイン資格情報を提供せずに認証を実施できるため、ログイン資格情報の漏洩リスクや悪用リスクを低減できます。
セキュリティ向上
ユーザーは1セットの資格情報を扱うだけになるため、セキュリティは向上します。
IDフェデレーションソリューションにより、企業はシステムとリソース全体でID認証を管理し保護できます。
同一パスワードの使いまわしなど、ユーザーの不適切なセキュリティ慣行の発見と対策にも活用できます。
IT運用コスト削減
ユーザーが利用するサービスが30個存在する場合でも、IDフェデレーションにより一括で管理できるため、IT運用コストは大きく削減できます。
企業のデータ管理の簡素化にもつながります。
「IDフェデレーション」と「シングルサインオン」の違い
「IDフェデレーション」と「シングルサインオン」は密接に関連していますが、同じではありません。
・「IDフェデレーション」は「シングルサインオン」を提供できます。
・「シングルサインオン」は「IDフェデレーション」を提供できません。
シングルサインオン
シングルサインオンでは、ユーザーは1回のログインで複数のサービス(アプリケーション)にサインインできます。
しかし「単一ドメイン内のアクセス」に限られます。
IDフェデレーション
IDフェデレーションでは「複数ドメインに対するシングルサインオンアクセス」が可能です。
このことから、「IDフェデレーション」は「シングルサインオン」の上位互換として理解できます。
主要クラウドのIDフェデレーションサービス
主要クラウドで利用可能なIDフェデレーションサービスの概要を紹介します。
①AWS「Amazon Cognito」
概要
「Amazon Cognito」を使用すると、Webアプリケーション(モバイルアプリ)に対して、素早く簡単にユーザーの「サインアップ/サインインおよびアクセスコントロール機能」を追加できます。
セキュアでスケーラブルな「IDストア」
「Amazon Cognitoユーザープール」は「セキュアIDストア」を提供します。
・何百万人単位のユーザーにスケール可能
・インフラストラクチャプロビジョニングは必要なし
・簡単設定
・ユーザープールメンバーはディレクトリプロファイルを保有—ソフトウェア開発キット(SDK) を通じて管理
ソーシャル(エンタープライズ)IDフェデレーション
Cognitoは各種IDプロバイダーをサポートしています。
・ソーシャルIDプロバイダー:「Apple」「Google」「Facebook」「Amazon」など
・エンタープライズIDプロバイダー:「SAML 2.0」「OpenID Connect」など
標準ベース認証
「Amazon Cognitoユーザープール」は、標準ベースIDプロバイダーとして、アクセス管理標準をサポートします。
・OAuth 2.0
・SAML 2.0
・OpenID Connect など
セキュリティ
「多要素認証」「保存データ(転送データ)暗号化」をサポートしています。
また、各種国際標準に準拠しています。
・HIPAA
・PCI DSS
・SOC
・ISO/IEC 27001
・ISO/IEC 27017
・ISO/IEC 27018
・ISO 9001 など
②Azure「Azure AD Connect」
概要
「Azure AD Connect」は、ハイブリッドIDの目標に適合し達成するように設計されたMicrosoftツールです。
→docs.microsoft.com →azure →active-directory →hybrid →whatis-azure-ad-connect
パスワードハッシュ同期
「パスワードハッシュ同期」とは、ユーザーの「オンプレミスADパスワードのハッシュ」を「Azure AD」と同期させるサインイン方法です。
パススルー認証
「パススルー認証」とは、ユーザーがオンプレミスとクラウド内で同じパスワードを使用できるようにするサインイン方法です。
フェデレーション環境のための追加インフラストラクチャは必要ありません。
フェデレーション統合
「フェデレーション統合」とは、「Azure AD Connect」のオプションであり、オンプレミスの「AD FS インフラストラクチャ」を使用してハイブリッド環境を構成するために使用できます。
証明書の更新や追加を実施できる「AD FS サーバーデプロイ」などの「AD FS 管理機能」も提供されます。
同期機能
「同期機能」とは「オンプレミスのユーザーやグループのID情報」をクラウド側と一致させる機能です。
同期のために「ユーザー」「グループ」「その他オブジェクト」を作成する役割を果たします。
パスワードハッシュ同期も含まれます。
正常性監視機能
「Azure AD Connect Health」により、1つのレンズで主要なIDコンポーネントの正常性をまとめて確認できます。
・監視機能:「オンプレミスIDインフラストラクチャ」「主要IDコンポーネント」
・主要データポイントに対して容易にアクセス
・信頼性の高い接続を維持:「Microsoft 365」「Microsoft Online Services」
・Azure AD Connect Healthポータル:「アラート確認」「パフォーマンス状況確認」「使用状況分析」など
③Google Cloud「Workload Identity連携」
概要
「Workload Identity連携」を使用すると、サービスアカウントキーを使用せずに、「Google Cloudリソースへのアクセス権」を「オンプレミス(マルチクラウド)のワークロード」に付与できます。
→cloud.google.com →iam →docs →workload-identity-federation
サービスアカウントキーに関連する負担を軽減
ID連携を使用すると、「Identity and Access Management(IAM)」を使用して、外部IDに対して、「サービスアカウントになりすます機能を含むIAMロール」を付与できます。
これにより、「有効期間の短いアクセストークン」を使用してリソースに直接アクセスできるため、サービスアカウントキーに関連するメンテナンスとセキュリティの負担が軽減されます。
Workload Identity プール
「Workload Identityプール」を使用して、外部IDについて編成および管理できます。
・1つのプロジェクトに複数のWorkload Identityプールを含めることができる
・各プールは異なるリソースにアクセスできる
・最小権限の原則:「同一プール内で関連IDをグループ化」「きめ細かいアクセス権をそのIDに付与」
サポートIDプロバイダー
「Workload Identityプロバイダー」は、「Google Cloudと外部IDプロバイダーとの関係」を表すエンティティであり、以下のプロバイダーをサポートします。
・AWS
・Azure Active Directory
・(オンプレミス版)Active Directory
・Okta
・Kubernetesクラスタ など
日本企業向けクラウドID管理サービス「Keyspider」とは?
Keyspiderオフィシャルサイトでは、Keyspiderに関する情報を紹介しています。
「日本企業向けである理由」「Keyspiderが必要である理由」「JSOX法対応」「業務自動化」などについて参照できます。
参考元サイト
- →10duke.com →What is Federated Identity / Identity Federation? Guide 2020
- →aws.amazon.com →Identity federation in AWS
- →pingidentity.com →Single Sign-on vs. Federated Identity Management: The Complete Guide
- →techdocs.broadcom.com →Comparing Federation and Web Access Management for Single Sign-on
- →fortinet.com →Federated Identity
- →aws.amazon.com →Amazon Cognito
- →docs.microsoft.com →azure →active-directory →hybrid →Azure AD Connect とは
- →cloud.google.com →iam →docs →Workload Identity 連携