全部產品
Search
文件中心

Platform For AI:RAM角色登入並使用PAI

更新時間:Aug 06, 2025

本文將詳細介紹如何通過角色單點登入(SSO)方式登入PAI平台。角色SSO提供了一種便捷且安全的訪問方式,使使用者能夠高效地使用PAI的各項功能。通過這種方法,使用者可以簡化登入流程,同時增強賬戶安全性和管理靈活性。本文將指導您完成角色SSO登入PAI的具體操作。

背景資訊

為了滿足企業日益嚴格的安全監管要求,阿里雲提供了通過角色登入(Role-Based SSO)訪問雲資源的選項。傳統上,企業使用者通常通過在阿里雲控制台輸入帳號和密碼進行常規登入,以管理和使用雲端服務。但是,角色登入狀態企業提供了一種更安全的訪問方式,符合更高的安全標準,詳情請參見SAML角色SSO概覽

PAI支援的登入方式

PAI支援以下幾種方式的登入:雲帳號登入和角色登入。

  • 雲帳號登入:

    您可以使用阿里雲帳號或RAM使用者帳號直接登入PAI。通過輸入帳號和密碼,您可以訪問阿里雲控制台,並以當前登入帳號的身份使用PAI。在這種情況下,您的阿里雲帳號將自動成為PAI某個工作空間的成員,並獲得相應的產品使用許可權。

  • 雲SSO登入

    雲SSO提供基於阿里雲資來源目錄RD(Resource Directory)的多帳號統一身份管理與存取控制。使用雲SSO,您可以統一管理企業中使用阿里雲的使用者,一次性配置企業身份管理系統與阿里雲的單點登入,並統一配置所有使用者對RD帳號的存取權限。

  • 角色SSO登入

    您還可以通過角色SSO(單點登入)方式進入阿里雲控制台並使用PAI。通過此方式,阿里雲存取控制角色(RAM Role)將成為PAI某個工作空間的成員。使用該RAM角色的使用者將獲得與雲帳號成員相同的產品使用許可權。有關RAM角色的更多資訊,請參見RAM角色概覽

角色登入指南

  1. 建立RAM角色並配置信任策略。

    通過RAM使用者扮演角色並添加許可權

    如果您需要通過RAM使用者來扮演RAM角色,並基於阿里雲控制台切換身份的方式扮演該角色,當前可信實體類型可以選擇阿里雲帳號。具體操作步驟如下。

    1. 建立可信實體類型為雲帳號的RAM角色,具體操作,請參見建立可信實體為阿里雲帳號的RAM角色

      其中:信任主體名稱參數選擇當前雲帳號

    2. 進入目標角色詳情頁面,修改信任策略。

      image

      信任策略內容修改為如下指令碼內容:

      {
        "Statement": [
          {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Principal": {
              "RAM": [
                "acs:ram::主帳號ID:root"
              ]
            }
          },    
          {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Principal": {
              "Service": [
                "dataworks.aliyuncs.com"
              ]
            }
          }
        ],
        "Version": "1"
      }

      指令碼中acs:ram::主帳號ID:root中的主帳號ID需要替換為需要授權的帳號ID。您可以前往使用者基本資料頁面,擷取帳號ID。

    3. 建立RAM使用者。您可以同時建立多個RAM使用者,具體操作,詳情請參見建立RAM使用者

    4. 單擊目標RAM使用者操作列下的添加許可權,為已建立的RAM使用者添加AliyunSTSAssumeRoleAccess許可權,來擷取調用STS服務AssumeRole介面的許可權。

      image

    通過IdP身份供應商扮演角色並添加許可權

    如果您需要通過IdP身份供應商帳號登入至阿里雲來扮演RAM角色,當前可信實體類型可以選擇身份供應商,具體操作步驟如下:

    1. 建立可信實體類型為身份供應商的RAM角色,具體操作,詳情請參見建立可信實體為身份供應商的RAM角色

    2. 進入目標角色詳情頁面,修改信任策略。

      image

      信任策略內容修改為如下指令碼內容:

      {
         "Statement": [
              {
                  "Action": "sts:AssumeRole",
                  "Effect": "Allow",
                  "Principal": {
                      "Federated": [
                          "acs:ram::主帳號ID: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"
      }

      指令碼中acs:ram::主帳號ID:saml-provider/IDP中的主帳號ID需要替換為需要授權的帳號ID。您可以前往使用者基本資料頁面,擷取帳號ID。

  2. 配置權限原則。

    您可以根據角色使用者登入後需要使用的子產品需求,為角色使用者添加權限原則。未設定權限原則可能會影響您在工作空間中的部分功能(例如:AI資產管理-資料集等)。建議您為角色使用者添加相關的權限原則,具體操作步驟如下。

    1. 建立權限原則,例如將策略名稱稱定義為PAIDefaultPolicy,具體操作,可參考範例雲產品依賴與授權: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相關的許可權。

      ecs:***

      表示雲端服務器服務(ECS)相關的許可權。

      nas:***

      表示檔案儲存體服務(NAS)相關的許可權。

      cr:***

      表示Container Registry(ContainerRegistry)相關的許可權。

      oss:***

      表示Object Storage Service服務(OSS)相關的許可權。

      datasetacc:***

      表示資料集加速(DatasetAcc)相關的許可權。

    2. RAM存取控制頁面,選擇身份管理 > 角色

    3. 搜尋在步驟1中建立的角色,並單擊角色名稱,進入角色詳情頁面。

    4. 許可權管理頁簽,單擊新增授權,將已建立的權限原則授權給該角色。具體如下圖所示。

      image

  3. 添加RAM角色至PAI工作空間並授權。

    RAM角色需要被添加為工作空間的成員,才能在許可權範圍內使用PAI的子產品。工作空間管理員可以在工作空間成員與角色頁面,添加已建立的RAM角色,具體操作,詳情請參見管理工作空間成員image

    說明

    如果您在上圖位置搜尋不到您建立的角色,您可以

    • 新增成員對話方塊中,手動單擊重新整理按鈕來更新帳號列表。

    • 嘗試使用該RAM角色登入PAI控制台後,再進行搜尋添加。詳情請參見扮演RAM角色

  4. 登入PAI控制台開始演算法開發工作。

    當您完成授權後,使用者就可以扮演RAM角色登入PAI控制台,開始演算法開發工作。具體操作,請參見扮演RAM角色