全部产品
Search
文档中心

MaxCompute:Otorisasi mode STS

更新时间:Dec 06, 2025

MaxCompute terintegrasi dengan Resource Access Management (RAM) dan Security Token Service (STS) Alibaba Cloud untuk memastikan akses data yang aman. Topik ini menjelaskan metode otorisasi yang menggunakan RAM dan STS.

Otorisasi mode STS untuk role biasa pada OSS

Sebelum tabel eksternal MaxCompute dapat langsung mengakses data di Object Storage Service (OSS), Anda harus memberikan izin OSS yang diperlukan kepada akun akses MaxCompute. Izin tersebut dapat diberikan dengan salah satu cara berikut:

  • Otorisasi Satu-Klik (disarankan): Jika akun Alibaba Cloud yang sama memiliki MaxCompute dan OSS, login ke akun Alibaba Cloud Anda dan klik di sini untuk menyelesaikan otorisasi satu-klik.

    Catatan

    Peran default AliyunODPSDefaultRole memiliki izin yang luas dan hanya disediakan sebagai referensi. Konfigurasikan kebijakan izin dan kepercayaan yang sesuai di Konsol RAM berdasarkan data eksternal yang perlu diakses oleh tabel eksternal atau sumber data MaxCompute Anda.

  • Otorisasi Kustom: Metode ini dapat digunakan terlepas dari apakah akun yang sama memiliki MaxCompute dan OSS. Prosedurnya sebagai berikut.

    • Jika akun yang sama memiliki MaxCompute dan OSS, atur service ke odps.aliyuncs.com saat menambahkan kebijakan kepercayaan.

    • Jika akun yang berbeda memiliki MaxCompute dan OSS, atur service ke <UID akun Alibaba Cloud pemilik MaxCompute>@odps.aliyuncs.com saat menambahkan kebijakan kepercayaan. UID akun Alibaba Cloud pemilik MaxCompute dapat ditemukan di halaman Ikhtisar Akun.

    1. Buat peran RAM.

      Login ke Konsol RAM dan buat peran di halaman Peran RAM. Misalnya, Anda dapat membuat peran bernama oss-admin. Untuk informasi selengkapnya tentang cara membuat peran, lihat Buat peran RAM untuk akun Alibaba Cloud tepercaya.image

    2. Ubah kebijakan kepercayaan peran RAM.

      1. Login ke Konsol Resource Access Management (RAM).

      2. Di panel navigasi sebelah kiri, pilih Identities > Roles.

      3. Di halaman Roles, klik Role Name target untuk membuka halaman detailnya.

      4. Di tab Trust Policy, klik Edit Trust Policy. Di halaman Edit Trust Policy, klik tab JSON.

        Konfigurasikan kebijakan berikut:

        Jika akun yang sama memiliki MaxCompute dan OSS

        {
          "Statement": [
            {
              "Action": "sts:AssumeRole",
              "Effect": "Allow",
              "Principal": {
                "Service": [
                  "odps.aliyuncs.com"
                ]
              }
            }
          ],
          "Version": "1"
        }

        Jika akun yang berbeda memiliki MaxCompute dan OSS

        {
        "Statement": [
        {
         "Action": "sts:AssumeRole",
         "Effect": "Allow",
         "Principal": {
           "Service": [
             "<UID akun Alibaba Cloud pemilik MaxCompute>@odps.aliyuncs.com"
           ]
         }
        }
        ],
        "Version": "1"
        }
      5. Setelah selesai, klik OK.

    3. Buat kebijakan izin.

      Di halaman Policies di Konsol RAM, buat kebijakan izin. Misalnya, Anda dapat membuat kebijakan bernama AliyunODPSRolePolicy.

      Berikut contoh kebijakan. Anda juga dapat menyesuaikan izin sesuai kebutuhan. Untuk informasi selengkapnya, lihat Buat kebijakan izin kustom.

      {
      "Version": "1",
      "Statement": [
      {
       "Action": [
         "oss:ListBuckets",
         "oss:GetObject",
         "oss:ListObjects",
         "oss:PutObject",
         "oss:DeleteObject",
         "oss:AbortMultipartUpload",
         "oss:ListParts"
       ],
       "Resource": "*",
       "Effect": "Allow"
      }
      ]
      }
    4. Berikan kebijakan izin baru kepada peran RAM baru.

      1. Login ke Konsol Resource Access Management (RAM).

      2. Di panel navigasi sebelah kiri, pilih Identities > Roles.

      3. Di halaman Roles, klik Role Name target untuk membuka halaman detailnya.

      4. Di tab Permissions, klik Grant Permission. Di panel Grant Permission, pilih kebijakan akses untuk peran tersebut lalu klik OK.

        Untuk informasi selengkapnya, lihat Berikan izin kepada peran RAM.

