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

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

最終更新日:Jun 23, 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 エンティティ 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 管理コンソールのホームページにリダイレクトされます。

    • 名前 ID のフォーマット[EmailAddress] を選択します。

    • アプリケーションのユーザー名[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. ナビゲーションウィンドウで、Integrations > SSO を選択します。

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

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

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

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

ステップ 4:Alibaba Cloud での RAM ロールの作成

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

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

  3. ロール作成 パネルの右上隅で、Switch to Policy Editor をクリックします。

  4. エディターで SAML IdP を指定します。

    エディターはビジュアルエディタとスクリプトエディタをサポートしており、どちらか一方を使用できます。 たとえば、ビジュアルエディタでは、Principal フィールドに手順 3: Alibaba Cloud で SAML ID プロバイダーを作成する」で作成した 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 と入力します。後で使用するためにこの値をメモしておきます。

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

      • 列挙: [値の列挙リストを定義] を選択します。

        説明

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

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

      • 属性の長さ:この例では列挙が使用されているため、この設定は必須ではありません。列挙を使用しない場合は、必要に応じて属性の長さを設定してください。

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

      • スコープ[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[Name format][Unspecified][Value]user.email に設定します。2 番目のステートメントでは、[Name]https://www.aliyun.com/SAML-Role/Attributes/Role[Name format][Unspecified][Value]acs:ram::<account_id> で始まる RAM ロール ARN の式に設定します。

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

        • Namehttps://www.aliyun.com/SAML-Role/Attributes/RoleSessionName を入力します。

        • Value[user.email] を選択します。

      • 2 番目のステートメントを設定します:

        • Namehttps://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 の作成 で作成した IdP です。<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. [保存して戻る] をクリックします。

      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. [保存して戻る] をクリックします。

      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 管理コンソールのホームページにリダイレクトされます。コンソールにリダイレクトされると、ウェルカムメッセージが表示されます。右上隅にあるアバターをクリックします。ドロップダウンパネルには、現在のサインイン ID がオレンジ色の [role] ラベル付きで admin/ と表示されます。これは、RAM ロールを引き受けることでコンソールに正常にサインインしたことを示します。

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

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

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

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

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

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

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