IBM Cloud のログイン・シーケンス
IBM Cloud App ID へのログイン方法についての詳細を理解するために、以下のログイン・シーケンス・フローを確認してください。ここでは、フェデレーテッド・ユーザー、非フェデレーテッド・ユーザー、および IBM Cloud® ID およびアクセス管理 (IAM) に接続された SAML プロバイダーを使用して IBM Cloud を介して追加されたユーザーに分けて説明します。
IBMid での非フェデレーテッド・ユーザーのログイン・シーケンス
IBM Cloud のフェデレーテッドでないユーザーの標準的なログイン・シーケンスは、以下の順序で実行されます。
- ユーザーがブラウザーで URL https://cloud.ibm.com にアクセスすることによって、このシーケンスを開始します。 IBM Cloud コンソールはブラウザーにログイン・ページを送り返します。
- ログイン・ページでユーザーは、ユーザー名を入力して「続行」をクリックし、パスワードを入力してから「ログイン」をクリックしてこの情報をコンソールに送信します。
- ユーザー名とパスワードの組み合わせがコンソールから IBM Cloud の IAM コンポーネントに転送されます。
- IAM は、IBMid システムを使用してユーザー名とパスワードの組み合わせが正しいかどうかを検証します。
- 検証が正常に完了すると、IAM は、コンソールに成功応答を返し、1 つの URL を提供します。これは、ユーザーがログイン・シーケンスを完了できるようにするためにコンソールからユーザーのブラウザーに送信する必要のある URL です。
- ブラウザーは、リダイレクト命令を取り込んで IAM にナビゲートされ、IBM Cloud がログイン・シーケンスを完了できるようになります。 このブラウザー・リダイレクトは、ユーザーによるログイン資格情報の再入力を防ぐために必要なシングル・サインオン Cookie をユーザーのブラウザーに設定するために必要です。
- 次に IAM は、OAuth2 準拠のリダイレクトを許可コードと共にブラウザーに送信することによって、コンソールとの認証フローを完了します。
- ブラウザーはコンソールに許可コードを提供します。このコードは、IAM から必要なトークンを取得するために使用されます。
- コンソールがトークンを受け取ると、ログイン・シーケンスは終了します。 これでコンソールは、IBM Cloud API を起動してユーザーを識別することが可能になりました。
- コンソールには、ユーザー固有のコンテンツを取り込んだダッシュボードが表示されます。
IBMid でのフェデレーテッド・ユーザーのログイン・シーケンス
IBMid を使用するエンタープライズのお客様は、お客様のユーザー認証/許可システムを IBMid と統合することができます。 これにより、ユーザーは別のユーザーIDを管理する必要がなくなります。 むしろ、いつも使用しているお客様管理のユーザー ID を使用して、IBM Cloud にログインすることができます。 IBM Cloud のフェデレーテッド・ユーザーのログイン・シーケンスは、以下の順序で実行されます。
- ユーザーがブラウザーで URL https://cloud.ibm.com にアクセスすることによって、このシーケンスを開始します。 IBM Cloud コンソールはブラウザーにログイン・ページを送り返します。
- ログイン・ページでユーザーはユーザー名を入力します。
- クリックして次に進むと、IBM Cloud コンソールは、ユーザーのブラウザーを IBM Cloud の IAM コンポーネントにリダイレクトします。 リダイレクトの一環として、既に入力されたユーザー名が送信されます。
- IAM は、そのユーザー名を手掛かりにして、ログイン・シーケンスを実行するために使用する ID プロバイダー (IdP) を判別することができます。 それで IAM は、リダイレクト要求をユーザーのブラウザーに送り返します。
- ブラウザーはリダイレクトを完了し、エンタープライズのお客様のログイン・ページを表示します。 この対話では、SAML 要求がエンタープライズのお客様のユーザー認証/許可システムに送信されます。
- エンタープライズのお客様のシステムは、ユーザーの資格情報を検証した後、リダイレクト命令をユーザーのブラウザーに送信します。 このリダイレクトの一環として渡される SAML 応答には、ユーザーを記述するアサーションと、そのユーザーの追加属性が格納されます。
- ブラウザーはリダイレクトを完了し、アサーションを含んだ SAML 応答を IBMid に送信します。
- IBMid は SAML 応答を検証し、ユーザーを IBMid にマップします。
- IBMid は、リダイレクトを許可コードと共にユーザーのブラウザーに送信し、OpenID Connect 標準に従って認証フローを続行します。
- ブラウザーは IAM にアクセスして許可コードを提供します。これにより、IAM は OpenID Connect 標準を使用して IBMid から必要なトークンを取得できるようになります。
- IBMid が必要なトークンを提供すると、IAM は、OAuth2 準拠のリダイレクトを許可コードと共にブラウザーに送信することによって、コンソールとの認証フローを完了します。
- ブラウザーはコンソールに許可コードを提供します。このコードは、IAM から必要なトークンを取得するために使用されます。
- コンソールがトークンを受け取ると、ログイン・シーケンスは終了します。 これでコンソールは、IBM Cloud API を起動してユーザーを識別することが可能になりました。
- コンソールには、ユーザー固有のコンテンツを取り込んだダッシュボードが表示されます。
SAML パートナーと接続されている App ID のログイン・シーケンス
App ID インスタンスを使用することにより、外部 IdP と統合して自分のアカウントに対する外部ユーザーの認証をセキュアに行う場合、ログイン・シーケンスは以下の順序で実行されます。 このタイプの認証について詳しくは、外部 ID プロバイダーからの認証の有効化を参照してください。
-
ユーザーがブラウザーでアカウント固有の URL にアクセスすることによって、このシーケンスを開始します。 これは、
https://cloud.ibm.com/authorize/<account id>
またはhttps://cloud.ibm.com/authorize/<account alias>
のいずれかです。 IBM Cloud コンソールにある IAM の「ID プロバイダー」構成ページでアカウント別名を構成することができます。正しいフェデレーテッド SAML パートナーを指定するために、特定の URL を使用する必要があります。
-
IBM Cloud コンソール (つまり、コンソール) は、ユーザーのブラウザーを IBM Cloud の IAM コンポーネントにリダイレクトします。 リダイレクトの一環として、アカウント ID または別名が IAM に送信されます。
-
IAM は、そのアカウント ID または別名を手掛かりにして、ログイン・シーケンスを実行するために必要な App ID インスタンスを判別します。 それで IAM は、リダイレクト要求をユーザーのブラウザーに送り返します。
-
ブラウザーはリダイレクトを完了しますが、その最後に App ID で提供されたページが表示されます。 このページは即座に、SAML 要求を含んだリダイレクトをブラウザーに返します。
-
その SAML 要求がエンタープライズのお客様のユーザー認証/許可システムに送信されます。
-
エンタープライズのお客様のシステムは、ユーザーの資格情報を検証した後、リダイレクト命令をユーザーのブラウザーに送信します。 このリダイレクトの一環として渡される SAML 応答には、ユーザーを記述するアサーションと、そのユーザーの追加属性が格納されます。
-
ブラウザーはリダイレクトを完了し、アサーションを含んだ SAML 応答を App ID インスタンスに送信します。
-
App ID は、SAML 応答を検証した後、許可コードを含んだリダイレクトをブラウザーに送信し、OpenID Connect 標準に従って認証フローを続行します。
-
ブラウザーは IAM にアクセスして許可コードを提供します。これにより、IAM は OpenID Connect 標準を使用して App ID から必要なトークンを取得できるようになります。
-
App ID が必要なトークンを提供すると、IAM は、OAuth2 準拠のリダイレクトを許可コードと共にブラウザーに送信することによって、コンソールとの認証フローを完了します。
-
ブラウザーはコンソールに許可コードを提供します。このコードは、IAM から必要なトークンを取得するために使用されます。
-
コンソールがトークンを受け取ると、ログイン・シーケンスは終了します。 これでコンソールは、IBM Cloud API を起動してユーザーを識別することが可能になりました。
-
コンソールには、ユーザー固有のコンテンツを取り込んだダッシュボードが表示されます。