全部產品
Search
文件中心

Realtime Compute for Apache Flink:RAM授權

更新時間:Oct 25, 2024

通過RAM使用者或者RAM角色等方式訪問Realtime Compute控制台,並進行購買、查看或者刪除工作空間等操作時,需要擁有相應的許可權。本文為您介紹Flink支援的權限原則類型、以及如何進行RAM授權。

權限原則類型

權限原則是用文法結構描述的一組許可權的集合,可以精確地描述被授權的資源集、操作集以及授權條件。RAM支援的權限原則基本元素和語言規範,請參見權限原則基本元素權限原則文法和結構

RAM支援以下兩種權限原則:

  • 系統策略:統一由阿里雲建立,使用者只能使用不能修改,策略的版本更新由阿里雲維護。Flink支援的系統策略,詳情請參見系統權限原則

  • 自訂策略:使用者可以自主建立、更新和刪除,策略的版本更新由客戶自己維護。Flink支援的自訂策略,詳情請參見自訂權限原則

RAM授權操作

通過為RAM使用者或RAM角色綁定權限原則,可以獲得權限原則中指定的存取權限。本文為您介紹如何為RAM使用者授權。RAM角色授權操作類似,詳情請參見為RAM角色授權

  1. 使用Resource Access Management員登入RAM控制台

  2. 在左側導覽列,選擇身份管理 > 使用者

  3. 使用者頁面,單擊目標RAM使用者操作列的添加許可權

    image

    您也可以選中多個RAM使用者,單擊使用者列表下方的添加許可權,為RAM使用者大量授權。

  4. 新增許可權面板,為RAM使用者添加許可權。

    image

    參數

    說明

    資源範圍

    選擇所需的應用範圍:

    • 帳號層級:許可權在當前阿里雲帳號內生效。

    • 資源群組層級:許可權在指定的資源群組內生效。

    授權主體

    被授權主體,即需要授權的RAM使用者,系統會自動填入當前的RAM使用者,您也可以添加其他RAM使用者。

    權限原則

    • 系統策略:Flink全託管支援的系統策略詳情,請參見系統權限原則

    • 自訂策略:建立步驟請參見建立自訂權限原則。Flink全託管支援的自訂策略列表,請參見自訂權限原則。查看所有工作空間資訊的自訂策略指令碼樣本如下。

      {
          "Version": "1",
          "Statement":  [
              {
                  "Action": "stream:DescribeVvpInstances",
                  "Resource": "*",
                  "Effect": "Allow"
              }
          ]
      }
  5. 單擊確認新增授權

  6. 單擊關閉

系統權限原則

權限原則

名稱

說明

Realtime Compute(Stream)服務所有許可權

AliyunStreamFullAccess

包括自訂權限原則中所有的許可權。

唯讀訪問Realtime Compute(Stream)服務

AliyunStreamReadOnlyAccess

包含自訂權限原則中所有以Describe和Query開頭的許可權。

費用中心(BSS)的許可權

AliyunBSSOrderAccess

在費用中心(BSS)查看訂單、支付訂單的許可權。

自訂權限原則

Flink全託管權限原則

說明

