RAM authorization

Updated at:

Resource Access Management (RAM) is a service provided by Alibaba Cloud to manage user identities and resource access permissions. Using RAM helps you avoid sharing your Alibaba Cloud account keys with other users and allows you to grant users the least privilege access. RAM uses permission policies to define authorizations. This topic describes the general structure of a RAM policy, and the policy statement elements (Action, Resource, and Condition) defined by Outbound Bot for RAM permission policies. The RAM code (RamCode) for Outbound Bot is outboundbot , and the supported authorization granularity is RESOURCE .

General structure of a policy

Permission policies support JSON format with the following general structure:

{
  "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:

  • Version: Specifies the policy version number. It is fixed at 1.

  • Statement:

    • Effect: Specifies the authorization result. Valid values: Allow and Deny.

    • Action: Specifies one or more operations that are allowed or denied.

    • Resource: Specifies the specific objects affected by the operations. You can use Alibaba Cloud Resource Names (ARNs) to describe specific resources.

    • Condition: Specifies the conditions for the authorization to take effect. This field is optional.

      • Condition operator: Specifies the conditional operators. Different types of conditions support different conditional operators.

      • Condition_key: Specifies the condition keys.

      • Condition_value: Specifies the condition values.

Action

The following table lists the actions defined by Outbound Bot. The table's columns are detailed below:

  • Action: The actions can be used in the Action element of RAM permission policy statements to grant permissions to perform the operation.

  • API: The API that you can call to perform the action.

  • Access level: The predefined level of access granted for each API. Valid values: create, list, get, update, and delete.

  • Resource type: The type of the resource that support authorization to perform the action. It indicates if the action supports resource-level permission. The specified resource must be compatible with the action. Otherwise, the policy will be ineffective.

    • For APIs with resource-level permissions, required resource types are marked with an asterisk (*). Specify the corresponding ARN in the Resource element of the policy.

    • For APIs without resource-level permissions, it is shown as All Resources. Use an asterisk (*) in the Resource element of the policy.

  • Condition key: The condition keys defined by the service. The key allows for granular control, applying to either actions alone or actions associated with specific resources. In addition to service-specific condition keys, Alibaba Cloud provides a set of common condition keys that are applicable across all RAM-integrated services. For more information, see Common condition keys.

  • Dependent action: The dependent actions required to run the action. To complete the action, the RAM user or the RAM role must have the permissions to perform all dependent actions.

Action

API

Access level

Resource type

Condition key

Dependent action

outboundbot:CreateTenantKey CreateTenantKey create

*All Resource

*

None None
outboundbot:DeleteDialogueFlow DeleteDialogueFlow delete

*All Resource

*

None None
outboundbot:DeleteInstance DeleteInstance delete

*All Resource

*

None None
outboundbot:CreateBatchRepeatJobs CreateBatchRepeatJob create

*All Resource

*

None None
outboundbot:DeleteScriptRecording DeleteScriptRecording delete

*All Resource

*

None None
outboundbot:CreateTag CreateTag create

*All Resource

*

None None
outboundbot:DuplicateScript DuplicateScript create

*All Resource

*

None None
outboundbot:ListScriptVariables ListScriptVariables list

*Instance

acs:outboundbot:{#regionId}:{#accountId}:instance/{#InstanceId}

None None
outboundbot:GetAnnotationMissionTagInfoList GetAnnotationMissionTagInfoList get

*All Resource

*

None None
outboundbot:SearchTask SearchTask list

*All Resource

*

None None
outboundbot:ListScripts ListScripts list

*Instance

acs:outboundbot:{#regionId}:{#accountId}:instance/{#InstanceId}

None None
outboundbot:ListJobGroups ListJobGroups list

*All Resource

*

None None
outboundbot:ModifyOutboundCallNumber ModifyOutboundCallNumber update

*All Resource

*

None None
outboundbot:DescribeDsReports DescribeDsReports get

*All Resource

*

None None
outboundbot:SaveAnnotationMissionSessionList SaveAnnotationMissionSessionList update

*All Resource

*

None None
outboundbot:ModifyAnnotationMission ModifyAnnotationMission update

*All Resource

*

None None
outboundbot:DeleteAllNumberDistrictInfo DeleteAllNumberDistrictInfo delete

*All Resource

*

None None
outboundbot:ModifyScriptVoiceConfig ModifyScriptVoiceConfig update

*All Resource

*

None None
outboundbot:DeleteScript DeleteScript delete

*All Resource

*

None None
outboundbot:DescribeDialogueNodeStatistics DescribeDialogueNodeStatistics get

*All Resource

*

None None
outboundbot:ListScriptPublishHistories ListScriptPublishHistories list

*All Resource

*

None None
outboundbot:ListOutboundCallNumbers ListOutboundCallNumbers list

*All Resource

*

None None
outboundbot:QueryScriptsByStatus QueryScriptsByStatus get

*All Resource

*

None None
outboundbot:DescribeTagHitsSummary DescribeTagHitsSummary get

*All Resource

*

None None
outboundbot:AssignJobs AssignJobs create

*All Resource

*

None None
outboundbot:PublishScript PublishScript none

*All Resource

*

None None
outboundbot:TerminateCall TerminateCall update

*All Resource

*

None None
outboundbot:CreateDownloadUrl CreateDownloadUrl create

*All Resource

*

None None
outboundbot:AssignJobsAsync AssignJobsAsync create

*All Resource

*

None None
outboundbot:GetJobGroup DescribeJobGroup get

*All Resource

*

None None
outboundbot:ResumeJobs ResumeJobs none

*All Resource

*

None None
outboundbot:CreateIntent CreateIntent create

*All Resource

*

None None
outboundbot:DescribeJobGroupExportTaskProgress DescribeJobGroupExportTaskProgress get

*All Resource

*

None None
outboundbot:DeleteBeebotIntent DeleteBeebotIntent delete

*All Resource

*

None None
outboundbot:DeleteBeebotIntentUserSay DeleteBeebotIntentUserSay delete

*All Resource

*

None None
outboundbot:ListDownloadTasks ListDownloadTasks list

*All Resource

*

None None
outboundbot:SuspendJobs SuspendJobs update

*All Resource

*

None None
outboundbot:Dialogue Dialogue update

*All Resource

*

None None
outboundbot:GetPublicKey GetPublicKey get

*All Resource

*

None None
outboundbot:ListJobs ListJobs get

*All Resource

*

None None
outboundbot:TagResources TagResources none

*All Resource

*

None None
outboundbot:QueryJobs QueryJobs get

*All Resource

*

None None
outboundbot:GetContactBlockList GetContactBlockList get

*All Resource

*

None None
outboundbot:ListInstances ListInstances list

*All Resource

*

None None
outboundbot:UntagResources UntagResources none

*All Resource

*

None None
outboundbot:QueryJobsWithResult QueryJobsWithResult get

*All Resource

*

None None
outboundbot:DescribeIntentStatistics DescribeIntentStatistics get

*All Resource

*

None None
outboundbot:TaskPreparing TaskPreparing none

*All Resource

*

None None
outboundbot:ModifyTagGroups ModifyTagGroups update

*All Resource

*

None None
outboundbot:ModifyIntent ModifyIntent update

*All Resource

*

None None
outboundbot:ModifyDialogueFlow ModifyDialogueFlow update

*All Resource

*

None None
outboundbot:ListChatbotInstances ListChatbotInstances list

*All Resource

*

None None
outboundbot:GenerateUploadUrl GenerateUploadUrl create

*All Resource

*

None None
outboundbot:ListTagResources ListTagResources list

*All Resource

*

None None
outboundbot:GetAfterAnswerDelayPlayback GetAfterAnswerDelayPlayback get

*All Resource

*

None None
outboundbot:GetBaseStrategyPeriod GetBaseStrategyPeriod get

*All Resource

*

None None
outboundbot:ModifyBeebotIntentLgf ModifyBeebotIntentLgf update

*All Resource

*

None None
outboundbot:ModifyScript ModifyScript update

*Instance

acs:outboundbot:{#regionId}:{#accountId}:instance/{#InstanceId}

None None
outboundbot:ModifyEmptyNumberNoMoreCallsInfo ModifyEmptyNumberNoMoreCallsInfo update

*All Resource

*

None None
outboundbot:GetCurrentConcurrency GetCurrentConcurrency get

*All Resource

*

None None
outboundbot:ListBeebotIntent ListBeebotIntent list

*All Resource

*

None None
outboundbot:SuspendCall SuspendCall update

*All Resource

*

None None
outboundbot:GetEmptyNumberNoMoreCallsInfo GetEmptyNumberNoMoreCallsInfo get

*All Resource

*

None None
outboundbot:GetJobDataUploadParams GetJobDataUploadParams get

*All Resource

*

None None
outboundbot:ListJobsByGroup ListJobsByGroup list

*All Resource

*

None None
outboundbot:ChangeResourceGroup ChangeResourceGroup create

*All Resource

*

None None
outboundbot:UploadScriptRecording UploadScriptRecording create

*All Resource

*

None None
outboundbot:ListAllTenantBindNumberBinding ListAllTenantBindNumberBinding list

*All Resource

*

None None
outboundbot:DescribeGroupExecutingInfo DescribeGroupExecutingInfo get

*All Resource

*

None None
outboundbot:DescribeScript DescribeScript get

*Instance

acs:outboundbot:{#regionId}:{#accountId}:instance/{#InstanceId}

None None
outboundbot:SubmitRecording SubmitRecording none

*All Resource

*

None None
outboundbot:ModifyBeebotIntentUserSay ModifyBeebotIntentUserSay update

*All Resource

*

None None
outboundbot:DownloadScriptRecording DownloadScriptRecording get

*All Resource

*

None None
outboundbot:GetAnnotationMissionSummary GetAnnotationMissionSummary get

*All Resource

*

None None
outboundbot:CreateBeebotIntent CreateBeebotIntent create

*All Resource

*

None None
outboundbot:GetAssignJobsAsyncResult GetAssignJobsAsyncResult get

*All Resource

*

None None
outboundbot:DescribeJob DescribeJob get

*All Resource

*

None None
outboundbot:ListDialogueFlows ListDialogueFlows list

*All Resource

*

None None
outboundbot:ModifyBatchJobs ModifyBatchJobs update

*All Resource

*

None None
outboundbot:SaveBaseStrategyPeriod SaveBaseStrategyPeriod create

*All Resource

*

None None
outboundbot:ModifyTTSConfig ModifyTTSConfig update

*All Resource

*

None None
outboundbot:GetTaskByUuid GetTaskByUuid get

*All Resource

*

None None
outboundbot:ImportScript ImportScript create

*All Resource

*

None None
outboundbot:GetAsrServerInfo GetAsrServerInfo get

*All Resource

*

None None
outboundbot:ModifyAgentProfile ModifyAgentProfile update

*All Resource

*

None None
outboundbot:ListIntentions ListIntentions list

*All Resource

*

None None
outboundbot:ListJobGroupsAsync ListJobGroupsAsync list

*All Resource

*

None None
outboundbot:CreateJobGroup CreateJobGroup create

*All Resource

*

None None
outboundbot:ListTags ListTags list

*All Resource

*

None None
outboundbot:CreateInstanceBindNumber CreateInstanceBindNumber create

*All Resource

*

None None
outboundbot:DeleteJobGroup DeleteJobGroup delete

*All Resource

*

None None
outboundbot:GetAgentProfileTemplate GetAgentProfileTemplate get

*All Resource

*

None None
outboundbot:DescribeInstance DescribeInstance get

*All Resource

*

None None
outboundbot:DeleteScriptWaveform DeleteScriptWaveform delete

*All Resource

*

None None
outboundbot:CreateTaskExportTask CreateTaskExportTask create

*All Resource

*

None None
outboundbot:ExportScript ExportScript get

*All Resource

*

None None
outboundbot:CancelJobs CancelJobs create

*All Resource

*

None None
outboundbot:ModifyGlobalQuestion ModifyGlobalQuestion update

*All Resource

*

None None
outboundbot:DeleteContactBlockList DeleteContactBlockList delete

*All Resource

*

None None
outboundbot:GetVersion GetVersion get

*All Resource

*

None None
outboundbot:CreateInstance CreateInstance create

*All Resource

*

None None
outboundbot:ListAnnotationMission ListAnnotationMission list

*All Resource

*

None None
outboundbot:DescribeJobDataParsingTaskProgress DescribeJobDataParsingTaskProgress get

*All Resource

*

None None
outboundbot:RollbackScript RollbackScript update

*All Resource

*

None None
outboundbot:ListBeebotIntentLgf ListBeebotIntentLgf list

*All Resource

*

None None
outboundbot:InflightTaskTimeout InflightTaskTimeout update

*All Resource

*

None None
outboundbot:CreateJobDataParsingTask CreateJobDataParsingTask create

*All Resource

*

None None
outboundbot:StartJob StartJob none

*All Resource

*

None None
outboundbot:CreateAnnotationMission CreateAnnotationMission none

*All Resource

*

None None
outboundbot:ListBeebotIntentUserSay ListBeebotIntentUserSay list

*All Resource

*

None None
outboundbot:GetRealtimeConcurrencyReport GetRealtimeConcurrencyReport get

*All Resource

*

None None
outboundbot:QueryScriptWaveforms QueryScriptWaveforms get

*All Resource

*

None None
outboundbot:ModifyInstance ModifyInstance update

*All Resource

*

None None
outboundbot:DescribeIntent DescribeIntent get

*All Resource

*

None None
outboundbot:ListResourceTags ListResourceTags list

*All Resource

*

None None
outboundbot:GetAgentProfile GetAgentProfile get

*All Resource

*

None None
outboundbot:SubmitScriptReview SubmitScriptReview create

*All Resource

*

None None
outboundbot:PublishScriptForDebug PublishScriptForDebug none

*All Resource

*

None None
outboundbot:DescribeScriptVoiceConfig DescribeScriptVoiceConfig get

*All Resource

*

None None
outboundbot:ListFlashSmsTemplates ListFlashSmsTemplates list

*All Resource

*

None None
outboundbot:DeleteBeebotIntentLgf DeleteBeebotIntentLgf delete

*All Resource

*

None None
outboundbot:SaveAfterAnswerDelayPlayback SaveAfterAnswerDelayPlayback update

*All Resource

*

None None
outboundbot:WithdrawScriptReview WithdrawScriptReview none

*All Resource

*

None None
outboundbot:DeleteIntent DeleteIntent delete

*All Resource

*

None None
outboundbot:CreateAgentProfile CreateAgentProfile create

*All Resource

*

None None
outboundbot:GetSummaryInfo GetSummaryInfo get

*All Resource

*

None None
outboundbot:CreateGlobalQuestion CreateGlobalQuestion create

*All Resource

*

None None
outboundbot:GetMaxAttemptsPerDay GetMaxAttemptsPerDay get

*All Resource

*

None None
outboundbot:GetNumberDistrictInfoTemplateDownloadUrl GetNumberDistrictInfoTemplateDownloadUrl get

*All Resource

*

None None
outboundbot:ListGlobalQuestions ListGlobalQuestions get

*All Resource

*

None None
outboundbot:ListScriptVoiceConfigs ListScriptVoiceConfigs list

*All Resource

*

None None
outboundbot:CreateScript CreateScript create

*Instance

acs:outboundbot:{#regionId}:{#accountId}:instance/{#InstanceId}

None None
outboundbot:CreateBatchJobs CreateBatchJobs create

*All Resource

*

None None
outboundbot:DescribeTenantBindNumber DescribeTenantBindNumber get

*All Resource

*

None None
outboundbot:DeleteAgentProfiles DeleteAgentProfiles delete

*All Resource

*

None None
outboundbot:ListIntents ListIntents list

*All Resource

*

None None
outboundbot:GetConcurrentConversationQuota GetConcurrentConversationQuota get

*All Resource

*

None None
outboundbot:DescribeTTSConfig DescribeTTSConfig get

*All Resource

*

None None
outboundbot:DeleteGlobalQuestion DeleteGlobalQuestion delete

*All Resource

*

None None
outboundbot:DescribeGlobalQuestion DescribeGlobalQuestion get

*All Resource

*

None None
outboundbot:ModifyJobGroup ModifyJobGroup update

*All Resource

*

None None
outboundbot:CreateBeebotIntentUserSay CreateBeebotIntentUserSay create

*All Resource

*

None None
outboundbot:DownloadRecording DownloadRecording get

*All Resource

*

None None
outboundbot:CreateBeebotIntentLgf CreateBeebotIntentLgf create

*All Resource

*

None None
outboundbot:DescribeTTSDemo DescribeTTSDemo get

*All Resource

*

None None
outboundbot:ListApiPlugins ListApiPlugins list

*All Resource

*

None None
outboundbot:DeleteOutboundCallNumber DeleteOutboundCallNumber delete

*All Resource

*

None None
outboundbot:ListScriptRecording ListScriptRecording list

*All Resource

*

None None
outboundbot:SaveContactBlockList SaveContactBlockList create

*All Resource

*

None None
outboundbot:GetContactWhiteList GetContactWhiteList get

*All Resource

*

None None
outboundbot:SaveContactWhiteList SaveContactWhiteList create

*All Resource

*

None None
outboundbot:SaveMaxAttemptsPerDay SaveMaxAttemptsPerDay create

*All Resource

*

None None
outboundbot:CreateJobGroupExportTask CreateJobGroupExportTask create

*All Resource

*

None None
outboundbot:CreateDialogueFlow CreateDialogueFlow create

*All Resource

*

None None
outboundbot:SaveAnnotationMissionTagInfoList SaveAnnotationMissionTagInfoList create

*All Resource

*

None None
outboundbot:ListAnnotationMissionSession ListAnnotationMissionSession list

*All Resource

*

None None
outboundbot:RecordFailure RecordFailure none

*All Resource

*

None None
outboundbot:SuspendCallWithFile SuspendCallWithFile update

*All Resource

*

None None
outboundbot:CreateScriptWaveform CreateScriptWaveform create

*All Resource

*

None None
outboundbot:DeleteContactWhiteList DeleteContactWhiteList delete

*All Resource

*

None None
outboundbot:SubmitBatchJobs SubmitBatchJobs none

*All Resource

*

None None
outboundbot:DescribeBeebotIntent DescribeBeebotIntent get

*All Resource

*

None None
outboundbot:ModifyBeebotIntent ModifyBeebotIntent update

*All Resource

*

None None
outboundbot:ListAgentProfiles ListAgentProfiles list

*All Resource

*

None None

Resource

The following table lists the resources defined by Outbound Bot. Specify them in the Resource element of RAM policy statements to grant permissions for specific operations. They are uniquely identified by ARNs. Format: acs:{#ramcode}:{#regionId}:{#accountId}:{#resourceType}:

  • acs: The initialism of Alibaba Cloud service, which indicates the public cloud of Alibaba Cloud.

  • {#ramcode}: The code used in RAM to indicate an Alibaba Cloud service.

  • {#regionId}: The region ID. If the resource covers all regions, set it to an asterisk (*).

  • {#accountId}: The ID of the Alibaba Cloud account. If the resource covers all Alibaba Cloud accounts, set it to an asterisk (*).

  • {#resourceType}: The service-defined resource identifier. It supports a hierarchical structure, which is similar to a file path. If the statement covers global resources, set it to an asterisk (*).

Resource type

ARN

Instance
  • acs:outboundbot:{#regionId}:{#accountId}:*
  • acs:outboundbot:{#regionId}:{#accountId}:instance/{#InstanceId}

Condition

Outbound Bot does not define product-level condition keys. However, you can use Alibaba Cloud common condition keys for access control. For more information, see Common condition keys.

How to create custom RAM policies?

You can create custom policies and grant them to RAM users, RAM user groups, or RAM roles. For instructions, see: