Alibaba Cloud は、Security Assertion Markup Language(SAML)2.0 ベースおよび OpenID Connect(OIDC)ベースのシングルサインオン(SSO)をサポートしています。この機能は ID フェデレーションとも呼ばれます。このトピックでは、SSO に関連する用語を紹介し、企業の ID 管理システムと Alibaba Cloud 間で SSO を実装する方法について説明します。
用語
用語 | 説明 |
ID プロバイダー(IdP) | ID 管理サービスを提供する RAM エンティティ。IdP は次のタイプに分類されます。
|
サービスプロバイダー(SP) | IdP の ID 管理機能を使用して、ユーザーに特定のサービスを提供するアプリケーション。SP は、IdP によって提供されるユーザー情報を使用します。SAML プロトコルに基づいていない特定の ID システム(OIDC など)では、SP は IdP の依拠当事者として知られています。 |
Security Assertion Markup Language 2.0(SAML 2.0) | 企業レベルのユーザー ID 認証用に設計されたプロトコル。SAML 2.0 は、SP と IdP 間の通信に使用されます。SAML 2.0 は、企業が企業レベルの SSO を実装するために使用する標準です。 |
SAML アサーション | SAML プロトコルで定義されているコア要素。この要素は、認証リクエストとレスポンスを記述します。たとえば、認証レスポンスの SAML アサーションには、ユーザー属性を含めることができます。 |
信頼 | SP と IdP 間の相互信頼関係。ほとんどの場合、信頼関係は公開鍵と秘密鍵を使用して確立されます。SP は、信頼できる IdP の SAML メタデータを取得できます。メタデータには公開鍵が含まれています。SP は公開鍵を使用して、IdP によって発行された SAML アサーションの整合性を検証します。 |
OIDC | Open Authorization(OAuth)2.0 に基づいて開発された認証プロトコル。詳細については、「OIDC」および「OAuth 2.0」をご参照ください。OAuth は認証プロトコルです。OIDC は、OAuth を拡張するために ID レイヤーを追加します。このようにして、OIDC は OAuth を認証に使用できます。また、OIDC を使用すると、クライアントはユーザーの ID を検証し、HTTP RESTful API を使用してユーザーに関する基本情報を取得できます。 |
OIDC トークン | OIDC によってアプリケーションに発行される ID トークン。OIDC トークンは、ログインユーザーを示す ID トークンです。OIDC トークンを使用して、ログインユーザーに関する基本情報を取得できます。 |
クライアント ID | 外部 IdP にアプリケーションを登録するときに、アプリケーションに対して生成される ID。外部 IdP から OIDC トークンを申請する場合は、クライアント ID を使用する必要があります。クライアント ID は、発行された OIDC トークンの |
フィンガープリント | 外部 IdP の HTTPS 証明書に基づいて生成されるフィンガープリント。フィンガープリントを使用して、発行者の URL がハイジャックされたり改ざんされたりするのを防ぐことができます。Alibaba Cloud はフィンガープリントを計算します。コンピューターでフィンガープリントを計算することをお勧めします。たとえば、OpenSSL を使用して OIDC IdP のフィンガープリントを取得できます。詳細については、「OpenSSL を使用して OIDC IdP のフィンガープリントを取得する」をご参照ください。次に、計算結果を Alibaba Cloud が提供する計算結果と比較できます。OpenSSL の詳細については、OpenSSL の公式 Web サイトをご覧ください。計算結果が異なる場合は、発行者の URL が攻撃されている可能性があります。有効なフィンガープリントを入力してください。 |
発行者の URL | 外部 IdP によって提供される発行者の URL。URL は、OIDC トークンの |
STS トークン | Alibaba Cloud セキュリティトークンサービス(STS)によって提供される一時的な ID 認証情報。STS を使用すると、Alibaba Cloud リソースの一時的な認証情報を管理できます。STS トークンの有効期間を設定し、アクセス許可を指定できます。STS の詳細については、「STS とは」をご参照ください。 |
SSO メソッド
Alibaba Cloud は、次の SSO メソッドを提供しています。
ユーザーベース SSO
Alibaba Cloud 管理コンソールにログインするために使用できる RAM ユーザー ID は、SAML アサーションに基づいて決定されます。Alibaba Cloud 管理コンソールにログインすると、RAM ユーザーとして Alibaba Cloud リソースにアクセスできます。詳細については、「ユーザーベース SSO の概要」をご参照ください。
ロールベース SSO
Alibaba Cloud は、SAML 2.0 ベース SSO と OIDC ベース SSO をサポートしています。
SAML 2.0 ベース SSO:Alibaba Cloud 管理コンソールにログインするために使用できる RAM ロールは、SAML アサーションに基づいて決定されます。Alibaba Cloud 管理コンソールにログインすると、SAML アサーションで指定された RAM ロールを使用して Alibaba Cloud リソースにアクセスできます。詳細については、「概要」をご参照ください。
OIDC ベース SSO:IdP によって発行された OIDC トークンを使用して、Alibaba Cloud 操作を呼び出し、特定の RAM ロールをアサインし、OIDC トークンを使用して STS トークンを取得できます。次に、STS トークンを使用して Alibaba Cloud リソースにアクセスできます。詳細については、「OIDC ベース SSO の概要」をご参照ください。
ロールベース SSO とユーザーベース SSO の比較
SSO メソッド | SP 起点 SSO | IdP 起点 SSO | RAM ユーザーのログイン名とパスワードを使用したログイン | 単一の IdP との複数の Alibaba Cloud アカウントの関連付け | 複数の IdP |
ユーザーベース SSO | サポート | サポート | 非サポート | 非サポート | 非サポート |
ロールベース SSO | 非サポート | サポート | サポート | サポート | サポート |
2 つの SSO メソッドの違いの詳細については、「SSO のシナリオ」をご参照ください。