權限原則中Action表示要執行的操作,Resource表示要操作的對象,Effect表示授權效果是允許還是禁止。權限原則文法和結構的詳情請參見權限原則文法和結構。您需要將策略內容中的以下參數替換為您的實際值。需要替換的參數如下:

  • {#regionId}:目標Flink全託管工作空間所在的地區。

  • {#accountId}:阿里雲帳號的uid。

  • {#instanceId}:目標Flink全託管訂單一實例ID。

  • {#namespace}:目標專案空間的名稱。

  • Flink全託管工作空間

    許可權

    策略內容

    新購Flink全託管

    {
        "Version": "1",
        "Statement": [
            {
                "Action": "stream:CreateVvpInstance",
                "Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/*",
                "Effect": "Allow"
            }
        ]
    }

    查看工作空間

    {
        "Version": "1",
        "Statement": [
            {
                "Action": "stream:DescribeVvpInstances",
                "Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/*",
                "Effect": "Allow"
            }
        ]
    }

    釋放隨用隨付工作空間

    {
        "Version": "1",
        "Statement": [
            {
                "Action": "stream:DeleteVvpInstance",
                "Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#instanceId}",
                "Effect": "Allow"
            }
        ]
    }

    工作空間續約(訂用帳戶)

    {
        "Version": "1",
        "Statement": [
            {
                "Action": "stream:RenewVvpInstance",
                "Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#InstanceId}",
                "Effect": "Allow"
            }
        ]
    }

    訂用帳戶工作空間擴縮容

    {
        "Version": "1",
        "Statement": [
            {
                "Action": "stream:ModifyVvpPrepayInstanceSpec",
                "Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#instanceId}",
                "Effect": "Allow"
            }
        ]
    }

    隨用隨付工作空間配額上限調整

    {
        "Version": "1",
        "Statement": [
            {
                "Action": "stream:ModifyVvpInstanceSpec",
                "Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#instanceId}",
                "Effect": "Allow"
            }
        ]
    }

    變更工作空間付費模式

    {
        "Version": "1",
        "Statement": [
            {
                "Action": "stream:ConvertVvpInstance",
                "Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#InstanceId}",
                "Effect": "Allow"
            }
        ]
    }

    查詢工作空間建立價格

    {
        "Version": "1",
        "Statement": [
            {
                "Action": "stream:QueryCreateVvpInstance",
                "Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/*",
                "Effect": "Allow"
            }
        ]
    }

    查詢工作空間續約價格

    {
        "Version": "1",
        "Statement": [
            {
                "Action": "stream:QueryRenewVvpInstance",
                "Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#InstanceId}",
                "Effect": "Allow"
            }
        ]
    }

    查詢工作空間擴縮容價格

    {
        "Version": "1",
        "Statement": [
            {
                "Action": "stream:QueryModifyVvpPrepayInstanceSpec",
                "Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#InstanceId}",
                "Effect": "Allow"
            }
        ]
    }

    查詢隨用隨付轉訂用帳戶價格

    {
        "Version": "1",
        "Statement": [
            {
                "Action": "stream:QueryConvertVvpInstance",
                "Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#InstanceId}",
                "Effect": "Allow"
            }
        ]
    }
  • Flink全託管專案空間

    重要

    在設定項目空間許可權資訊前,您需要先配置查看已建立的工作空間(DescribeVvpInstances)的許可權,否則會報缺少許可權的錯誤。

    許可權

    策略內容

    建立專案空間

    {
        "Version": "1",
        "Statement": [
            {
                "Action": "stream:CreateVvpNamespace",
                "Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#instanceId}/vvpnamespace/*",
                "Effect": "Allow"
            }
        ]
    }

    刪除專案空間

    {
        "Version": "1",
        "Statement": [
            {
                "Action": "stream:DeleteVvpNamespace",
                "Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#instanceId}/vvpnamespace/{#namespace}",
                "Effect": "Allow"
            }
        ]
    }

    訂用帳戶專案空間資源變更

    {
        "Version": "1",
        "Statement": [
            {
                "Action": "stream:ModifyVvpPrepayNamespaceSpec",
                "Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#instanceId}/vvpnamespace/{#namespace}",
                "Effect": "Allow"
            }
        ]
    }

    隨用隨付專案空間資源變更

    {
        "Version": "1",
        "Statement": [
            {
                "Action": "stream:ModifyVvpNamespaceSpec",
                "Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#instanceId}/vvpnamespace/{#namespace}",
                "Effect": "Allow"
            }
        ]
    }

    查看專案空間列表

    {
        "Version": "1",
        "Statement": [
            {
                "Action": "stream:DescribeVvpNamespaces",
                "Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#instanceId}/vvpnamespace/*",
                "Effect": "Allow"
            }
        ]
    }
    說明

    配置該策略後,單擊目標工作空間ID左側的image.png表徵圖,您就能查看該工作空間下建立的專案空間列表資訊。如果您還需要進入到目標專案空間開發控制台,還需要被授權對應專案空間的作業開發許可權,詳情請參見專案空間授權

相關產品的許可權操作

ECS相關許可權操作

為了能從公網訪問開發控制台,需要在您帳號下開通Elastic IP Address(EIP)。此外,為了連通VPC內的資源,需要在VPC下建立彈性網卡(ENI)。這些ENI會被添加到Flink Serverless專屬安全性群組中,此時Flink服務需要有對EIP、安全性群組和ENI的操作許可權。

操作(Action)

說明

ecs:AssociateEipAddress

申請EIP地址,您可以通過公網訪問Flink服務。

ecs:AttachNetworkInterface

允許Flink服務將您的彈性網卡綁定到Flink資源集區。

ecs:AuthorizeSecurityGroup

Flink產品會建立一個新的安全性群組,該許可權用於增加該安全性群組內一條入方向安全性群組規則。

ecs:AuthorizeSecurityGroupEgress

Flink產品會建立一個新的安全性群組,該許可權用於增加該安全性群組內一條出方向安全性群組規則。

ecs:CreateNetworkInterface

允許Flink服務建立您VPC內的彈性網卡,支援Flink服務串連您的VPC。

ecs:CreateNetworkInterfacePermission

允許Flink服務授權彈性網卡許可權。

ecs:CreateSecurityGroup

Flink產品會建立一個新的安全性群組,該許可權用於建立安全性群組。

ecs:DeleteNetworkInterface

Flink任務結束後刪除對應資源的彈性網卡。

ecs:DeleteNetworkInterfacePermission

允許Flink服務擁有您的彈性網卡解除綁定許可權。

ecs:DeleteSecurityGroup

Flink產品會建立一個新的安全性群組,該許可權用於刪除該安全性群組。

ecs:DescribeNetworkInterfacePermissions

允許您的彈性網卡從Flink Serverless資源集區解除綁定。

ecs:DescribeNetworkInterfaces

允許Flink服務查詢彈性網卡。

ecs:DescribeSecurityGroupAttribute

允許Flink服務查詢一個安全性群組的安全性群組規則。

ecs:DescribeSecurityGroupReferences

允許Flink服務查詢安全性群組及安全性群組層級的授權行為。

ecs:DescribeSecurityGroups

允許Flink服務查詢建立的安全性群組的基本資料。

ecs:DetachNetworkInterface

允許Flink服務將您的彈性網卡從Flink資源集區解除綁定。

ecs:JoinSecurityGroup

允許Flink服務將彈性網卡加入指定安全性群組。

ecs:LeaveSecurityGroup

允許Flink服務將彈性網卡移除指定安全性群組。

ecs:ModifyNetworkInterfaceAttribute

允許Flink服務修改一個彈性網卡的名稱、描述以及所屬安全性群組等。

ecs:ModifySecurityGroupAttribute

允許Flink服務修改一個安全性群組的名稱或者描述。

ecs:ModifySecurityGroupPolicy

允許Flink服務修改安全性群組內的連通策略。

ecs:ModifySecurityGroupRule

允許Flink服務修改安全性群組入方向規則的描述資訊。

ecs:RevokeSecurityGroup

允許Flink刪除一條安全性群組入方向的許可權。

ecs:RevokeSecurityGroupEgress

允許Flink刪除一條安全性群組出方向的許可權。

ecs:UnassociateEipAddress

允許Flink服務釋放EIP。

OSS相關許可權操作

為了使您能夠查看OSS Bucket列表,需要您開通OSS相關許可權。

操作(Action)

說明

oss:ListBuckets

允許Flink服務查看OSS Bucket列表。

oss:GetBucketInfo

擷取儲存空間(Bucket)的相關資訊。

oss:GetObjectMetadata

擷取某個檔案的元資訊。

oss:GetObject

擷取某個檔案。

oss:ListObjects

列舉儲存空間(Bucket)中所有檔案(Object)的資訊。

oss:PutObject

上傳檔案。

oss:CopyObject

拷貝同一地區下相同或不同儲存空間(Bucket)之間的檔案(Object)。

oss:CompleteMultipartUpload

在將所有資料Part都上傳完成後來完成整個檔案的分區上傳。

oss:AbortMultipartUpload

取消MultipartUpload事件並刪除對應的Part資料。

oss:InitiateMultipartUpload

使用Multipart Upload模式傳輸資料前,通知OSS初始化一個Multipart Upload事件。

oss:UploadPartCopy

從一個已存在的Object中拷貝資料來上傳一個Part。

oss:UploadPart

根據指定的Object名和uploadId來分塊(Part)上傳資料。

oss:DeleteObject

刪除某個檔案(Object)。

oss:PutBucketcors

為指定的儲存空間(Bucket)設定跨域資源共用CORS(Cross-Origin Resource Sharing)規則。

oss:GetBucketCors

擷取指定儲存空間(Bucket)當前的跨域資源共用CORS(Cross-Origin Resource Sharing)規則。

oss:PutBucket

建立儲存空間(Bucket)。

說明

如果您使用OSS的KMS加密能力,則需要對AliyunStreamAsiDefaultRole角色增加KMS的相關權限原則,才能正常使用。策略詳情請參見上傳檔案至設定了預設加密方式的Bucket

ARMS相關許可權操作

Flink的指標會存入ARMS,因此會為您開通ARMS服務。

操作(Action)

說明

arms:ListDashboards

查看ARMS大盤資訊。

arms:CreateContact

建立連絡人。

arms:DeleteContact

刪除連絡人。

arms:SearchContact

尋找連絡人。

arms:UpdateContact

更新連絡人。

arms:CreateContactGroup

建立連絡人群組。

arms:DeleteContactGroup

刪除連絡人群組。

arms:SearchContactGroup

尋找連絡人群組。

arms:UpdateContactGroup

更新連絡人群組。

arms:SearchAlertRules

尋找警示規則。

arms:CreateAlertRules

建立警示規則。

arms:UpdateAlertRules

更新警示規則。

arms:DeleteAlertRules

刪除警示規則。

arms:StartAlertRule

啟動警示規則。

arms:StopAlertRule

暫停警示規則。

arms:SearchAlarmHistories

查看歷史警示資訊。

arms:OpenArmsService

開通ARMS服務。

arms:CreateWebhook

建立Webhook。

arms:UpdateWebhook

更新Webhook。

arms:CreateDispatchRule

建立指派規則。

arms:ListDispatchRule

查看指派規則列表。

arms:DeleteDispatchRule

刪除指派規則。

arms:UpdateDispatchRule

更新指派規則。

arms:DescribeDispatchRule

查看指派規則詳情。

VPC相關許可權操作

開通Flink工作空間的過程中,需要VPC內資源的Describe許可權。

操作(Action)

說明

vpc:DescribeVpcAttribute

允許Flink服務查詢指定VPC的配置資訊。

vpc:DescribeVpcs

允許Flink服務查詢已經建立的VPC。

vpc:DescribeVSwitchAttributes

允許Flink服務查詢指定交換器的資訊。

vpc:DescribeVSwitches

允許Flink服務查詢已建立的交換器。

vpc:DescribeRouteTableList

允許Flink服務查詢路由表列表。

vpc:DescribeRouteTables

允許Flink服務查詢指定路由表。

vpc:DescribeRouteEntryList

允許Flink服務查詢路由表條目列表。

vpc:DescribeRouterInterfaceAttribute

允許Flink服務查詢路由器介面配置。

vpc:DescribeRouterInterfaces

允許Flink服務查詢路由器介面。

vpc:DescribeVRouters

允許Flink服務查詢指定地區的路由器列表。

vpc:CreateVpc

建立專用網路。

vpc:CreateVSwitch

建立交換器。

RAM相關許可權操作

開通Flink工作空間的過程中,需要RAM相關許可權進行資源配置。

操作(Action)

說明

ram:*

可以增刪改查domain和application這兩個RAM資源。

DLF相關許可權操作

開通Flink工作空間的過程中,需要DLF許可權用於訪問DLF相關的Catalog。

操作(Action)

說明

dlf:BatchCreatePartitions

大量建立分區。

dlf:BatchCreateTables

大量建立表。

dlf:BatchDeletePartitions

大量刪除分區。

dlf:BatchDeleteTables

大量刪除表。

dlf:BatchGetPartitions

批量擷取分區。

dlf:BatchGetTables

批量擷取表。

dlf:BatchUpdatePartitions

批次更新分區。

dlf:BatchUpdateTables

批次更新表。

dlf:CreateCatalog

建立資料湖Catalog。

dlf:CreateDatabase

建立資料庫。

dlf:CreateFunction

建立函數。

dlf:CreatePartition

建立分區。

dlf:CreateTable

建立表。

dlf:DeleteCatalog

刪除資料湖Catalog。

dlf:DeleteDatabase

刪除資料庫。

dlf:DeleteFunction

刪除函數。

dlf:DeletePartition

刪除分區。

dlf:DeleteTable

刪除表。

dlf:GetAsyncTaskStatus

擷取非同步任務狀態。

dlf:GetCatalog

擷取資料湖Catalog。

dlf:GetCatalogByInstanceId

通過InstanceId擷取Catalog。

dlf:GetCatalogSettings

擷取資料湖配置。

dlf:GetDatabase

擷取資料庫。

dlf:GetFunction

擷取函數。

dlf:GetPartition

擷取分區。

dlf:GetTable

擷取表。

dlf:ListCatalogs

擷取Catalog列表。

dlf:ListDatabases

擷取資料庫列表。

dlf:ListFunctionNames

擷取函數名列表。

dlf:ListFunctions

擷取函數列表。

dlf:ListPartitionNames

擷取分區名列表。

dlf:ListPartitions

擷取分區列表。

dlf:ListPartitionsByExpr

通過運算式擷取分區列表。

dlf:ListPartitionsByFilter

通過過濾器擷取分區列表。

dlf:ListTableNames

擷取表名列表。

dlf:ListTables

擷取表列表。

dlf:RenamePartition

重新命名分區。

dlf:RenameTable

重新命名表格。

dlf:UpdateCatalog

更新資料湖Catalog。

dlf:UpdateDatabase

更新資料庫。

dlf:UpdateFunction

更新函數。

dlf:UpdateTable

更新表。

dlf:BatchGetPartitionColumnStatistics

批量擷取中繼資料分區統計資訊。

dlf:DeletePartitionColumnStatistics

刪除中繼資料表分區統計資訊。

dlf:DeleteTableColumnStatistics

刪除中繼資料表統計資訊。

dlf:GetPartitionColumnStatistics

擷取中繼資料分區欄位的統計資訊。

dlf:GetTableColumnStatistics

擷取中繼資料表欄位的統計資訊。

dlf:UpdateTableColumnStatistics

更新中繼資料表統計資訊。

dlf:UpdatePartitionColumnStatistics

更新中繼資料表分區統計資訊。

dlf:CreateLock

建立中繼資料鎖。

dlf:UnLock

解鎖指定的中繼資料鎖。

dlf:AbortLock

中止中繼資料鎖。

dlf:RefreshLock

重新整理中繼資料鎖。

dlf:GetLock

查詢中繼資料鎖。

dlf:GetCatalogAccessInfo

使用CatalogUuid,擷取StorageName、StorageEndpoint等後端儲存相關資訊。

dlf:GetDataToken

使用UUID擷取Catalog級或Table級資料密鑰。

dlf:GetDataTokenByName

使用CatalogUuid、DatabaseName、TableName,擷取Catalog級或Table級資料密鑰。

dlf-auth:ActOnBehalfOfAnotherUser

身份透傳,SLR或SR代表另一個使用者訪問DLF。

dlf:GrantPermissions

賦予Principal資源的許可權。

dlf:RevokePermissions

取消Principal資源的許可權。

dlf:BatchGrantPermissions

大量授權。

dlf:BatchRevokePermissions

批量取消授權。

dlf:UpdatePermissions

更新Principal資源的許可權。

dlf:ListPermissions

擷取指定資源或指定Principal的許可權資訊。

dlf:CreateRole

建立角色。

dlf:UpdateRole

更新角色。

dlf:DeleteRole

刪除角色。

dlf:GetRole

擷取角色。

dlf:ListRoles

查詢角色列表。

dlf:GrantRolesToUser

批量授予指定使用者多個角色許可權。

dlf:RevokeRolesFromUser

批量取消授予指定使用者多個角色許可權。

dlf:GrantRoleToUsers

批量授予多個使用者指定角色許可權。

dlf:RevokeRoleFromUsers

批量取消授予多個使用者指定角色許可權。

dlf:UpdateRoleUsers

更新角色中的使用者。

dlf:ListRoleUsers

查詢角色使用者列表。

dlf:ListUserRoles

查詢使用者角色列表。

dlf:GrantRolesToPrincipal

批量授予指定Principal多個角色許可權。

dlf:RevokeRolesFromPrincipal

批量取消授予指定Principal多個角色許可權。

dlf:GrantRoleToPrincipals

批量授予多個Principal指定角色許可權。

dlf:RevokeRoleFromPrincipals

批量取消授予多個Principal指定角色許可權。

dlf:UpdateRolePrincipals

更新角色中的Principal。

dlf:BatchDeleteRoles

大量刪除角色。

dlf:CheckPermissions

檢查許可權。

dlf:GetCatalogStorageStatistics

擷取目錄統計指標。

dlf:GetCatalogStorageIndicatorDetails

擷取目錄指標趨勢。

dlf:GetCatalogStorageRank

擷取目錄存放統計排名。

dlf:GetCatalogStorageAnalysis

擷取目錄存放分布資料。

dlf:GetDatabaseProfile

擷取庫資料概況。

dlf:GetDatabaseStorageAnalysis

擷取庫儲存分布資料。

dlf:GetTableProfile

擷取表資料概況。

dlf:GetTableStorageAnalysis

擷取表格儲存體分布資料。

dlf:ListPartitionProfiles

擷取分區資料概況列表。

dlf:getLatestStorageStatisticsDate

擷取儲存概覽資料最新動向時間。

dlf:SubscribeOptimize

提交最佳化。

dlf:GetOptimizeRegionStatus

擷取最佳化地區狀態。

dlf:GetOptimizeWorkspaceAuthorization

擷取最佳化工作空間鑒權。

dlf:AddOptimizeWorkspace

添加最佳化工作空間。

dlf:ListOptimizeWorkspaces

擷取最佳化工作空間列表。

dlf:PreCheckOptimizeWorkspaceConnection

預檢查最佳化工作空間串連。

dlf:CheckOptimizeWorkspaceConnection

檢查最佳化工作空間串連。

dlf:DeleteOptimizeWorkspace

刪除最佳化工作空間。

dlf:SetOptimizeEnable

設定儲存最佳化開關。

dlf:SetOptimizePolicy

設定儲存最佳化策略。

dlf:GetOptimizePolicy

擷取儲存最佳化策略。

dlf:SetOptimizeScheduleRule

添加儲存最佳化調度規則。

dlf:ListOptimizeScheduleRules

擷取最佳化調度列表。

dlf:DeleteOptimizeScheduleRule

刪除儲存最佳化調度規則。

dlf:RunOptimizeImmediately

立即運行儲存管理最佳化。

dlf:GetOptimizeInfo

擷取最佳化資訊。

dlf:UpdateOptimizeTaskResult

更新儲存最佳化任務結果。

相關文檔