全部產品
Search
文件中心

MaxCompute:STS模式授權

更新時間:Jun 19, 2024

MaxCompute結合了阿里雲的存取控制服務(RAM)和令牌服務(STS)實現對資料的安全訪問。本文為您介紹控制服務(RAM)和令牌服務(STS)的授權方式。

OSS的STS模式授權

MaxCompute外部表格直接存取OSS的資料,需要事先將OSS的資料相關許可權賦予MaxCompute的訪問帳號,您可以通過以下方式授權:

  • 方式一(推薦):當MaxCompute和OSS的Owner是同一個帳號時,登入阿里雲帳號後,單擊此處完成一鍵授權

  • 方式二:當MaxCompute和OSS的Owner不是同一個帳號時,您可以自訂角色並授權。

    1. 建立RAM角色。

      使用OSS帳號登入RAM控制台,通過RAM控制台中的RAM角色建立角色。例如角色oss-admin。建立角色

      說明

      更多建立角色操作資訊,請參見建立可信實體為阿里雲帳號的RAM角色

    2. 修改RAM角色策略內容。

      在RAM控制台中的RAM角色管理頁面,單擊建立的RAM角色名稱後,在信任策略頁簽修改信任策略。當MaxCompute和OSS的Owner不是同一個帳號,設定如下所示,支援跨帳號實現MaxCompute訪問OSS。

      {
      "Statement": [
      {
       "Action": "sts:AssumeRole",
       "Effect": "Allow",
       "Principal": {
         "Service": [
           "MaxCompute的Owner雲帳號ID@odps.aliyuncs.com"
         ]
       }
      }
      ],
      "Version": "1"
      }
      說明

      MaxCompute的Owner雲帳號ID為訪問OSS服務的帳號。

      更多修改角色策略內容操作,請參見修改RAM角色的信任策略

    3. 建立權限原則。

      在RAM控制台中的權限原則管理頁面,建立權限原則,例如AliyunODPSRolePolicy。策略內容如下,您也可以自訂其他許可權。

      {
      "Version": "1",
      "Statement": [
      {
       "Action": [
         "oss:ListBuckets",
         "oss:GetObject",
         "oss:ListObjects",
         "oss:PutObject",
         "oss:DeleteObject",
         "oss:AbortMultipartUpload",
         "oss:ListParts"
       ],
       "Resource": "*",
       "Effect": "Allow"
      }
      ]
      }
    4. 將建立的權限原則AliyunODPSRolePolicy授權給建立的RAM角色。

      更多授權操作資訊,請參見為RAM角色授權

OTS的STS模式授權

MaxCompute外部表格直接存取OTS的資料,需要事先將OTS的資料相關許可權賦予MaxCompute的訪問帳號,您可以通過以下方式授權:

  • 方式一(推薦):當MaxCompute和OTS的Owner是同一個帳號時,登入阿里雲帳號後,單擊此處完成一鍵授權

  • 方式二:當MaxCompute和OTS的Owner不是同一個帳號時,您可以自訂角色並授權。

    1. 建立RAM角色。

      使用OTS帳號登入RAM控制台,通過RAM控制台中的RAM角色建立角色。例如角色oss-adminots。

      更多建立角色操作資訊,請參見建立可信實體為阿里雲帳號的RAM角色

    2. 修改RAM角色策略內容。

      在RAM控制台中的RAM角色管理頁面,單擊建立的RAM角色名稱後,在信任策略頁簽修改信任策略。當MaxCompute和OTS的Owner不是同一個帳號時,設定如下所示,支援跨帳號實現MaxCompute訪問OTS。

      {
      "Statement": [
      {
       "Action": "sts:AssumeRole",
       "Effect": "Allow",
       "Principal": {
         "Service": [
           "MaxCompute的Owner雲帳號的UID@odps.aliyuncs.com"
         ]
       }
      }
      ],
      "Version": "1"
      }

      MaxCompute的Owner雲帳號ID為訪問OTS服務的帳號。

    3. 建立權限原則。

      在RAM控制台中的權限原則管理頁面,建立權限原則,例如AliyunODPSRolePolicy。策略內容如下,您也可以自訂其他許可權。

      {
      "Version": "1",
      "Statement": [
      {
       "Action": [
         "ots:ListTable",
         "ots:DescribeTable",
         "ots:GetRow",
         "ots:PutRow",
         "ots:UpdateRow",
         "ots:DeleteRow",
         "ots:GetRange",
         "ots:BatchGetRow",
         "ots:BatchWriteRow",
         "ots:ComputeSplitPointsBySize"
       ],
       "Resource": "*",
       "Effect": "Allow"
      }
      ]
      }
    4. 將建立的權限原則AliyunODPSRolePolicy授權給建立的RAM角色。

      更多授權操作資訊,請參見為RAM角色授權

