すべてのプロダクト
Search
ドキュメントセンター

Resource Access Management:Okta を使用したロールベース SSO の例

最終更新日:Nov 09, 2025

このトピックでは、Okta から Alibaba Cloud へのロールベース シングルサインオン (SSO) を実装する方法の例を紹介します。この例では、クラウド ID プロバイダー (IdP) から Alibaba Cloud へのエンドツーエンドの SSO プロセスについて説明します。

手順

この例では、approle という名前の属性が Okta アプリケーションのプロファイルに追加されます。 approle 属性は、Resource Access Management (RAM) ロールを指定するために使用されます。次の図は、Alibaba Cloud と Okta でロールベース SSO を実装する手順を示しています。

流程图

ステップ 1: Okta で SAML 2.0 ベースの SSO をサポートするアプリケーションを作成する

  1. Okta ポータル にログインします。

  2. Okta ポータルの右上隅にあるアカウント名をクリックし、ドロップダウンリストから [組織] を選択します。

  3. 左側のナビゲーションウィンドウで、[Applications] > [Applications] を選択します。

  4. [アプリケーション] ページで、[アプリ統合の作成] をクリックします。

  5. [新しいアプリ統合の作成] ダイアログボックスで、[SAML 2.0] を選択し、[次へ] をクリックします。

  6. 全般設定ステップで、アプリ名フィールドに role-sso-test と入力し、[次へ] をクリックします。

  7. SAML の構成ステップで、パラメーターを構成し、[次へ] をクリックします。

    • [シングルサインオン URL]: https://signin.alibabacloud.com/saml-role/sso

    • [Audience URI (SP Entity ID)]: または urn:alibaba:cloudcomputing:international

    • [デフォルト Relaystate] フィールドに URL を入力します。ログイン後、ユーザーはこの URL にリダイレクトされます。

      説明

      セキュリティ上の理由から、[デフォルト Relaystate] フィールドには、Alibaba の Web サイトを指す URL を入力する必要があります。たとえば、*.aliyun.com、*.hichina.com、*.yunos.com、*.taobao.com、*.tmall.com、*.alibabacloud.com、*.alipay.com などのドメイン名を含む URL を入力できます。Alibaba の Web サイトを指していない URL を入力すると、構成は無効になります。このパラメーターを空のままにすると、デフォルトで Alibaba Cloud 管理コンソールのホームページにリダイレクトされます。

    • [名前 ID 形式] ドロップダウンリストから [emailaddress] を選択します。

    • [アプリケーションユーザー名] ドロップダウンリストから [email] を選択します。

    • [アプリケーションユーザー名の更新日時] パラメーターのデフォルト値を保持します。

  8. [フィードバック] ページで、アプリケーションのタイプを選択し、[完了] をクリックします。

ステップ 2: Okta の SAML IdP メタデータファイルをダウンロードする

  1. [アプリケーション] ページで、role-sso-test をクリックします。表示されるページで、[サインオン] タブをクリックします。

  2. [SAML 2.0] セクションで、[メタデータ URL] をコピーし、メタデータファイルをオンプレミスマシンにダウンロードします。

ステップ 3: Alibaba Cloud で SAML IdP を作成する

  1. RAM 管理者として RAM コンソールにログインします。

  2. 左側のナビゲーションウィンドウで、[Integrations] > [SSO] を選択します。

  3. [ロールベース SSO] タブで、[SAML] タブをクリックし、[idp の追加] をクリックします。

  4. [idp の作成] ページで、[idp 名] パラメーターを okta-provider に設定し、[備考] パラメーターを構成します。

  5. [メタデータファイル] セクションで、[メタデータのアップロード] をクリックし、「ステップ 2: Okta から SAML IdP メタデータを取得する」で取得した IdP メタデータファイルをアップロードします。

  6. [IdP の作成] ボタンをクリックします。

