All Products
Search
Document Center

OpenSearch:RAM authorization

Last Updated:Oct 16, 2024
Resource Access Management (RAM) is a service provided by Alibaba Cloud to manage user identities and resource access permissions. You can use RAM to prevent RAM users from sharing the AccessKey pairs of your Alibaba Cloud account. You can also use RAM to grant minimum permissions to RAM users. RAM uses policies to define permissions.
This topic describes the elements, such as Action, Resource, and Condition, which are defined by SearchEngine. You can use the elements to create policies in RAM. The code (RamCode) in RAM that is used to indicate SearchEngine is searchengine. You can grant permissions on SearchEngine at the RESOURCE.

General structure of a policy

Policies can be stored as JSON files. The following code provides an example on the general structure of a policy:
{
  "Version": "1",
  "Statement": [
    {
      "Effect": "<Effect>",
      "Action": "<Action>",
      "Resource": "<Resource>",
      "Condition": {
        "<Condition_operator>": {
          "<Condition_key>": [
            "<Condition_value>"
          ]
        }
      }
    }
  ]
}
The following list describes the fields in the policy:
  • Effect: specifies the authorization effect. Valid values: Allow, Deny.
  • Action: specifies one or more API operations that are allowed or denied. For more information, see the Action section of this topic.
  • Resource: specifies one or more resources to which the policy applies. You can use an Alibaba Cloud Resource Name (ARN) to specify a resource. For more information, see the Resource section of this topic.
  • Condition: specifies one or more conditions that are required for the policy to take effect. This is an optional field. For more information, see the Condition section of this topic.
    • Condition_operator: specifies the conditional operators. Different types of conditions support different conditional operators. For more information, see Policy elements.
    • Condition_key: specifies the condition keys.
    • Condition_value: specifies the condition values.

Action

SearchEngine defines the values that you can use in the Action element of a policy statement. The following table describes the values.
  • Operation: the value that you can use in the Action element to specify the operation on a resource.
  • API operation: the API operation that you can call to perform the operation.
  • Access level: the access level of each operation. The levels are read, write, and list.
  • Resource type: the type of the resource on which you can authorize the RAM user or the RAM role to perform the operation. Take note of the following items:
    • The required resource types are displayed in bold characters.
    • If the permissions cannot be granted at the resource level, All Resources is used in the Resource type column of the operation.
  • Condition key: the condition keys that are defined by the Alibaba Cloud service. The Condition key column does not list the common condition keys that are defined by Alibaba Cloud. For more information about the common condition keys, see Generic Condition Keyword.
  • Associated operation: other operations that the RAM user or the RAM role must have permissions to perform to complete the operation. To complete the operation, the RAM user or the RAM role must have the permissions to perform the associated operations.
