ID およびアクセス管理 (IAM) とは
この記事では、ID およびアクセス管理 (IAM) の基本的な概念、それが重要な理由、およびそのしくみについて説明します。
ID およびアクセス管理により、適切なユーザー、マシン、およびソフトウェア コンポーネントが適切なタイミングで適切なリソースにアクセスできるようになります。 まず、ユーザー、マシン、またはソフトウェア コンポーネントは、自分が主張している本人または本物であることを証明します。 その後、ユーザー、マシン、またはソフトウェア コンポーネントは、特定のリソースへのアクセスまたは使用を許可または拒否されます。
基本的な用語と概念については、「ID の基礎」を参照してください。
IAM が実行する機能
IAM システムには、通常、次のコア機能が用意されています。
ID 管理 - ID 情報を作成、格納、および管理するプロセス。 ID プロバイダー (IdP) は、ユーザー ID、およびそれらの ID に関連付けられているアクセス許可とアクセス レベルの追跡と管理に使用されるソフトウェア ソリューションです。
ID フェデレーション - 他の場所 (エンタープライズ ネットワーク、インターネット、ソーシャル ID プロバイダーなど) でパスワードを既に持っているユーザーがシステムにアクセスできるようにすることができます。
ユーザーのプロビジョニングとプロビジョニング解除 - ユーザー アカウントを作成および管理するプロセス。これには、どのユーザーがどのリソースにアクセスできるかを指定し、アクセス許可とアクセス レベルを割り当てることが含まれます。
ユーザーの認証 - ユーザー、マシン、またはソフトウェア コンポーネントを認証します。このために、ユーザーが誰であるか、または主張している本人かどうかを確認します。 個々のユーザーに対し、追加のセキュリティのために多要素認証 (MFA) を追加したり、多くの異なるリソースではなく 1 つのポータルを使いユーザーが ID を認証できるように、シングル サインオン (SSO) を追加したりできます。
ユーザーの承認 - 承認により、ユーザーには、権限のあるツールに対する正確なレベルと種類のアクセスが許可されます。 また、ユーザーをグループまたはロールに分割して、ユーザーの大きなコーホートに同じ特権を付与することもできます。
アクセス制御 - 誰または何がどのリソースにアクセスできるかを決定するプロセス。 これには、ユーザー ロールとアクセス許可の定義、認証と承認のメカニズムの設定が含まれます。 アクセス制御により、システムとデータへのアクセスが規制されます。
レポートと監視 - コンプライアンスを確保し、セキュリティ リスクを評価するために、プラットフォームで実行されたアクション (サインイン時間、アクセスされたシステム、認証の種類など) の後にレポートを生成します。 環境におけるセキュリティや使用パターンに関する分析情報を得ることができます。
IAM のしくみ
このセクションでは、認証と承認のプロセスの概要と、より一般的な標準について説明します。
リソースの認証、承認、アクセス
たとえば、ユーザーをサインインさせ、保護されたリソースにアクセスするアプリケーションがあるとします。
ユーザー (リソース所有者) は、クライアント アプリケーションから ID プロバイダー/承認サーバーを使用して認証要求を開始します。
資格情報が有効な場合、ID プロバイダー/承認サーバーはまず、ユーザーに関する情報を含む ID トークンをクライアント アプリケーションに返信します。
ID プロバイダー/承認サーバーは、エンド ユーザーの同意も取得し、保護されたリソースにアクセスするための承認をクライアント アプリケーションに付与します。 承認はアクセス トークンで提供され、これはクライアント アプリケーションにも送信されます。
アクセス トークンは、クライアント アプリケーションから保護されたリソース サーバーに対して行われる後続の要求にアタッチされます。
ID プロバイダー/承認サーバーが、アクセス トークンを検証します。 成功した場合は、保護されたリソースに対する要求が許可され、応答がクライアント アプリケーションに返されます。
詳細については、「認証と承認」を参照してください。
認証と承認の標準
以下に、最もよく知られていて一般的に使用される認証と承認の標準を示します。
OAuth 2.0
OAuth は、Web サイト、モバイル アプリ、モノのインターネットなどのデバイスに安全なアクセスを提供するオープン標準の ID 管理プロトコルです。 転送中に暗号化されたトークンを使用するため、資格情報を共有する必要がなくなります。 OAuth の最新リリースである OAuth 2.0 は、Facebook、LinkedIn、Google、PayPal、Netflix などの、主要なソーシャル メディア プラットフォームやコンシューマー サービスで使用される人気のあるフレームワークです。 詳細については、OAuth 2.0 プロトコルに関するページを参照してください。
OpenID Connect (OIDC)
OpenID Connect (公開キー暗号化を使用) のリリースにより、OpenID は OAuth の認証層として広く採用されるようになりました。 SAML と同様に、OpenID Connect (OIDC) はシングル サインオン (SSO) 用に広く使用されていますが、OIDC では XML ではなく REST/JSON が使用されます。 OIDC は、REST/JSON プロトコルを使用してネイティブ アプリとモバイル アプリの両方で動作するように設計されています。 ただし、SAML の主なユース ケースは Web ベースのアプリです。 詳細については、OpenID Connect プロトコルに関するページを参照してください。
JSON Web トークン (JWT)
JWT はオープン標準であり、パーティー間で情報を JSON オブジェクトとして安全に送信するためのコンパクトで自己完結型の方法が定義されています。 JWT はデジタル署名されているため、検証して信頼することができます。 JWT は、認証を要求するサービスと ID プロバイダーの間で、認証されたユーザーの ID を渡すために使用できます。 認証に加えて暗号化することもできます。 詳細については、JSON Web トークンに関するページを参照してください。
Security Assertion Markup Language (SAML)
SAML は、このケースでは IAM ソリューションと別のアプリケーションとの間で、認証と承認に関する情報を交換するために使用されるオープン標準です。 この方法では、XML を使用してデータを送信します。この方法は通常、ID およびアクセス管理プラットフォームで、IAM ソリューションと統合されているアプリケーションにサインインする機能をユーザーに付与するために使用されます。 詳細については、SAML プロトコルに関するページを参照してください。
クロスドメイン ID 管理システム (SCIM)
ユーザー ID を管理するプロセスを簡略化するために作成された SCIM プロビジョニングを使用すると、組織は、クラウドで効率的に運用し、ユーザーを簡単に追加または削除し、さらに予算によるメリット、リスクの軽減、ワークフローの合理化を実現できます。 SCIM では、クラウドベースのアプリケーション間の通信も容易になります。 詳細については、「SCIM エンドポイントのプロビジョニングを開発および計画するを参照してください。
Web Services Federation (WS-Fed)
WS-Fed は、Microsoft によって開発され、Microsoft のアプリケーションで広く使用されています。この標準は、さまざまなエンティティ間で ID と承認情報を交換するためにセキュリティ トークンを転送する方法を定義します。 詳細については、Web Services Federation プロトコルに関するページを参照してください。
次のステップ
詳細については、以下をご覧ください。