To access the Realtime Compute for Apache Flink console using a Resource Access Management (RAM) user or RAM role and perform operations such as viewing, purchasing, or deleting workspaces, you must have the required permissions. For security purposes, the Alibaba Cloud account administrator who purchased the Flink workspace must attach the appropriate access policies to all principals in the RAM console. This topic describes the supported access policies and specific authorization configurations.
Authorization scenarios
|
Scenario |
Interface |
Description |
|
Unable to access the Realtime Compute for Apache Flink console |
You cannot view any workspace information, and the following error message appears.
|
This error indicates that you do not have the permissions to access the Realtime Compute for Apache Flink console. Contact the Alibaba Cloud account administrator who purchased the workspace to grant your account at least read-only permissions for Realtime Compute for Apache Flink (AliyunStreamReadOnlyAccess). For more information, see Authorization procedure. After the authorization is complete, re-enter or refresh the page to access the console. |
|
Unable to perform a specific operation |
|
This error indicates that the current account does not have the permissions to perform this operation. To perform the operation, contact the Alibaba Cloud account administrator who purchased the workspace to adjust the custom policy based on your requirements and complete the authorization. For more information, see Authorization procedure. For example, as shown in the figure on the left, your account needs to be granted permissions related to resource allocation for subscription workspaces. |
Policy types
An access policy is a set of permissions described using policy syntax and structure. You can use an access policy to specify the authorized resource set, operation set, and authorization conditions. The RAM console supports the following types of access policies:
-
System policies: System policies are created by Alibaba Cloud. You can use but cannot modify these policies. Alibaba Cloud maintains the version updates of these policies. The following table describes the system policies that Flink supports.
Access policy
Name
Description
Full access to Realtime Compute for Apache Flink
AliyunStreamFullAccess
Includes all permissions in Custom policies.
Read-only access to Realtime Compute for Apache Flink
AliyunStreamReadOnlyAccess
Includes the HasStreamDefaultRole permission and all permissions that start with Describe, Query, Check, List, Get, and Search in Realtime Compute for Apache Flink permission policies.
Permissions to view and pay for orders in Fee Hub (BSS)
AliyunBSSOrderAccess
The permissions to view and pay for orders in User Center.
Unsubscribe operation permission in Fee Hub (BSS)
AliyunBSSRefundAccess
The permission to unsubscribe from orders in User Center.
-
Custom policies: You can create, update, and delete custom policies. You are responsible for maintaining the version updates of your custom policies. For more information about the custom policies that Flink supports and how to create a custom policy, see Realtime Compute for Apache Flink permission policies and (Optional) Step 1: Create a custom policy.
Prerequisites
You are familiar with the authorization instructions.
Authorization procedure
(Optional) Step 1: Create a custom policy
If you want to use the AliyunStreamFullAccess system policy, you can skip this step.
When you create a custom policy, we recommend that you use the read-only permissions for Realtime Compute for Apache Flink as a basis and then add more fine-grained access control points as needed. These access control points include the custom policies and permission operations for related products that Realtime Compute for Apache Flink supports. The following code provides the details of a custom policy that grants read-only permissions for Realtime Compute for Apache Flink. The permission scope is the same as that of the AliyunStreamReadOnlyAccess system policy.
{
"Version": "1",
"Statement": [
{
"Action": [
"stream:Describe*",
"stream:Query*",
"stream:Check*",
"stream:List*",
"stream:Get*",
"stream:Search*",
"stream:HasStreamDefaultRole"
],
"Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#instanceId}/vvpnamespace/{#namespace}",
"Effect": "Allow"
}
]
}
-
For more information about how to create a custom policy and for examples, see Create a custom policy and Custom policy examples.
-
In an access policy, Action defines the operation, Resource defines the target object, and Effect defines whether the operation is allowed or denied. For more information about the syntax and structure of access policies, see Policy elements and Policy structure and syntax. Replace the parameters in the policy with your actual values. The following table describes these parameters.
-
{#regionId}: The region where the destination Flink workspace resides.
{#accountId}: The UID of the Alibaba Cloud account.
{#instanceId}: The ID of the destination Realtime Compute for Apache Flink order instance.
{#namespace}: The name of the destination project.
-
Step 2: Attach the target policy to a member
You can attach an access policy to a RAM user or RAM role to grant the permissions specified in the policy. This section describes how to grant permissions to a RAM user. The procedure for granting permissions to a RAM role is similar. For more information, see Manage RAM roles.
Log on to the RAM console as a RAM administrator.
In the left-side navigation pane, choose .
On the Users page, find the required RAM user, and click Add Permissions in the Actions column.

You can also select multiple RAM users and click Add Permissions in the lower part of the page to grant permissions to the RAM users at a time.
In the Add Permissions panel, add permissions to the RAM user.

Parameter
Description
Scope
Select the required application scope:
Alibaba Cloud Account: The permissions take effect within the current Alibaba Cloud account.
Specific Resource Group: The permissions take effect within the specified resource group.
Principal
The principal to which you want to grant permissions. The value is the RAM user that you want to authorize. The system automatically specifies the current RAM user. You can also add other RAM users.
Access Policy
Select a system policy or a custom policy that you have created.
Click the Confirm New Authorization button.
Click Close.
Step 3: Log on to the console after authorization
After the authorization is complete, the RAM user or RAM role can log on to the Realtime Compute for Apache Flink console or refresh the current page to perform the related operations.
Logon type | Logon method | How to log on |
Alibaba Cloud RAM user | Log on as a RAM user | Log in to the Alibaba Cloud Management Console as a RAM user |
Alibaba Cloud RAM role | A RAM user of Alibaba Cloud account A assumes a role of account A to log on | |
A RAM user of Alibaba Cloud account B assumes a role of account A to log on | ||
Resource directory member | A RAM user of the management account assumes a RAM role of a member to log on | For more information, see Log on to the Alibaba Cloud console by assuming a RAM role. |
Log on as a RAM user of a member | Sign in to the Alibaba Cloud Management Console as a RAM user | |
Log on as an Alibaba Cloud account (root user) (not recommended) | Log in to the Alibaba Cloud Management Console as the root user (not recommended) | |
A CloudSSO user logs on by assuming a RAM role | Use CloudSSO to centrally manage identities and permissions across multiple enterprise accounts | |
A CloudSSO user logs on as a RAM user |
Custom policy examples
Example 1: A RAM user activates a Realtime Compute for Apache Flink workspace
Example 2: A RAM user activates a Realtime Compute for Apache Flink workspace (with an existing system policy)
Example 3: A RAM user releases a subscription Flink workspace
Example 4: A RAM user releases a pay-as-you-go Flink workspace
Example 5: A RAM user allocates resources for a project
Custom policies
Realtime Compute for Apache Flink permission policies
Before you configure permissions for a project, you must configure the permission to view existing workspaces (DescribeVvpInstances). Otherwise, a permission error occurs.
Flink workspaces
{
"Version": "1",
"Statement": [
{
"Action": [
"stream:CreateVvpInstance",
"stream:DescribeVvpInstances",
"stream:DeleteVvpInstance",
"stream:RenewVvpInstance",
"stream:ModifyVvpPrepayInstanceSpec",
"stream:ModifyVvpInstanceSpec",
"stream:ConvertVvpInstance",
"stream:QueryCreateVvpInstance",
"stream:QueryRenewVvpInstance",
"stream:QueryModifyVvpPrepayInstanceSpec",
"stream:QueryConvertVvpInstance"
],
"Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#InstanceId}",
"Effect": "Allow"
}
]
}action | Description |
CreateVvpInstance | Purchase a Realtime Compute for Apache Flink workspace. |
DescribeVvpInstances | View workspaces. |
DeleteVvpInstance | Release a Flink workspace. |
RenewVvpInstance | Renew a subscription workspace. |
ModifyVvpPrepayInstanceSpec | Scale a subscription workspace. |
ModifyVvpInstanceSpec | Adjust the quota of a pay-as-you-go workspace. |
ConvertVvpInstance | Change the billing method of a workspace. |
QueryCreateVvpInstance | Query the price for creating a workspace. |
QueryRenewVvpInstance | Query the price for renewing a workspace. |
QueryModifyVvpPrepayInstanceSpec | Query the price for scaling a workspace. |
QueryConvertVvpInstance | Query the price for changing the billing method from pay-as-you-go to subscription. |
When purchasing a Realtime Compute for Apache Flink workspace and viewing workspaces, you can change Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#instanceId} to "Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/*".
Flink projects
{
"Version": "1",
"Statement": [
{
"Action": [
"stream:CreateVvpNamespace",
"stream:DeleteVvpNamespace",
"stream:ModifyVvpPrepayNamespaceSpec",
"stream:ModifyVvpNamespaceSpec",
"stream:DescribeVvpNamespaces"
],
"Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#instanceId}/vvpnamespace/{#namespace}",
"Effect": "Allow"
}
]
}action | Description |
CreateVvpNamespace | Create a project. |
DeleteVvpNamespace | Delete a project. |
ModifyVvpPrepayNamespaceSpec | Change the resources of a subscription project. |
ModifyVvpNamespaceSpec | Change the resources of a pay-as-you-go project. |
DescribeVvpNamespaces | View a list of projects. After you configure this policy, you can click the |
When creating a project and viewing a list of projects, you can change "Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#instanceId}/vvpnamespace/{#namespace}", to "Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#instanceId}/vvpnamespace/*",.
Permission operations for related products
ECS-related permission operations
OSS-related permission operations
ARMS-related permission operations
VPC-related permission operations
RAM-related permission operations
TAG-related permission points
DLF-related permission operations
References
If you want multiple users to share a project in Flink and perform operations such as job development and O&M in the Realtime Compute for Apache Flink development console, you must authorize the project. For more information, see Development console authorization.
For more information, see Why am I unable to go to the RAM console after I click Authorize in RAM during service activation?.
For more information, see Why am I prompted with a message indicating that the current account does not have the required permissions when I log on to the Realtime Compute for Apache Flink console?.
For more information, see Why cannot a RAM user view jobs after the AliyunStreamFullAccess policy is attached?
For more information, see What do I do if I accidentally delete a role or change an authorization policy and the Realtime Compute for Apache Flink service becomes unavailable?


icon to the left of a destination workspace ID to view the list of projects that are created in the workspace. If you want to go to the development console of a destination project, you must be granted the permissions to develop jobs in the project. For more information, see