ステップ 4: Alibaba Cloud で RAM ロールを作成する

  1. RAM コンソールの左側のナビゲーションウィンドウで、[ID] > [ロール] を選択します。

  2. [ロール] ページで、[ロールの作成] をクリックします。

  3. [ロールの作成] ページの右上隅にある [ポリシーエディターに切り替える] をクリックします。

  4. エディターで Security Assertion Markup Language (SAML) IdP を指定します。

    エディターはビジュアルモードと JSON モードをサポートしています。この例では、ビジュアルエディターを使用します。ステップ 3: Alibaba Cloud で SAML IdP を作成するで作成した IdP[プリンシパル] に指定し、[SAML][ID プロバイダータイプ] に選択します。

  5. エディターで、条件 saml:recipienthttps://signin.alibabacloud.com/saml-role/sso に設定します。

  6. [ロールの作成] ダイアログボックスで、[ロール名] パラメーターを admin に設定し、[OK] をクリックします。

ステップ 5: Okta でアプリケーションのプロファイルを構成する

  1. アプリケーションのプロファイルに属性を追加します。

    1. 左側のナビゲーションウィンドウで、[Directory] > [Profile Editor] を選択します。

    2. role-sso-test を検索し、その名前をクリックします。

    3. [プロファイルエディター] ページの [属性] セクションで、[属性の追加] をクリックします。

    4. [属性の追加] ダイアログボックスで、属性のパラメーターを構成します。

      • [データ型] ドロップダウンリストから [文字列] を選択します。

      • [表示名] には、ユーザーインターフェースに表示される名前を入力します。この例では、approle と入力します。

      • [変数名] には、マッピングで参照する変数の名前を入力します (例: approle)。このパラメーターの値は、属性を設定するときに必要になるため、メモしておいてください。

      • [説明] フィールドに、属性の説明を入力します。このパラメーターはオプションです。

      • [列挙型] の横にある [列挙値のリストを定義する] を選択します。

        説明

        [Enum] を使用して、プロパティ値を事前定義されたセットに制限できます。柔軟性を高めるために [Enum] を省略することもできます。

      • [属性メンバー] セクションで、属性の列挙値を指定します。各 [列挙値] は、Alibaba Cloud で作成した RAM ロールの名前と同じである必要があります。この例では、値は admin と reader です。

      • この例では、属性に列挙値が構成されているため、[属性の長さ] を設定する必要はありません。属性に列挙値が指定されていない場合は、[属性の長さ] パラメーターを構成します。

      • [属性必須] の横にある [はい] を選択します。

      • [スコープ]: [個人] の選択を解除します。

    5. [保存] をクリックします。

  2. 属性を構成します。

    1. 左側のナビゲーションウィンドウで、[Applications] > [Applications] を選択します。

    2. [アプリケーション] ページで、role-sso-test という名前のアプリケーションをクリックします。

    3. SAML 設定[全般] タブの [編集] セクションで、 をクリックします。

    4. [属性ステートメント (オプション)] セクションの [SAML の構成] ページで、次の図に示すように 2 つのステートメントを構成します。edit Attribute

      • 最初のデータ項目の設定:

        • [Name]https://www.aliyun.com/SAML-Role/Attributes/RoleSessionName に設定します。

        • ドロップダウンリストから [user.email] を選択します。

      • 2 番目のデータ入力の設定:

        • [Name]https://www.aliyun.com/SAML-Role/Attributes/Role に設定します。

        • [Value]String.replace("acs:ram::<account_id>:role/$approle,acs:ram::<account_id>:saml-provider/okta-provider", "$approle", appuser.approle) に設定します。この式は、$approle プレースホルダーを、ログインしているユーザーのアプリケーションプロファイルからの approle 属性の値に置き換えます。approle 属性は、プロファイルで定義した属性です。okta-provider は、「ステップ 3: Alibaba Cloud で SAML IdP を作成する」で作成した IdP です。<account_id> を Alibaba Cloud アカウント ID に置き換えます。例: String.replace("acs:ram::177242285274****:role/$approle,acs:ram::177242285274****:saml-provider/okta-provider", "$approle", appuser.approle)

