このトピックでは、Azure Active Directory (Azure AD) からAlibaba Cloudへのロールベースのシングルサインオン (SSO) の実装方法の例を示します。 この例では、クラウドIDプロバイダー (IdP) からAlibaba cloudへのエンドツーエンドSSOプロセスについて説明します。
背景情報
開始する前に、Alibaba Cloudアカウント (アカウント1) とAzure ADテナントを作成する必要があります。 管理者と組織ユーザー (u2) がAzure ADテナントに追加されます。 管理者にはグローバル管理権限が割り当てられます。 ユーザーu2がロールベースSSOを使用してアカウント1のリソースにアクセスできるようにするために必要な設定を構成します。
グローバル管理者権限が付与された管理者としてAzure portalにログインし、この例では次の手順を実行する必要があります。 Azure ADでユーザーを作成し、ユーザーに権限を付与する方法の詳細については、 「Azure ADのドキュメント」をご参照ください。
ステップ1: Azure ADでアプリケーションを作成する
管理者としてAzure portalにログインします。
ホームページの左上隅で、アイコンが表示されます。
左側のナビゲーションウィンドウで、 を選択します。
表示されるページで、新しいアプリケーションをクリックします。
検索ボックスでAlibaba Cloudサービス (ロールベースSSO)を入力して、検索結果のAlibaba Cloud Service (ロールベースSSO) をクリックします。
表示されるパネルで、アプリケーションの名前を入力し、作成をクリックします。
この例では、デフォルトのアプリケーション名
Alibaba Cloud Service (ロールベースSSO)
を使用します。 アプリケーションのカスタム名を入力することもできます。Alibaba Cloudサービス (ロールベースSSO) ページの左側のナビゲーションウィンドウで、[プロパティ] をクリックします。 次に、オブジェクトIDの値をコピーして保存し、後で使用します。
ステップ2: Azure ADでのSSOの構成
Alibaba Cloudサービス (ロールベースSSO)ページの左側のナビゲーションウィンドウで、シングルサインオンをクリックします。
シングルサインオン方式の選択セクションで、SAMLをクリックします。
[SAMLによるシングルサインオンの設定] セクションで、SSO情報を設定します。
左上隅で、メタデータファイルのアップロードをクリックし、メタデータファイルを選択し、追加をクリックします。
説明メタデータファイルは、次のURLから取得できます。
https://signin.alibabacloud.com/saml-role/sp-metadata.xml
.基本的なSAML設定パネルで、次のパラメータを設定し、保存をクリックします。
Identifier (Entity ID): このパラメーターを、上記のメタデータファイルから読み取られた
entityID
の値に設定します。返信URL (Assertion Consumer Service URL): このパラメーターを、上記のメタデータファイルから読み取られた
Location
の値に設定します。リレー状態: このパラメーターは、ユーザーがロールベースSSOを使用してAlibaba Cloud管理コンソールにログインした後に表示されるページのURLに設定します。
説明セキュリティ上の理由から、Alibaba WebサイトのRelay Stateを指すURLを入力する必要があります。 たとえば、URLのドメイン名は、*.aliyun.com、*.hichina.com、*.yunos.com、*.taobao.com、*.tmall.com、*.alibabacloud.com、または *.alipay.comです。 Alibaba Webサイトを指していないURLを入力した場合、設定は無効です。 このパラメーターを空のままにすると、デフォルトでAlibaba Cloud管理コンソールのホームページにリダイレクトされます。
属性とクレームセクションで、アイコンをクリックします。
[新しいクレームの追加] をクリックし、次のパラメーターを設定し、[保存] をクリックします。
名前:
ロール
を入力します。名前空間:
https://www.aliyun.com/SAML-Role/Attributes
を入力します。ソース: [属性] を選択します。
ソース属性: ドロップダウンリストからuser.assignedrolesを選択します。
前の手順を繰り返して、別のクレームを追加します。
名前:
RoleSessionName
を入力します。名前空間:
https://www.aliyun.com/SAML-Role/Attributes
を入力します。ソース: [属性] を選択します。
ソース属性: ドロップダウンリストからuser.us erprincipalnameを選択します。
SAML証明書セクションで、フェデレーションメタデータXMLの右側にあるダウンロードをクリックしてIdPメタデータファイルをダウンロードします。
ステップ3: Alibaba CloudでのIdPの作成
アカウント1を使用して、RAMコンソールにログインします。
左側のナビゲーションウィンドウで、 を選択します。
ロールベースSSOタブで、SAMLsubtabをクリックしてIdPの追加をクリックします。
IdPの作成ページで、IdP名を
AAD
に設定して構備考を設定します。[メタデータファイル] セクションで、[ファイルのアップロード] をクリックします。
説明手順2: Azure ADでSSOを構成するでダウンロードされるフェデレーションメタデータXMLファイルをアップロードする必要があります。
OKをクリックします。
閉じるをクリックします。
ステップ4: Alibaba CloudでRAMロールを作成する
RAMコンソールの左側のナビゲーションウィンドウで、 を選択します。
ロールページで、ロールの作成をクリックします。
ロールの作成パネルで、[信頼できるエンティティ]に IdPを選択し、次へをクリックします。
RAMロール名を
AADrole
に設定して注を設定します。IdP TypeパラメーターにSAMLを選択します。
[IdPを選択] ドロップダウンリストから
AAD
を選択して、OKをクリックします。説明ビジネス要件に基づいて、RAMロールに権限を付与できます。 詳細については、「RAMロールへの権限の付与」をご参照ください。
IdPとRAMロールを作成したら、後で使用するためにIdPとRAMロールのAlibaba Cloudリソース名 (ARN) を保存します。 RAMロールのARNを取得する方法の詳細については、「RAMロールに関する情報の表示」をご参照ください。
閉じるをクリックします。
手順5: RAMロールをAzure ADユーザーに関連付ける
Azure ADでロールを作成します。
管理者としてAzure portal Azure portalにログインします。
左側のナビゲーションウィンドウで、 を選択します。
すべてのアプリケーションタブをクリックし、Alibaba Cloudサービス (ロールベースSSO)をクリックします。
左側のナビゲーションウィンドウで、アプリの役割をクリックします。
表示されるページで、アプリの役割を作成するをクリックします。
アプリの役割を作成するパネルで、次のパラメータを設定し、適用をクリックします。
表示名: この例では、
Admin
と入力します。許可されたメンバータイプ: この例では、両方 (ユーザー /グループ + アプリケーション) を選択します。
値: RAMロールのARNとIdPのARNを入力します。 ARNはコンマ (,) で区切ります。 この例では、
acs:ram::187125022722****:role/aadrole,acs:ram::187125022722 ****:saml-provider/AAD
と入力します。説明: 説明を入力します。
このアプリの役割を有効にしますか? を選択します。
説明Azure ADで複数のロールを作成する場合は、上記の手順を繰り返します。
ユーザu2にロールを割り当てる。
左側のナビゲーションウィンドウで、 を選択します。
名前列で、Alibaba Cloudサービス (ロールベースSSO)をクリックします。
左側のナビゲーションウィンドウで、ユーザーとグループをクリックします。
表示されるページで、ユーザー /グループの追加をクリックします。
表示されるページで、[ユーザー] をクリックします。 ユーザーパネルで、u2を選択し、[選択] をクリックします。
割り当てをクリックします。
ユーザーu2に割り当てられているロールを表示します。
説明u2を選択すると、作成したロールがユーザーu2に割り当てられます。 複数のロールが作成されている場合は、ビジネス要件に基づいてAzure ADユーザーにロールを割り当てる必要があります。
設定結果の確認
ユーザーアクセスURLを取得します。
管理者としてAzure portal Azure portalにログインします。
左側のナビゲーションウィンドウで、 を選択します。
名前列で、Alibaba Cloudサービス (ロールベースSSO)をクリックします。
表示されるページの左側のナビゲーションウィンドウで、プロパティをクリックしてユーザーアクセスURLの値を取得します。
管理者からユーザーアクセスURLを取得した後、ブラウザにURLを入力し、ログインに必要なユーザー名とパスワードを使用します。
ログインが成功すると、Relay Stateパラメーターで指定されたページにリダイレクトされます。 Relay Stateが無効または指定されていない場合、Alibaba Cloud管理コンソールのホームページにリダイレクトされます。
(オプション) Azure ADと複数のAlibaba Cloudアカウント間のロールベースSSOの設定
たとえば、アカウント1とアカウント2の2つのAlibaba Cloudアカウントがあるとします。 ユーザーu2がAzure ADにログオンした後、ロールベースSSOを使用してユーザーu2がアカウント1とアカウント2の両方のリソースにアクセスするようにする場合は、次の操作を実行します。
Azure ADで
Alibaba Cloud Service (ロールベースSSO)
という名前のアプリケーションを作成します。詳細については、「手順1: Azure ADでアプリケーションを作成する」をご参照ください。
Azure ADでSSOを構成します。
詳細については、「手順2: Azure ADでSSOを構成する」をご参照ください。
Alibaba CloudでIdPを作成します。
アカウント1とアカウント2の両方に
AAD IdP
を作成する必要があります。詳細については、「手順3: Alibaba CloudでのIdPの作成」をご参照ください。
Alibaba CloudでRAMロールを作成します。
アカウント1とアカウント2の両方にRAMロールを作成する必要があります。 この例では、アカウント1に2つのRAMロールを作成し、アカウント2に1つのRAMロールを作成します。
アカウント1の
adminaad
およびreadaad
RAMロールを作成します。アカウント2の
financeaad
RAMロールを作成します。
詳細については、「手順4: Alibaba CloudでRAMロールを作成する」をご参照ください。
RAMロールをユーザーu2に関連付けます。
Azure ADで3つのロールを作成し、そのロールをユーザーu2に割り当てます。 役割の値:
acs:ram ::< Account1_ID>:role/adminaad,acs:ram ::< Account1_ID>:saml-provider/AAD
acs:ram ::< Account1_ID>:role/readaad,acs:ram ::< Account1_ID>:saml-provider/AAD
acs:ram ::< Account2_ID>:role/financeaad,acs:ram ::< Account2_ID>:saml-provider/AAD
詳細については、「手順5: RAMロールをAzure ADユーザーに関連付ける」をご参照ください。
ユーザーu2を使用して、ロールベースSSOを使用してAlibaba Cloudにアクセスします。
Azure portalにユーザーu2としてログインし、[My apps] ページで [Alibaba Cloud Service (ロールベースSSO)] をクリックします。 次に、Alibaba Cloud管理コンソールのプロンプトに従って、リソースにアクセスするAlibaba Cloudアカウントとそのロールを選択する必要があります。