Alibaba Cloud は、Security Assertion Markup Language (SAML) 2.0 および OpenID Connect (OIDC) に基づくシングルサインオン (SSO) をサポートしています。この機能は、ID フェデレーションとも呼ばれます。このトピックでは、企業が ID システムを使用して Alibaba Cloud で SSO を実装する方法について説明します。
SSO の基本概念
用語 | 説明 |
ID プロバイダー (IdP) | 外部 IdP のメタデータを含む Resource Access Management (RAM) エンティティ。IdP は ID 管理サービスを提供できます。
|
サービスプロバイダー (SP) | IdP の ID 管理機能を使用してユーザーにサービスを提供するアプリケーション。SP は、IdP によって提供されるユーザー情報を使用します。OIDC など、SAML プロトコルに基づいていない一部の ID システムでは、SP は IdP の依拠当事者とも呼ばれます。 |
Security Assertion Markup Language 2.0 (SAML 2.0) | エンタープライズユーザーの ID 認証のための標準プロトコル。これは、SP と IdP 間の通信のための技術的な方法の 1 つです。SAML 2.0 は、エンタープライズレベルの SSO を実装するためのデファクトスタンダードです。 |
SAML アサーション | 認証リクエストと応答を記述する SAML プロトコルのコア要素。たとえば、ユーザーの特定の属性は、認証応答のアサーションに含まれます。 |
信頼 | SP と IdP の間に確立される相互信頼メカニズムであり、通常は公開鍵と秘密鍵を使用して実装されます。SP は、信頼できる方法で IdP の SAML メタデータを取得します。メタデータには、IdP によって発行された SAML アサーションの署名検証用の公開鍵が含まれています。その後、SP は公開鍵を使用してアサーションの整合性を検証します。 |
OIDC | OpenID Connect (OIDC) は、OAuth 2.0 上に構築された認証プロトコルです。OAuth は権限付与プロトコルです。OIDC は、OAuth プロトコルの上に ID レイヤーを構築します。OAuth によって提供される権限付機能に加えて、OIDC を使用すると、クライアントはエンドユーザーの ID を検証し、HTTP RESTful フォーマットの OIDC API を介して基本情報を取得できます。 |
OIDC トークン | OIDC は、ログインしているユーザーを表すために、OIDC トークンである ID トークンをアプリケーションに発行できます。OIDC トークンは、ログインしているユーザーの基本情報を取得するために使用されます。 |
クライアント ID | アプリケーションを外部 IdP に登録すると、クライアント ID が生成されます。外部 IdP から OIDC トークンをリクエストするときは、このクライアント ID を使用する必要があります。発行された OIDC トークンは、 |
検証フィンガープリント | 発行者 URL が悪意を持ってハイジャックされたり改ざんされたりするのを防ぐために、外部 IdP の HTTPS CA 証明書から生成された検証フィンガープリントを設定する必要があります。Alibaba Cloud は、この検証フィンガープリントの自動計算を支援します。ただし、ローカルで 1 回計算し (たとえば、「OIDC IdP のフィンガープリントを取得するために OpenSSL を使用する」をご参照ください)、Alibaba Cloud によって計算されたフィンガープリントと比較することをお勧めします。それらが異なる場合、発行者 URL が攻撃されている可能性があります。再度確認し、正しいフィンガープリントを入力してください。 |
発行者 URL | 発行者 URL は外部 IdP によって提供され、OIDC トークンの |
一時的な認証情報 | セキュリティトークンサービス (STS) は、一時的なアクセス権限管理のための Alibaba Cloud サービスです。STS を使用して、カスタムの有効期間とアクセス権限を持つ一時的な認証情報 (STS トークン) を取得できます。 |
SSO メソッド
Alibaba Cloud は、次の 2 つの SSO メソッドを提供します。
ユーザーベース SSO
Alibaba Cloud は、IdP によって発行された SAML アサーションに基づいて、エンタープライズユーザーと Alibaba Cloud RAM ユーザー間のマッピングを決定します。エンタープライズユーザーがログインすると、ユーザーは RAM ユーザーとして Alibaba Cloud リソースにアクセスします。詳細については、「ユーザーベース SSO の概要」をご参照ください。
ロールベース SSO
ロールベース SSO は、SAML 2.0 ベースと OIDC ベースの 2 種類がサポートされています。
SAML ベースのロール SSO: Alibaba Cloud は、IdP によって発行された SAML アサーションに基づいて、エンタープライズユーザーが偽装できる RAM ロールを決定します。エンタープライズユーザーがログインすると、ユーザーは SAML アサーションで指定された RAM ロールを偽装して Alibaba Cloud リソースにアクセスします。詳細については、「SAML ベースのロール SSO の概要」をご参照ください。
OIDC ベースのロール SSO: エンタープライズユーザーは、IdP によって発行された OIDC トークンを使用して Alibaba Cloud API を呼び出し、指定されたロールを偽装して、トークンを Security Token Service (STS) トークンと交換します。その後、ユーザーは STS トークンを使用して Alibaba Cloud リソースに安全にアクセスします。詳細については、「OIDC ベースのロール SSO の概要」をご参照ください。
SSO メソッドの比較
SSO メソッド | SP 主導の SSO | IdP 主導の SSO | RAM ユーザーアカウントとパスワードを使用したログイン | 単一の設定で IdP を複数の Alibaba Cloud アカウントに関連付ける | 複数の IdP |
ユーザーベース SSO | サポートされています | サポートされています | サポートされていません | サポートされていません | サポートされていません |
ロールベース SSO | サポートされていません | サポートされています | サポートされています | サポート | サポートされています |
ユーザーベース SSO とロールベース SSO の詳細な比較については、「SSO メソッドのシナリオ」をご参照ください。