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

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

最終更新日:Jul 17, 2026

このトピックでは、エンタープライズ ID プロバイダー (IdP) である Okta と Alibaba Cloud との間で、ロールベースのシングルサインオン (SSO) を設定する方法を説明します。

操作手順

この設定の目的は、Okta アプリケーションに approle という名前の属性を作成することです。この属性は、ユーザーを Alibaba Cloud の特定の Resource Access Management (RAM) ロールにマッピングします。次の図の手順に従って、Alibaba Cloud と Okta の両方を設定します。

流程图

手順 1:Okta での SAML SSO アプリケーションの作成

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

  2. ページの右上隅にあるアカウントアイコンをクリックし、[Your Org] をクリックします。

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

  4. [Applications] ページで、[Create App Integration] をクリックします。

  5. [Create a new app integration] ダイアログボックスで、[SAML 2.0] を選択し、[Next] をクリックします。

  6. アプリケーション名を role-sso-test に設定し、[Next] をクリックします。

  7. SAML 設定を行い、[Next] をクリックします。

    • シングルサインオン URLhttps://signin.alibabacloud.com/saml-role/sso

    • Audience URI (SP Entity ID)urn:alibaba:cloudcomputing:international

    • Default RelayState:サインイン成功後にユーザーがリダイレクトされる Alibaba Cloud のページを指定します。

      説明

      セキュリティのため、[Default RelayState] の値として入力できるのは、*.aliyun.com、*.hichina.com、*.yunos.com、*.taobao.com、*.tmall.com、*.alibabacloud.com、*.alipay.com など、Alibaba が所有するドメインの URL のみです。無効な URL を入力した場合、設定は有効になりません。このパラメーターを空のままにした場合、ユーザーはデフォルトで Alibaba Cloud 管理コンソールのホームページにリダイレクトされます。

    • Name ID format[EmailAddress] を選択します。

    • Application username[Email] を選択します。

    • Update application username on:デフォルト値のままにします。

  8. [Feedback] ページで、アプリケーションの種類を選択し、[Finish] をクリックします。

手順 2:Okta からの SAML IdP メタデータの取得

  1. role-sso-test アプリケーションの詳細ページで、[Sign On] タブをクリックします。

  2. [SAML 2.0] セクションで、[Metadata URL] をコピーし、IdP メタデータをローカルファイルに保存します。

手順 3:Alibaba Cloud での SAML IdP の作成

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

  2. ナビゲーションウィンドウで、統合管理 > SSO 管理 を選択します。

  3. ロールベースの SSO ログイン方式 タブで、[SAML] タブをクリックし、IdP の作成 をクリックします。

  4. IdP の作成 ページで、IdP 名okta-provider などを入力し、[備考] を入力します。

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

  6. IdP の作成 をクリックします。

手順 4:Alibaba Cloud での RAM ロールの作成

  1. RAM コンソールのナビゲーションウィンドウで、アイデンティティ > ロール を選択します。

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

  3. ロール作成 パネルの右上隅にある エディターを切り替え をクリックします。

  4. エディターで SAML ID プロバイダーを指定します。

    エディターは、ビジュアルエディターとスクリプトエディターをサポートしています。どちらか一方を使用できます。たとえば、ビジュアルエディターでは、Principal フィールドで手順 3:Alibaba Cloud での SAML IdP の作成」で作成した ID プロバイダーを指定し、IdP タイプ[SAML] を選択する必要があります。

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

  6. ロール作成 ダイアログボックスで、ロール名admin などを入力し、OK をクリックします。