ActionsAPI operationAccess levelResource typeCondition keyAssociated operation
searchengine:ListDateSourceGenerationsListDateSourceGenerationslist
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#instanceId}
NoneNone
searchengine:ModifyPasswordModifyPasswordupdate
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:DeleteAliasDeleteAliasdelete
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:CreatePublicUrlCreatePublicUrlcreate
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ListDataSourceSchemasListDataSourceSchemaslist
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#instanceId}
NoneNone
searchengine:ListInstanceSpecsListInstanceSpecsget
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#instanceId}
NoneNone
searchengine:GetAdvanceConfigGetAdvanceConfigget
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:CreateDataSourceCreateDataSourcecreate
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:GetIndexOnlineStrategyGetIndexOnlineStrategyget
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#instanceId}
NoneNone
searchengine:ListAdvanceConfigDirListAdvanceConfigDirlist
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#instanceId}
NoneNone
searchengine:GetIndexVersionGetIndexVersionget
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ListSchemasListSchemaslist
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ListPostQueryResultListPostQueryResultlist
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:PublishIndexVersionPublishIndexVersionWrite
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ModifyAdvanceConfigFileModifyAdvanceConfigFileWrite
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:DeleteIndexVersionDeleteIndexVersionWrite
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ListClusterNamesListClusterNameslist
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:GetNodeConfigGetNodeConfigget
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:DeleteInstanceDeleteInstancedelete
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ChangeResourceGroupChangeResourceGroupupdate
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ModifyIndexPartitionModifyIndexPartitionWrite
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#instanceId}
NoneNone
searchengine:ModifyDataSourceDeployModifyDataSourceDeployupdate
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#instanceId}
NoneNone
searchengine:CreateAliasCreateAliascreate
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:StopTaskStopTaskWrite
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:UpdateInstanceUpdateInstanceupdate
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ListIndexesListIndexeslist
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:GetClusterRunTimeInfoGetClusterRunTimeInfoget
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:PublishAdvanceConfigPublishAdvanceConfigupdate
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:DeleteIndexDeleteIndexWrite
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:GetClusterGetClusterget
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:GetFileGetFileget
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:GetDeployGraphGetDeployGraphget
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ListInstancesListInstancesget
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/*
NoneNone
searchengine:ListLogsListLogslist
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:RemoveClusterRemoveClusterWrite
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:StartIndexStartIndexupdate
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ModifyAliasModifyAliasupdate
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:DeletePublicUrlDeletePublicUrldelete
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:DeleteFolderDeleteFolderdelete
Folder
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ListAliasesListAliaseslist
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ForceSwitchForceSwitchWrite
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ModifyTableModifyTableupdate
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:CreateFolderCreateFoldercreate
Folder
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:GetInstanceGetInstanceget
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:CreateTableCreateTablecreate
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:RecoverIndexRecoverIndexupdate
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:DeleteAdvanceConfigDeleteAdvanceConfigWrite
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ListRestQueryResultListRestQueryResultlist
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ModifyIndexModifyIndexupdate
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ListTasksListTasksnone
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:DeleteSqlInstanceDeleteSqlInstancedelete
SqlInstance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ModifyAdvanceConfigModifyAdvanceConfigupdate
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ListVectorQueryResultListVectorQueryResultlist
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ModifyNodeConfigModifyNodeConfigWrite
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ListIndexRecoverRecordsListIndexRecoverRecordslist
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:StopIndexStopIndexupdate
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:GetAdvanceConfigFileGetAdvanceConfigFileget
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ModifyPublicUrlIpListModifyPublicUrlIpListupdate
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ListTablesListTableslist
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:PushDocumentsPushDocuments
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:DeleteTableDeleteTabledelete
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:BuildIndexBuildIndexupdate
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:GetIndexGetIndexget
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ListPausePolicysListPausePolicyslist
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:GetDataSourceDeployGetDataSourceDeployget
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#instanceId}
NoneNone
searchengine:DeleteConfigDirDeleteConfigDir
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ListDataSourceTasksListDataSourceTaskslist
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ListDataSourcesListDataSourceslist
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ModifyOnlineConfigModifyOnlineConfigWrite
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ListQueryResultListQueryResultget
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:GetTableGenerationGetTableGenerationget
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:CreateIndexCreateIndexcreate
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:CreateConfigFileCreateConfigFile
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:CreateInstanceCreateInstancecreate
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/*
NoneNone
searchengine:GetTableGetTableget
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ModifyPausePolicyModifyPausePolicyupdate
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ListAdvanceConfigsListAdvanceConfigslist
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ReindexReindexupdate
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:CreateClusterCreateClustercreate
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ListClustersListClusterslist
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ListOnlineConfigsListOnlineConfigslist
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#instanceId}
NoneNone
searchengine:ListTableGenerationsListTableGenerationslist
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:GetDataSourceGetDataSourceget
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ModifyClusterOnlineConfigModifyClusterOnlineConfigWrite
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#instanceId}
NoneNone
searchengine:ListClusterTasksListClusterTaskslist
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ModifyClusterOfflineConfigModifyClusterOfflineConfigupdate
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ModifyClusterDescModifyClusterDescWrite
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:CreateConfigDirCreateConfigDir
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:DeleteDataSourceDeleteDataSourceWrite
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:DeleteConfigFileDeleteConfigFile
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ModifyIndexVersionModifyIndexVersionWrite
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone
searchengine:ModifyIndexOnlineStrategyModifyIndexOnlineStrategyWrite
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#instanceId}
NoneNone
searchengine:ModifyFileModifyFileWrite
Instance
acs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
NoneNone

Resource

SearchEngine defines the values that you can use in the Resource. You can attach the policy to a RAM user or a RAM role so that the RAM user or the RAM role can perform a specific operation on a specific resource. The ARN is the unique identifier of the resource on Alibaba Cloud. Take note of the following items:
  • {#}indicates a variable. {#} must be replaced with an actual value. For example, {#ramcode} must be replaced with the actual code of an Alibaba Cloud service in RAM.
  • An asterisk (*) is used as a wildcard. Examples:
    • {#resourceType} is set to *, all resources are specified.
    • {#regionId} is set to *, all regions are specified.
    • {#accountId} is set to *, all Alibaba Cloud accounts are specified.
Resource typeARN
Instanceacs:searchengine:{#regionId}:{#accountId}:instance/{#instanceId}
Instanceacs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
SqlInstanceacs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
Folderacs:searchengine:{#regionId}:{#accountId}:instance/{#InstanceId}
Instanceacs:searchengine:{#regionId}:{#accountId}:instance/*

Condition

SearchEngine does not define service-specific condition keys. For more information about common condition keys that are defined by Alibaba Cloud, see Generic Condition Keyword.

What to do next

You can create a custom policy and attach the policy to a RAM user, RAM user group, or RAM role. For more information, see the following topics: