本トピックでは、ロールベースのシングルサインオン (SSO) を使用した PAI プラットフォームへのログイン方法について説明します。ロールベース SSO は、PAI の機能を効率的に利用するためのシンプルかつ安全なアクセス方法です。ログインプロセスの簡素化、アカウントセキュリティの向上、柔軟な管理が可能です。
背景情報
企業における厳格なセキュリティ要件に対応するため、Alibaba Cloud ではクラウドリソースへのアクセスにロールベースのログインを提供しています。従来、エンタープライズユーザーはアカウントとパスワードを使用して Alibaba Cloud 管理コンソールにログインし、クラウドサービスの管理および利用を行ってきました。一方、ロールベースのログインは、より高いセキュリティ基準に準拠した、より安全なアクセス方法です。詳細については、「SAML ベースのロール SSO の概要」をご参照ください。
PAI でサポートされるログイン方法
PAI では、以下のログイン方法がサポートされています:Alibaba Cloud アカウントによるログイン、およびロールベースのログインです。
-
Alibaba Cloud アカウントによるログイン:
Alibaba Cloud アカウントまたは Resource Access Management (RAM) ユーザー アカウントを使用して、PAI に直接ログインできます。アカウントとパスワードを入力すると、Alibaba Cloud 管理コンソールにアクセスでき、ログインしたアカウントで PAI を利用できます。Alibaba Cloud アカウントは自動的に PAI ワークスペースのメンバーとなり、必要なプロダクト権限が付与されます。
-
CloudSSO は、Alibaba Cloud リソースディレクトリ (RD) 内の複数アカウントに対する統合 ID 管理とアクセス制御を提供します。CloudSSO を使用することで、Alibaba Cloud にアクセスするエンタープライズユーザーを一元管理したり、企業の ID プロバイダーと Alibaba Cloud 間のシングルサインオン (SSO) を設定したり、RD 内のすべてのアカウントに対するアクセス権限を一元管理したりできます。
-
ロールベース SSO を使用して Alibaba Cloud 管理コンソールにログインし、PAI を利用することもできます。この方法では、RAM ロールが PAI ワークスペースのメンバーとなります。この RAM ロールを引き受けるユーザーは、Alibaba Cloud アカウントを持つメンバーと同等のプロダクト権限を取得します。RAM ロールの詳細については、「RAM ロールの概要」をご参照ください。
ロールベースログインガイド
-
RAM ロールを作成し、信頼ポリシーを設定します。
RAM ユーザーとしてロールを引き受けて権限を追加
RAM ユーザーが Alibaba Cloud 管理コンソール上でアイデンティティを切り替えることで RAM ロールを引き受けられるようにするには、信頼されるエンティティの種類として Alibaba Cloud アカウント を選択します。手順は以下のとおりです。
-
信頼されるエンティティの種類を Alibaba Cloud アカウント に設定して RAM ロールを作成できます。詳細については、「信頼される Alibaba Cloud アカウント向け RAM ロールの作成」をご参照ください。
信頼されるプリンシパル名 パラメーターを 現在の Alibaba Cloud アカウント に設定します。
-
対象のロールの詳細ページに移動し、信頼ポリシーを変更します。

以下のスクリプトで信頼ポリシーを変更します:
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::RootAccountID:root" ] } }, { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "dataworks.aliyuncs.com" ] } } ], "Version": "1" }スクリプト内の RootAccountID を、権限を付与するアカウントの ID に置き換えます。acs:ram::RootAccountID:root の部分を修正してください。アカウント ID は、基本情報 ページから確認できます。
-
1 人以上の RAM ユーザーを作成します。詳細については、「RAM ユーザーの作成」をご参照ください。
-
対象の RAM ユーザーの 操作 列で、権限を追加 をクリックし、RAM ユーザーに AliyunSTSAssumeRoleAccess 権限を付与します。この権限により、ユーザーはセキュリティトークンサービス (STS) の AssumeRole 操作を呼び出せるようになります。

ID プロバイダー (IdP) 経由でロールを引き受けて権限を追加
ID プロバイダー (IdP) のユーザーとして Alibaba Cloud にログインし、RAM ロールを引き受けるには、信頼されるエンティティの種類として ID プロバイダー を選択します。手順は以下のとおりです:
-
信頼されるエンティティの種類を ID プロバイダー に設定して RAM ロールを作成できます。詳細については、「信頼される IdP 向け RAM ロールの作成」をご参照ください。
-
対象のロールの詳細ページに移動し、信頼ポリシーを変更します。

