This topic describes how to grant the operation permissions on CloudLens for RDS to a RAM user.

Prerequisites

A RAM user is created. For more information, see Create a RAM user.

Background information

You can grant the operation permissions on CloudLens for RDS to a RAM user in one of the following modes:
  • Simple mode: You can grant all permissions on Log Service to the RAM user. You do not need to configure parameters.
  • Custom mode: You can create custom policies and attach the policies to the RAM user. This mode allows you to perform fine-grained access control, but requires complex configurations.

Simple mode

Log on to the RAM console by using your Alibaba Cloud account. Then, attach the AliyunLogFullAccess and AliyunRAMFullAccess policies to the RAM user. This way, the RAM user has all permissions on Log Service. For more information, see Grant permissions to the RAM user.

Custom mode

  1. Log on to the RAM console by using your Alibaba Cloud account.
  2. Create a policy.
    1. In the left-side navigation pane, choose Permissions > Policies.
    2. On the Policies page, click Create Policy.
    3. On the Create Policy page, click the JSON tab, replace the existing script in the editor with the following script, and then click Next to edit policy information.
      You can grant the RAM user the read-only permissions or read and write permissions on CloudLens for RDS.
      • Read-only permissions: Use the following script to authorize the RAM user only to view each page of CloudLens for RDS.
        {
            "Statement": [
               {
                    "Action": [
                        "rds:DescribeSqlLogInstances",
                        "rds:DisableSqlLogDistribution"
                    ],
                    "Resource": "*",
                    "Effect": "Allow"
                },
                {
                    "Action": [
                        "log:GetLogStore",
                        "log:ListLogStores",
                        "log:GetIndex",
                        "log:GetLogStoreHistogram",
                        "log:GetLogStoreLogs",
                        "log:GetDashboard",
                        "log:ListDashboard",
                        "log:ListSavedSearch",
                        "log:GetProjectLogs"
                    ],
                    "Resource": [
                        "acs:log:*:*:project/*/logstore/*",
                        "acs:log:*:*:project/*/dashboard/*",
                        "acs:log:*:*:project/*/savedsearch/*"
                    ],
                    "Effect": "Allow"
                },
                {
                    "Action": "log:GetProductDataCollection",
                    "Resource": [
                        "acs:log:*:*:project/*/logstore/*",
                        "acs:rds:*:*:dbinstance/*"
                    ],
                    "Effect": "Allow"
                }
            ],
            "Version": "1"
        }
      • Read and write permissions: Use the following script to authorize the RAM user to perform all operations that are supported by CloudLens for RDS.
        {
            "Statement": [
                {
                    "Action": [
                        "rds:DescribeSqlLogInstances",
                        "rds:DisableSqlLogDistribution",
                        "rds:DisableSqlLogDistribution",
                        "rds:EnableSqlLogDistribution",
                        "rds:ModifySQLCollectorPolicy"
                    ],
                    "Resource": "*",
                    "Effect": "Allow"
                },
                {
                    "Action": [
                        "log:GetLogStore",
                        "log:ListLogStores",
                        "log:GetIndex",
                        "log:GetLogStoreHistogram",
                        "log:GetLogStoreLogs",
                        "log:GetDashboard",
                        "log:ListDashboard",
                        "log:ListSavedSearch",
                        "log:CreateLogStore",
                        "log:CreateIndex",
                        "log:UpdateIndex",
                        "log:ListLogStores",
                        "log:GetLogStore",
                        "log:GetLogStoreLogs",
                        "log:CreateDashboard",
                        "log:CreateChart",
                        "log:UpdateDashboard",
                        "log:UpdateLogStore",
                        "log:GetProjectLogs"
                    ],
                    "Resource": [
                        "acs:log:*:*:project/*/logstore/*",
                        "acs:log:*:*:project/*/dashboard/*",
                        "acs:log:*:*:project/*/savedsearch/*"
                    ],
                    "Effect": "Allow"
                },
                {
                    "Action": [
                        "log:GetProductDataCollection",
                        "log:OpenProductDataCollection",
                        "log:CloseProductDataCollection"
                    ],
                    "Resource": [
                        "acs:log:*:*:project/*/logstore/*",
                        "acs:rds:*:*:dbinstance/*"
                    ],
                    "Effect": "Allow"
                },
                {
                    "Action": [
                        "log:SetGeneralDataAccessConfig"
                    ],
                    "Resource": [
                        "acs:log:*:*:resource/sls.general_data_access.rds.global_conf.standard_channel/record"
                    ],
                    "Effect": "Allow"
                },
                {
                    "Action": "ram:CreateServiceLinkedRole",
                    "Resource": "*",
                    "Effect": "Allow",
                    "Condition": {
                        "StringEquals": {
                            "ram:ServiceName": "audit.log.aliyuncs.com",
                            "ram:ServiceName": "rds.aliyuncs.com"
                        }
                    }
                }
            ],
            "Version": "1"
        }
    4. Configure the Name parameter and click OK.
      In this example, set the Name parameter to log-rds-policy.
  3. Attach the policy to the RAM user.
    1. In the left-side navigation pane, choose Identities > Users.
    2. On the Users page, find the RAM user to which you want to attach the policy and click Add Permissions in the Actions column.
    3. In the Select Policy section of the Add Permissions panel, click Custom Policy. Then, select the policy that you created in Step 2 Click OK.
    4. Verify that the policy is attached to the RAM user and click Complete.