OpenID Connect(OIDC)は、Open Authorization(OAuth)2.0 に基づいて開発された認証プロトコルです。Alibaba Cloud Resource Access Management(RAM)は、OIDC ベースのシングルサインオン(SSO)をサポートしています。
用語
用語 | 説明 |
OIDC | OAuth 2.0 に基づいて開発された認証プロトコルです。詳細については、「OIDC」および「OAuth 2.0」をご参照ください。OAuth は認可プロトコルです。OIDC は、OAuth を拡張するために ID レイヤーを追加します。このようにして、OIDC は OAuth を認可に使用できます。また、OIDC を使用すると、クライアントはユーザーの ID を検証し、HTTP RESTful API を使用してユーザーの基本情報を取得できます。 |
OIDC トークン | OIDC がアプリケーションに発行する ID トークンです。OIDC トークンは、ログインユーザーを示す ID トークンです。OIDC トークンを使用して、ログインユーザーの基本情報を取得できます。 |
STS トークン | Alibaba Cloud Security Token Service(STS)によって提供される一時的な ID 資格情報です。STS を使用すると、Alibaba Cloud リソースの一時的な資格情報を管理できます。STS トークンの有効期間を設定し、アクセス許可を指定できます。STS の詳細については、「STS とは」をご参照ください。 |
発行者の URL | 外部 ID プロバイダー(IdP)によって提供される発行者の URL です。URL は、OIDC トークンの |
フィンガープリント | 外部 IdP の HTTPS 証明書に基づいて生成されるフィンガープリントです。フィンガープリントを使用して、発行者の URL がハイジャックされたり改ざんされたりするのを防ぐことができます。Alibaba Cloud はフィンガープリントを計算します。コンピューターでフィンガープリントを計算することをお勧めします。たとえば、OpenSSL を使用して OIDC IdP のフィンガープリントを取得できます。詳細については、「OpenSSL を使用して OIDC IdP のフィンガープリントを取得する」をご参照ください。次に、計算結果を Alibaba Cloud が提供する計算結果と比較できます。計算結果が異なる場合は、発行者の URL が攻撃されている可能性があります。有効なフィンガープリントを入力してください。 説明 IdP の証明書をローテーションする場合は、ローテーションの前に新しい証明書のフィンガープリントを生成し、RAM コンソールで作成した OIDC IdP にフィンガープリントを追加することをお勧めします。少なくとも 1 日後、証明書をローテーションします。Security Token Service(STS)トークンを取得した後、以前のフィンガープリントを削除できます。 |
クライアント ID | 外部 IdP にアプリケーションを登録するときに、アプリケーションに対して生成される ID です。外部 IdP から OIDC トークンを申請する場合は、クライアント ID を使用する必要があります。クライアント ID は、発行された OIDC トークンの |
シナリオ
企業のアプリケーションが固定の AccessKey ペアを使用して Alibaba Cloud リソースに頻繁にアクセスし、企業にセキュリティ保護対策が不足している場合、AccessKey ペアの漏洩により潜在的なリスクが発生する可能性があります。この問題を解決するために、企業は、Google G Suite、Okta などのセルフマネージド OIDC IdP またはサードパーティ OIDC IdP にアプリケーションを登録します。このようにして、OIDC IdP はアプリケーションの OIDC トークンを生成できます。その後、アプリケーションは OIDC トークンを使用して STS トークンを取得し、安全な方法で Alibaba Cloud リソースにアクセスできます。
さらに、個人開発者または中小企業の従業員は、ソーシャルネットワーキング Web サイトなどの Web サイトに登録されている ID を使用して Alibaba Cloud 管理コンソールにログインできます。Web サイトが OIDC トークンをサポートしている場合、個人開発者または従業員は RAM を使用して OIDC ベースの SSO を実装できます。
プロセス
外部 IdP にアプリケーションを登録し、アプリケーションのクライアント ID を取得します。
RAM コンソールで、OIDC IdP を作成し、Alibaba Cloud と外部 IdP 間の信頼関係を設定します。
詳細については、「OIDC IdP を作成する」をご参照ください。
RAM コンソールで、信頼できるエンティティが OIDC IdP である RAM ロールを作成し、RAM ロールに権限を付与します。
詳細については、「OIDC IdP の RAM ロールを作成する」および「RAM ロールに権限を付与する」をご参照ください。
外部 IdP から OIDC トークンを申請します。
詳細については、外部 IdP のドキュメントをご参照ください。
OIDC トークンを使用して STS トークンを取得します。
詳細については、「AssumeRoleWithOIDC」をご参照ください。
STS トークンを使用して Alibaba Cloud リソースにアクセスします。
設定例
制限
項目 | 上限 |
1 つの Alibaba Cloud アカウント内で作成できる OIDC IdP の数 | 100 |
1 つの OIDC IdP に追加できるクライアント ID の数 | 20 |
1 つの OIDC IdP に追加できるフィンガープリントの数 | 5 |