Otorisasi mode STS untuk role biasa pada Tablestore

Sebelum tabel eksternal MaxCompute dapat langsung mengakses data di Tablestore, Anda harus memberikan izin Tablestore yang diperlukan kepada akun akses MaxCompute. Izin tersebut dapat diberikan dengan salah satu cara berikut:

  • Otorisasi Satu-Klik (disarankan): Jika akun Alibaba Cloud yang sama memiliki MaxCompute dan Tablestore, login ke akun Alibaba Cloud Anda dan klik di sini untuk menyelesaikan otorisasi satu-klik.

  • Otorisasi Kustom: Jika akun yang berbeda memiliki MaxCompute dan Tablestore, buat peran kustom dan berikan izin.

    1. Buat peran RAM.

      Login ke Konsol RAM menggunakan akun Alibaba Cloud pemilik Tablestore dan buat peran di halaman Peran RAM. Misalnya, Anda dapat membuat peran bernama oss-adminots.

      Untuk informasi selengkapnya tentang cara membuat peran, lihat Buat peran RAM untuk akun Alibaba Cloud tepercaya.

    2. Ubah kebijakan kepercayaan peran RAM.

      Jika akun yang berbeda memiliki MaxCompute dan Tablestore, konfigurasikan kebijakan seperti pada contoh berikut untuk mengaktifkan akses lintas akun dari MaxCompute ke Tablestore.

      1. Login ke Konsol Resource Access Management (RAM).

      2. Di panel navigasi sebelah kiri, pilih Identities > Roles.

      3. Di halaman Roles, klik Role Name target untuk membuka halaman detailnya.

      4. Di tab Trust Policy, klik Edit Trust Policy. Di halaman Edit Trust Policy, klik tab JSON.

        Konfigurasikan kebijakan berikut:

        {
        "Statement": [
        {
         "Action": "sts:AssumeRole",
         "Effect": "Allow",
         "Principal": {
           "Service": [
             "<UID akun Alibaba Cloud pemilik MaxCompute>@odps.aliyuncs.com"
           ]
         }
        }
        ],
        "Version": "1"
        }

        ID akun Alibaba Cloud pemilik MaxCompute adalah ID akun Alibaba Cloud yang digunakan untuk mengakses layanan OTS.

    3. Buat kebijakan izin.

      Di halaman Policies di Konsol RAM, buat kebijakan izin. Misalnya, Anda dapat membuat kebijakan bernama AliyunODPSRolePolicy.

      Berikut contoh kebijakan. Anda juga dapat menyesuaikan izin lainnya. Untuk informasi selengkapnya, lihat Buat kebijakan izin kustom.

      {
      "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. Berikan kebijakan izin AliyunODPSRolePolicy kepada peran RAM baru.

      1. Login ke Konsol Resource Access Management (RAM).

      2. Di panel navigasi sebelah kiri, pilih Identities > Roles.

      3. Di halaman Roles, klik Role Name target untuk membuka halaman detailnya.

      4. Di tab Permissions, klik Grant Permission. Di panel Grant Permission, pilih kebijakan akses untuk peran tersebut lalu klik OK.

        Untuk informasi selengkapnya, lihat Berikan izin kepada peran RAM.

Otorisasi mode STS untuk role biasa pada Hologres

Sebelum tabel eksternal MaxCompute dapat langsung mengakses data di Hologres, Anda harus memberikan izin Hologres yang diperlukan kepada akun akses MaxCompute. Bagian ini menjelaskan cara memberikan izin dalam mode STS untuk Hologres.

  1. Login ke Konsol RAM menggunakan akun Alibaba Cloud pemilik Hologres dan buat peran di halaman Peran RAM.

    • Akun Alibaba Cloud:

      Pengguna RAM yang termasuk dalam akun Alibaba Cloud dapat mengasumsikan peran RAM untuk mengakses sumber daya cloud. Untuk informasi selengkapnya, lihat Buat peran RAM untuk akun Alibaba Cloud tepercaya.

    • Penyedia identitas:

      Dengan menyiapkan Single Sign-On (SSO), Anda dapat login ke Konsol Manajemen Alibaba Cloud dari sistem akun perusahaan Anda. Hal ini memenuhi persyaratan autentikasi login pengguna terpadu perusahaan Anda. Untuk informasi selengkapnya, lihat Buat peran RAM untuk penyedia identitas tepercaya.

  2. Ubah kebijakan kepercayaan

    1. Login ke Konsol Resource Access Management (RAM).

    2. Di panel navigasi sebelah kiri, pilih Identities > Roles.

    3. Di halaman Roles, klik Role Name target untuk membuka halaman detailnya.

    4. Di tab Trust Policy, klik Edit Trust Policy. Di halaman Edit Trust Policy, klik tab JSON.

      Konfigurasi kebijakan kepercayaan bergantung pada jenis entitas tepercaya yang Anda pilih.

      • Jika entitas tepercaya adalah akun Alibaba Cloud, konfigurasikan kebijakan sebagai berikut:

        {
          "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"
        }
      • Jika entitas tepercaya adalah penyedia identitas, konfigurasikan kebijakan sebagai berikut:

        {
          "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"
        }
  3. Tambahkan peran RAM ke instans Hologres dan berikan izin

    Peran RAM harus memiliki izin developer pada instans Hologres untuk menggunakan sumber daya Hologres dalam cakupan yang diizinkan.

    Secara default, peran RAM tidak memiliki izin untuk melihat atau mengelola instans di konsol Hologres. Oleh karena itu, akun Alibaba Cloud harus memberikan izin RAM yang relevan sebelum Anda dapat melanjutkan.

    Untuk menambahkan peran RAM ke instans Hologres:

    Berikan izin di konsol Hologres

    1. Login ke Konsol Manajemen Hologres, lalu pilih wilayah di pojok kiri atas.

    2. Di panel navigasi kiri, pilih Instances.

    3. Di halaman Instances, klik nama instans target.

    4. Di halaman detail instans, di panel navigasi kiri, pilih Account Management.

    5. Pada halaman User Management, Anda dapat mengeklik Add User.

    6. Di halaman Add User, konfigurasikan informasi yang diperlukan dan klik OK.

      • Untuk Role, pilih AliyunODPSDefaultRole.

      • Untuk Member Role, pilih Regular User.

    7. Di halaman User Management, di panel navigasi kiri, pilih Database Authorization.

    8. Di halaman Database Authorization, klik Create Database.

    9. Di kotak dialog Create Database, konfigurasikan parameter yang diperlukan lalu klik OK.

      Atur Permission Policy ke SPM.

    10. Di halaman Database Authorization, klik Authorize User di kolom Actions untuk database target.

    11. Klik Grant Permissions di pojok kanan atas. Di kotak dialog Grant Permissions, konfigurasikan User dan User Group.

      • Untuk User, pilih pengguna RAM yang ingin Anda konfigurasikan.

      • Untuk User Group, pilih Developer.

    Berikan izin menggunakan SQL

    Untuk informasi tentang pernyataan SQL otorisasi, lihat model izin Hologres.

    Judul tab

    Berikan kebijakan izin baru AliyunODPSRolePolicy kepada peran RAM baru.

    1. Login ke Konsol Resource Access Management (RAM).

    2. Di panel navigasi sebelah kiri, pilih Identities > Users.

    3. Di halaman Users, klik User Logon Name/Display Name pengguna target untuk membuka halaman detail pengguna.

    4. Di halaman detail pengguna, klik tab Permissions.

    5. Di tab Permissions, pilih Individual lalu klik Grant Permission.

    6. Di panel Grant Permission, pilih kebijakan akses lalu klik OK.

      Untuk Kebijakan Izin, pilih AliyunRAMReadOnlyAccess.

      Untuk informasi selengkapnya tentang cara memberikan izin, lihat Berikan izin kepada pengguna RAM.

Catatan

Hologres juga mendukung autentikasi tanda tangan ganda. Untuk informasi selengkapnya, lihat Buat tabel eksternal Hologres (mode tanda tangan ganda).

Otorisasi mode STS untuk role biasa pada DLF dan OSS

Saat Anda membangun danau data terpadu dengan MaxCompute, DLF, dan OSS, Anda harus memberikan izin karena akun pemilik proyek MaxCompute tidak dapat mengakses DLF atau OSS secara default. Izin tersebut dapat diberikan dengan salah satu cara berikut:

  • Otorisasi Satu-Klik (disarankan): Gunakan metode ini jika akun yang membuat proyek MaxCompute sama dengan akun yang menerapkan DLF dan OSS. Klik Berikan izin ke DLF dan OSS untuk menyelesaikan otorisasi satu-klik.

  • Otorisasi Kustom: Metode ini dapat digunakan terlepas dari apakah akun yang membuat proyek MaxCompute sama dengan akun yang menerapkan DLF dan OSS. Prosedurnya sebagai berikut.

    • Jika akun pemilik proyek MaxCompute sama dengan akun yang menerapkan DLF, atur service ke odps.aliyuncs.com saat menambahkan kebijakan kepercayaan.

    • Jika akun pemilik proyek MaxCompute berbeda dari akun yang menerapkan DLF, atur service ke <UID akun Alibaba Cloud pemilik proyek MaxCompute>@odps.aliyuncs.com saat menambahkan kebijakan kepercayaan. UID akun Alibaba Cloud pemilik proyek MaxCompute dapat ditemukan di halaman Ikhtisar Akun.

    1. Login ke Konsol RAM untuk membuat peran RAM untuk akun Alibaba Cloud tepercaya.

    2. Di Konsol RAM, ubah kebijakan kepercayaan peran RAM. Kode berikut menyediakan contoh kebijakan:

      Jika akun yang sama membuat proyek MaxCompute dan menerapkan DLF

      {
      "Statement": [
      {
       "Action": "sts:AssumeRole",
       "Effect": "Allow",
       "Principal": {
         "Service": [
           "odps.aliyuncs.com"
         ]
       }
      }
      ],
      "Version": "1"
      }

      Jika akun yang berbeda membuat proyek MaxCompute dan menerapkan DLF

      {
      "Statement": [
      {
       "Action": "sts:AssumeRole",
       "Effect": "Allow",
       "Principal": {
         "Service": [
           "<UID akun Alibaba Cloud pemilik proyek MaxCompute>@odps.aliyuncs.com"  
         ]
       }
      }
      ],
      "Version": "1"
      }
    3. Di Konsol RAM, buat kebijakan izin kustom untuk peran RAM baru. Untuk informasi selengkapnya, lihat Buat kebijakan kustom. Kode berikut menyediakan contoh kebijakan kustom:

      {
      "Version": "1",
      "Statement": [
      {
       "Action": [
         "oss:ListBuckets",
         "oss:GetObject",
         "oss:ListObjects",
         "oss:PutObject",
         "oss:DeleteObject",
         "oss:AbortMultipartUpload",
         "oss:ListParts"
       ],
       "Resource": "*",
       "Effect": "Allow"
      },
      {
       "Action": [
       "dlf:CreateFunction",
      "dlf:BatchGetPartitions",
      "dlf:ListDatabases",
      "dlf:CreateLock",
      "dlf:UpdateFunction",
      "dlf:BatchUpdateTables",
      "dlf:DeleteTableVersion",
      "dlf:UpdatePartitionColumnStatistics",
      "dlf:ListPartitions",
      "dlf:DeletePartitionColumnStatistics",
      "dlf:BatchUpdatePartitions",
      "dlf:GetPartition",
      "dlf:BatchDeleteTableVersions",
      "dlf:ListFunctions",
      "dlf:DeleteTable",
      "dlf:GetTableVersion",
      "dlf:AbortLock",
      "dlf:GetTable",
      "dlf:BatchDeleteTables",
      "dlf:RenameTable",
      "dlf:RefreshLock",
      "dlf:DeletePartition",
      "dlf:UnLock",
      "dlf:GetLock",
      "dlf:GetDatabase",
      "dlf:GetFunction",
      "dlf:BatchCreatePartitions",
      "dlf:ListPartitionNames",
      "dlf:RenamePartition",
      "dlf:CreateTable",
      "dlf:BatchCreateTables",
      "dlf:UpdateTableColumnStatistics",
      "dlf:ListTableNames",
      "dlf:UpdateDatabase",
      "dlf:GetTableColumnStatistics",
      "dlf:ListFunctionNames",
      "dlf:ListPartitionsByFilter",
      "dlf:GetPartitionColumnStatistics",
      "dlf:CreatePartition",
      "dlf:CreateDatabase",
      "dlf:DeleteTableColumnStatistics",
      "dlf:ListTableVersions",
      "dlf:BatchDeletePartitions",
      "dlf:ListCatalogs",
      "dlf:UpdateTable",
      "dlf:ListTables",
      "dlf:DeleteDatabase",
      "dlf:BatchGetTables",
      "dlf:DeleteFunction"
       ],
       "Resource": "*",
       "Effect": "Allow"
      }
      ]
      }
    4. Berikan kebijakan izin kustom kepada peran RAM baru. Untuk informasi selengkapnya, lihat Berikan izin kepada peran RAM.

Otorisasi mode STS untuk peran terkait layanan pada Hologres

Saat MaxCompute mengakses data di Hologres menggunakan sumber data eksternal dan proyek eksternal, Anda harus memberikan izin data Hologres yang diperlukan kepada akun akses MaxCompute.

Menggunakan identitas pelaksana tugas pada dasarnya memberikan izin peran terkait layanan MaxCompute untuk mengakses Hologres dan meneruskan identitas pelaksana tugas ke Hologres. Kedua layanan membatasi pelaksana tugas saat ini pada izin yang mereka miliki dalam masing-masing produk. Oleh karena itu, Anda harus terlebih dahulu membuat peran terkait layanan untuk MaxCompute dan memberikan izin kepadanya. Izin tersebut dapat diberikan dengan cara berikut:

  1. Login ke Konsol Resource Access Management (RAM).

  2. Di panel navigasi sebelah kiri, pilih Identities > Roles.

  3. Di halaman Roles, klik Create Role.

  4. Di pojok kanan atas halaman Create Role, klik Create Service Linked Role.

  5. Di halaman Create Service Linked Role, untuk Select Service, pilih aliyunserviceroleformaxcomputeidentitymgmt, lalu klik Create Service Linked Role.

    Jika muncul pesan bahwa peran tersebut sudah ada, artinya peran tersebut telah diotorisasi. Anda dapat mengabaikan pesan ini.

Otorisasi mode STS untuk peran terkait layanan pada Paimon_DLF

Saat MaxCompute mengakses data di Paimon_DLF menggunakan sumber data eksternal dan proyek eksternal, Anda harus memberikan izin data DLF yang diperlukan kepada akun akses MaxCompute.

Menggunakan identitas pelaksana tugas pada dasarnya memberikan izin peran terkait layanan MaxCompute untuk mengakses DLF dan meneruskan identitas pelaksana tugas ke DLF. Kedua layanan membatasi pelaksana tugas saat ini pada izin yang mereka miliki dalam masing-masing produk. Oleh karena itu, Anda harus terlebih dahulu membuat peran terkait layanan untuk MaxCompute dan memberikan izin kepadanya. Izin tersebut dapat diberikan dengan cara berikut:

  1. Login ke Konsol Resource Access Management (RAM).

  2. Di panel navigasi sebelah kiri, pilih Identities > Roles.

  3. Di halaman Roles, klik Create Role.

  4. Di pojok kanan atas halaman Create Role, klik Create Service Linked Role.

  5. Di halaman Create Service Linked Role, pilih AliyunServiceRoleForMaxComputeLakehouse untuk Select Service, lalu klik Create Service Linked Role.

    Jika muncul pesan bahwa peran tersebut sudah ada, artinya peran tersebut telah diotorisasi. Anda dapat mengabaikan pesan ini.