ステップ 6: Okta でユーザーを作成し、アプリケーションをユーザーに割り当てる

  1. ユーザーを作成します。

    1. 左側のナビゲーションウィンドウで、[Directory] > [People] を選択します。

    2. 表示されるページで、[ユーザーの追加] をクリックします。

    3. [ユーザーの追加] ダイアログボックスで、[プライマリメール] フィールドにユーザーのメールアドレスを入力し、その他のパラメーターを構成して、[保存] をクリックします。この例では、メールアドレスは username@example.com です。

    4. ユーザーリストで username@example.com を見つけ、アクティブ化[ステータス] 列の をクリックします。表示されるダイアログボックスで、プロンプトに従って username@example.com をアクティブ化します。

  2. アプリケーションをユーザーに割り当てます。

    次のいずれかの方法を使用して、アプリケーションを割り当てることができます。

    • アプリケーションをユーザーに割り当てる

      1. 左側のナビゲーションウィンドウで、[Applications] > [Applications] を選択します。

      2. アプリケーション名 role-sso-test をクリックします。[割り当て] タブで、[割り当て] > [ユーザーに割り当て] を選択します。

      3. 表示されるダイアログボックスで、username@example.com ユーザーの横にある [割り当て] をクリックします。

      4. [approle] ドロップダウンリストから admin を選択します。

      5. 表示されるダイアログボックスで、[保存して戻る] をクリックします。

      6. [完了] をクリックします。

    • ユーザーをグループに追加し、アプリケーションをグループに割り当てる

      1. 左側のナビゲーションウィンドウで、[Directory] > [Groups] を選択します。表示されたページで、[Add Group] をクリックしてグループを作成します。

      2. グループの名前をクリックします。表示されるページで、[ユーザーの管理] をクリックして、ユーザーをグループに追加します。

      3. 左側のナビゲーションウィンドウで、[Applications] > [Applications] を選択します。

      4. アプリケーション名 role-sso-test をクリックします。 [割り当て] タブで、[割り当て] > [グループに割り当て] を選択します。

      5. グループの横にある [割り当て] をクリックします。

      6. [approle] ドロップダウンリストから admin を選択します。

      7. 表示されるダイアログボックスで、[保存して戻る] をクリックします。

      8. [完了] をクリックします。

      説明

      ユーザーが複数のグループに属している場合、approle 属性の値は 1 つだけ使用できます。使用される属性値は、ユーザーが最初に追加されたグループに指定された値です。ユーザーがグループに追加または削除されると、approle 属性の値が変更されます。詳細については、「Okta ドキュメント」をご参照ください。

検証結果

  1. 左側のナビゲーションウィンドウで、[Applications] > [Applications] を選択します。

  2. [アプリケーション] ページで、role-sso-test という名前のアプリケーションをクリックします。

  3. [アプリ埋め込みリンク] セクションの [全般] タブで、[ログイン URL] をコピーします。

  4. 新しいブラウザウィンドウを開き、アドレスバーにログイン URL を貼り付けて、Enter キーを押します。ログインページで、ログインに username@example.com を使用します。

    Default RelayState で指定されたページ (または Alibaba Cloud 管理コンソールのホームページ) にリダイレクトされた場合、ログオンは成功です。successful result

(オプション) Okta でユーザーに複数のロールを割り当てる

ユーザーを複数の Alibaba Cloud ロールにマッピングするには、グループ名で設定されたグループ属性ステートメントを使用する必要があります。設定方法は次のとおりです。

  1. 複数のグループを作成します。各グループ名は、SAML アサーションの role 属性の値と同じ形式に従う必要があります。たとえば、グループの名前を acs:ram::177242285274****:role/admin,acs:ram::177242285274****:saml-provider/okta-provider に設定できます。add group

  2. username@example.com をグループに追加します。

  3. アプリケーションの [SAML Settings] で、Role の属性ステートメントを削除し、Group Attribute Statement を追加します。[Name]https://www.aliyun.com/SAML-Role/Attributes/Role に設定し、[Filter] をグループ名をフィルターする値 (例: `Start with acs:ram`) に設定します。group Attribute

  4. 構成が完了したら、username@example.com ユーザーとして Alibaba Cloud 管理コンソールにログインします。引き受けるロールを選択するように求められます。Role sign in

Okta の使用方法の詳細については、「Okta ドキュメント」をご参照ください。