手順 5:Okta でのアプリケーションプロファイルの設定

  1. プロファイルを編集して新しい属性を追加します。

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

    2. アプリケーション名 role-sso-test を検索してクリックします。

    3. [Profile Editor] ページで、[Attributes] セクションの [Add Attribute] をクリックします。

    4. [Add Attribute] ダイアログボックスで、属性情報を設定します。

      • データ型[string] を選択します。

      • 表示名:UI に表示する名前を入力します。この例では、approle と入力します。

      • 変数名:マッピングで参照される変数名を入力します。この例では、approle と入力します。後で使用するため、この値をメモしておいてください。

      • 説明:属性の説明を入力します。このパラメーターはオプションです。

      • Enum[Define enumerated list of values] を選択します。

        説明

        [Enum] を使用すると、属性値が事前定義されたリストに制限されます。より柔軟性を持たせるために、このオプションをスキップすることもできます。

      • 属性メンバー:列挙値のリストを入力します。[値] は、作成した RAM ロールの名前 (例: adminreader) と一致する必要があります。

      • 属性の長さ:この例では列挙を使用しているため、この設定は不要です。列挙を使用しない場合は、必要に応じて属性の長さを設定します。

      • 必須属性[はい] を選択します。

      • スコープ[User personal] の選択を解除します。

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

  2. 属性ステートメントを設定します。

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

    2. アプリケーション名 role-sso-test をクリックします。

    3. [General] タブの [SAML Settings] セクションで、[Edit] をクリックします。

    4. [Configure SAML] ページの [Attribute Statements (optional)] セクションで、2 つのステートメントを設定します。最初のステートメントでは、[Name]https://www.aliyun.com/SAML-Role/Attributes/RoleSessionName に、[Value]user.email に設定します。2 番目のステートメントでは、[Name]https://www.aliyun.com/SAML-Role/Attributes/Role に、[Value]acs:ram::<account_id> で始まる RAM ロール ARN の式に設定します。

      • 最初のステートメントを設定します:

        • [Name]https://www.aliyun.com/SAML-Role/Attributes/RoleSessionName と入力します。

        • [Value][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 属性の値に置き換えて、最終的な SAML 属性値を生成します。この式では、approleプロファイルで定義した属性であり、okta-provider手順 3:Alibaba Cloud での SAML IdP の作成」で作成した ID プロバイダーです。<account_id>お使いの Alibaba Cloud アカウント ID に置き換えてください。例:String.replace("acs:ram::177242285274****:role/$approle,acs:ram::177242285274****:saml-provider/okta-provider", "$approle", appuser.approle)

手順 6:ユーザーの作成とアプリケーションの割り当て

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

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

    2. [Add person] をクリックします。

    3. [Add Person] ページで、基本情報を入力し、[Primary email]username@example.com などのユーザーのメールアドレスに設定し、[Save] をクリックします。

    4. ユーザーリストでユーザー username@example.com を探し、[Status] 列の [Activate] をクリックします。画面の指示に従ってユーザーをアクティブ化します。

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

    アプリケーションは、次の 2 つの方法のいずれかで割り当てることができます:

    • アプリケーションを単一のユーザーに割り当てます。

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

      2. アプリケーション名 role-sso-test をクリックし、[Assignments] タブで、[Assign] > [Assign to People] を選択します。

      3. 対象ユーザー username@example.com の横にある [Assign] をクリックします。

      4. [approle] に、admin を選択します。

      5. [Save and Go Back] をクリックします。

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

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

      1. ナビゲーションウィンドウで [Directory] > [Groups] を選択し、[Add Group] をクリックしてグループを作成します。

      2. グループ名をクリックし、[Manage People] をクリックして、ユーザーをグループに追加します。

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

      4. アプリケーション名 role-sso-test をクリックします。[Assignments] タブで、[Assign] > [Assign to Groups] をクリックします。

      5. 対象グループの横にある [Assign] をクリックします。

      6. [approle] に、admin を選択します。

      7. [Save and Go Back] をクリックします。

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

      説明

      ユーザーが複数のグループに属している場合、1 つの属性値のみが使用されます。Okta は、アプリケーションの [Assignments] タブでユーザーに割り当てられた最初のグループの値を使用します。グループメンバーシップの変更は、approle の値に影響を与える可能性があります。詳細については、「Okta ドキュメント」をご参照ください。

設定の確認

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

  2. アプリケーション名 role-sso-test をクリックします。

  3. [General] タブの [App Embed Link] 領域で、[Embed Link] の URL をコピーします。

  4. 新しいブラウザーウィンドウを開き、URL を貼り付け、username@example.com としてサインインします。

    サインインに成功すると、Default RelayState で指定されたページ、または Alibaba Cloud 管理コンソールのホームページにリダイレクトされます。コンソールにリダイレクトされると、ウェルカムメッセージが表示されます。右上隅にあるアバターをクリックします。ドロップダウンパネルには、現在のサインインアイデンティティとして、オレンジ色の ロール ラベルが付いた admin/ が表示されます。これは、RAM ロールを引き受けることでコンソールへのサインインに成功したことを示します。

(オプション) ユーザーへの複数ロールの設定

ユーザーを複数の Alibaba Cloud ロールにマッピングする必要がある場合は、グループ属性ステートメントを使用し、グループ名に基づいて設定する必要があります。

  1. 複数のグループを作成します。各グループ名は、SAML アサーションの Role 属性で要求される形式に従う必要があります。たとえば、acs:ram::177242285274****:role/admin,acs:ram::177242285274****:saml-provider/okta-provider という名前のグループを作成できます。同様に、acs:ram::177242285274****:role/reader,acs:ram::177242285274****:saml-provider/okta-provider という名前で reader ロールのグループを作成します。

  2. ユーザー username@example.com をこれらのグループに追加します。

  3. アプリケーションの [SAML Settings] で、Role の属性ステートメントを削除し、グループ属性ステートメントを追加します。新しいステートメントで、[Name]https://www.aliyun.com/SAML-Role/Attributes/Role に設定します。[Filter] は、前述のグループ名を取得するように設定する必要があります (例:「Start with acs:ram」)。

  4. これらの手順を完了すると、ユーザーが次に Alibaba Cloud にサインインするときに、ロールの選択を求められます。サインインページには、reader ロールと admin ロールが表示されます。ユーザーはロールを選択し、[Sign In] をクリックしてサインインを完了します。

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