Hologres的STS模式授權

MaxCompute外部表格直接存取Hologres的資料,需要先將Hologres的資料相關許可權賦予MaxCompute的訪問帳號,以下介紹Hologres的STS模式授權操作。

  1. 使用Hologres帳號登入RAM控制台,通過RAM控制台中的RAM角色建立角色。

  2. 修改信任策略配置內容。

    1. 角色頁面,單擊已建立完成的RAM角色名稱。

    2. 單擊信任策略頁簽。

    3. 信任策略頁簽,單擊編輯信任策略

    4. 編輯信任策略地區,參照如下內容修改信任策略配置。

      修改信任策略配置內容與選擇的可信實體類型相關。

      • 可信實體類型為阿里雲帳號:

        {
          "Statement": [
            {
              "Action": "sts:AssumeRole",
              "Effect": "Allow",
              "Principal": {
                "RAM": [
                  "acs:ram::<UID>:root"
                ]
              }
            },
            {
              "Action": "sts:AssumeRole",
              "Effect": "Allow",
              "Principal": {
                "Service": [
                  "<UID>@odps.aliyuncs.com"
                ]
              }
            }
          ],
          "Version": "1"
        }
      • 可信實體類型為身份供應商:

        {
        "Statement": [
                {
                    "Action": "sts:AssumeRole",
                    "Condition": {
                        "StringEquals": {
                            "saml:recipient": "https://signin.aliyun.com/saml-role/sso"
                        }
                    },
                    "Effect": "Allow",
                    "Principal": {
                        "Federated": [
                            "acs:ram::<UID>:saml-provider/IDP"
                        ]
                    }
                },
                {
                    "Action": "sts:AssumeRole",
                    "Effect": "Allow",
                    "Principal": {
                        "Service": [
                            "<UID>@odps.aliyuncs.com"
                        ]
                    }
                }
            ],
            "Version": "1"
        }
        說明

        <UID>即阿里雲帳號ID,可在使用者資訊頁面擷取。

    5. 單擊確定

  3. 添加RAM角色至Hologres執行個體並授權。

    RAM角色需要有Hologres執行個體的開發許可權,才能在許可權範圍內使用Hologres。由於RAM角色預設沒有Hologres管理主控台的查看和操作執行個體的許可權,因此需要阿里雲帳號完成RAM相關許可權授予才能進行後續操作。添加RAM角色至Hologres執行個體,您可以通過如下方式進行授權。

      • 通過Hologres管理主控台授權。

        1. 登入Hologres管理主控台

        2. 在左側導覽列單擊執行個體列表,單擊需要授權的Hologres執行個體名稱。

        3. 在執行個體詳情頁面,單擊帳號管理

        4. 使用者管理頁面單擊新增使用者添加RAM角色至Hologres執行個體。新增使用者

        5. DB授權頁簽,為該RAM角色授予執行個體的開發許可權。DB授權

      • 通過SQL方式授權。

        您可以通過SQL方式進行授權,授權SQL請參見Hologres許可權模型概述

      • 若是通過RAM使用者扮演RAM角色,RAM使用者預設沒有Hologres管理主控台的許可權,需要阿里雲帳號給RAM使用者在存取控制頁面授予AliyunRAMReadOnlyAccess許可權,否則RAM使用者無法在Hologres管理主控台進行任何操作。詳情請參見文檔授予RAM使用者權限添加許可權

說明

Hologres還支援雙簽名的認證方式,詳情請參見建立Hologres外部表格(雙簽名模式)