以下のスクリプトで信頼ポリシーを変更します:
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Federated": [ "acs:ram::RootAccountID:saml-provider/IDP" ] }, "Condition": { "StringEquals": { "saml:recipient": "https://signin.aliyun.com/saml-role/sso" } } }, { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "dataworks.aliyuncs.com" ] } } ], "Version": "1" }スクリプト内の RootAccountID を、権限を付与するアカウントの ID に置き換えます。acs:ram::RootAccountID:saml-provider/IDP の部分を修正してください。アカウント ID は、基本情報 ページから確認できます。
-
-
アクセスポリシーを設定します。
ログイン後にロールが利用するプロダクトに応じて、ロールに対してアクセスポリシーを追加する必要があります。アクセスポリシーが設定されていない場合、AI アセット管理におけるデータセットなど、一部のワークスペース機能が利用できない可能性があります。必要なアクセスポリシーを追加するには、以下の手順を実行します:
-
アクセスポリシーを作成します。たとえば、ポリシー名を `PAIDefaultPolicy` に設定します。詳細については、「Alibaba Cloud サービスの依存関係と権限付与:Designer」をご参照ください。スクリプトエディター タブで、以下のポリシー内容を使用します:
{ "Version": "1", "Statement": [ { "Action": [ "cs:GetClusterById", "cs:GetClusters", "cs:GetUserConfig", "cs:DescribeClusterNodes", "cs:DescribeClusterInnerServiceKubeconfig", "cs:RevokeClusterInnerServiceKubeconfig" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "vpc:DescribeVSwitchAttributes", "vpc:DescribeVpcs", "vpc:DescribeVSwitches", "vpc:DescribeVpcAttribute" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "ecs:DescribeSecurityGroupAttribute", "ecs:DescribeSecurityGroups", "ecs:CreateNetworkInterface", "ecs:DeleteNetworkInterface", "ecs:DescribeNetworkInterfaces", "ecs:CreateNetworkInterfacePermission", "ecs:DescribeNetworkInterfacePermissions", "ecs:DeleteNetworkInterfacePermission" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "nas:DescribeFileSystems", "nas:CreateMountTarget", "nas:DescribeMountTargets", "nas:ModifyMountTarget", "nas:DescribeProtocolMountTarget" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "cr:ListNamespace", "cr:ListRepository", "cr:GetAuthorizationToken", "cr:ListInstanceEndpoint", "cr:PullRepository", "cr:PushRepository", "cr:GetInstance", "cr:GetInstanceVpcEndpoint", "cr:ListInstance", "cr:ListInstanceDomain" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "oss:ListBuckets", "oss:GetObjectMetadata", "oss:GetObject", "oss:ListObjects", "oss:PutObject", "oss:CopyObject", "oss:CompleteMultipartUpload", "oss:AbortMultipartUpload", "oss:InitiateMultipartUpload", "oss:UploadPartCopy", "oss:UploadPart", "oss:DeleteObject" ], "Resource": "acs:oss:*:*:*", "Effect": "Allow" }, { "Action": [ "datasetacc:DescribeInstance", "datasetacc:DescribeSlot", "datasetacc:DescribeEndpoint" ], "Resource": "*", "Effect": "Allow" } ] }権限タイプ
説明
cs:***
Container Service (CS) に関連する権限です。
vpc:***
Virtual Private Cloud (VPC) に関連する権限です。
ecs:***
Elastic Compute Service (ECS) に関連する権限です。
nas:***
NAS に関連する権限です。
cr:***
Container Registry に関連する権限です。
oss:***
Object Storage Service (OSS) に関連する権限です。
datasetacc:***
データセットアクセラレーションに関連する権限です。
-
Resource Access Management ページで、 を選択します。
-
ステップ 1 で作成したロールを検索し、ロール名 をクリックして ロールの詳細 ページに移動します。
-
権限 タブで、権限を追加 をクリックし、作成したアクセスポリシーをロールに付与します。次の図はその例です。

-
-
RAM ロールを PAI ワークスペースに追加し、権限を付与します。
PAI プロダクトを利用するには、RAM ロールをワークスペースのメンバーとして追加する必要があります。ワークスペース管理者は、ワークスペースの メンバーとロール ページから RAM ロールを追加できます。詳細については、「ワークスペースメンバーの管理」をご参照ください。
説明検索結果にロールが表示されない場合は、以下のいずれかの操作を行ってください:
-
メンバーの追加 ダイアログボックスで、更新 ボタンをクリックしてアカウントリストを更新します。
-
RAM ロールを引き受けて PAI コンソール にログインし、再度検索・追加を試みます。詳細については、「RAM ロールの引き受け」をご参照ください。
-
-
PAI コンソールにログインしてアルゴリズム開発を開始します。
権限付与を完了すると、ユーザーは RAM ロールを引き受けて PAI コンソール にログインし、アルゴリズム開発を開始できます。詳細については、「RAM ロールの引き受け」をご参照ください。