All Products
Search
Document Center

Chat App Message Service:RAM authorization

Last Updated:Dec 19, 2025

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 Chat App Message Service for RAM permission policies. The RAM code (RamCode) for Chat App Message Service is cams , 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 Chat App Message Service. 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

cams:ListViberServiceMessage ListViberServiceMessage list

*All Resource

*

None None
cams:BindMessengerPage BindMessengerPage update

*All Resource

*

None None
cams:ListCustomAudience ListCustomAudience list

*All Resource

*

None None
cams:ListMessengerSubscriptionToken ListMessengerSubscriptionToken list

*All Resource

*

None None
cams:ChatappVerifyAndRegister ChatappVerifyAndRegister update

*All Resource

*

None None
cams:DeleteFlowVersion DeleteFlowVersion update

*All Resource

*

None None
cams:DeleteInstance DeleteInstance delete

*Instance

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

None None
cams:QueryChatappPhoneNumbers QueryChatappPhoneNumbers list

*All Resource

*

None None
cams:ReadFlowVersion ReadFlowVersion create

*All Resource

*

None None
cams:ModifyFlow ModifyFlow get

*All Resource

*

None None
cams:ListFlowVersion ListFlowVersion list

*All Resource

*

None None
cams:ListFacebookPosts ListFacebookPosts list

*All Resource

*

None None
cams:ListChatFlow ListChatFlow list

*All Resource

*

None None
cams:ModifyChatappTemplate ModifyChatappTemplate update

*All Resource

*

None None
cams:DeleteGroupById DeleteGroupById update

*All Resource

*

None None
cams:DeleteChatappTemplate DeleteChatappTemplate delete

*All Resource

*

None None
cams:AddGroup AddGroup create

*All Resource

*

None None
cams:QueryChatappBindWaba QueryChatappBindWaba get

*All Resource

*

None None
cams:GetFbMessengerPages GetFbMessengerPages get

*All Resource

*

None None
cams:AddMarketingFlow AddMarketingFlow create

*All Resource

*

None None
cams:ListProductCatalog ListProductCatalog list

*All Resource

*

None None
cams:ReadChatFlowLogSetting ReadChatFlowLogSetting create

*All Resource

*

None None
cams:CreateChatFlowByImport CreateChatFlowByImport create

*All Resource

*

None None
cams:GetPreValidatePhoneId GetPreValidatePhoneId get

*All Resource

*

None None
cams:AddAuditViberOpen AddAuditViberOpen create

*All Resource

*

None None
cams:UpdateContactById UpdateContactById update

*All Resource

*

None None
cams:ListChatGroup ListChatGroup list

*All Resource

*

None None
cams:GetMigrationVerifyCode GetMigrationVerifyCode get

*All Resource

*

None None
cams:GetDownloadExcelList GetDownloadExcelList list

*All Resource

*

None None
cams:GetChatFlowTemplate GetChatFlowTemplate create

*All Resource

*

None None
cams:SyncMessageCampaign SyncMessageCampaign update

*All Resource

*

None None
cams:RemoveContactById RemoveContactById update

*All Resource

*

None None
cams:GetPledgeTemplateAddress GetPledgeTemplateAddress get

*All Resource

*

None None
cams:ListChatFlowTemplate ListChatFlowTemplate create

*All Resource

*

None None
cams:CreateChatFlowLogSetting CreateChatFlowLogSetting create

*All Resource

*

None None
cams:CreateChatappTemplate CreateChatappTemplate create

*All Resource

*

None None
cams:GetCommerceSetting GetCommerceSetting update

*All Resource

*

None None
cams:UpdatePhoneEncryptionPublicKey UpdatePhoneEncryptionPublicKey update

*All Resource

*

None None
cams:FlowUnbindPhone FlowUnbindPhone update

*All Resource

*

None None
cams:CreateFlowVersion CreateFlowVersion create

*All Resource

*

None None
cams:ChatappPhoneNumberDeregister ChatappPhoneNumberDeregister update

*All Resource

*

None None
cams:UpdateInstance UpdateInstance update

*Instance

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

None None
cams:ChangeResourceGroup ChangeResourceGroup update

*All Resource

*

None None
cams:UpdateChatFlow UpdateChatFlow update

*All Resource

*

None None
cams:CreateWhatsappConversionApi CreateWhatsappConversionApi create

*All Resource

*

None None
cams:ChatappPhoneNumberRegister ChatappPhoneNumberRegister update

*All Resource

*

None None
cams:ListMessageCampaign ListMessageCampaign list

*All Resource

*

None None
cams:QueryInstance QueryInstance get

*Instance

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

None None
cams:GetFlow GetFlow get

*All Resource

*

None None
cams:ListChatappTemplate ListChatappTemplate list

*All Resource

*

None None
cams:AddChatGroup AddChatGroup create

*All Resource

*

None None
cams:BindDmAccount BindDmAccount create

*All Resource

*

None None
cams:CreateMessengerPage CreateMessengerPage create

*All Resource

*

None None
cams:ListChatGroupParticipants ListChatGroupParticipants list

*All Resource

*

None None
cams:GetChatappOpenStatus GetChatappOpenStatus get

*All Resource

*

None None
cams:BindInstagramPage BindInstagramPage update

*All Resource

*

None None
cams:ChatappMigrationVerified ChatappMigrationVerified update

*All Resource

*

None None
cams:PublishFlow PublishFlow get

*All Resource

*

None None
cams:ListPageAdAccount ListPageAdAccount list

*All Resource

*

None None
cams:AddCustomAudienceUser AddCustomAudienceUser create

*All Resource

*

None None
cams:PauseMarketingFLow PauseMarketingFLow update

*All Resource

*

None None
cams:SendChatappMassMessage SendChatappMassMessage create

*All Resource

*

None None
cams:UpdateAuditRequest UpdateAuditRequest update

*All Resource

*

None None
cams:UpdatePhoneMessageQrdl UpdatePhoneMessageQrdl update

*All Resource

*

None None
cams:AddChatGroupInviteLink AddChatGroupInviteLink create

*All Resource

*

None None
cams:UpdateChatGroup UpdateChatGroup update

*All Resource

*

None None
cams:CreateFlow CreateFlow create

*All Resource

*

None None
cams:SyncMessengerSubscriptionToken SyncMessengerSubscriptionToken update

*All Resource

*

None None
cams:DeleteMessengerPage DeleteMessengerPage update

*All Resource

*

None None
cams:ListInstagramPage ListInstagramPage list

*All Resource

*

None None
cams:UpdatePhoneWebhook UpdatePhoneWebhook update

*All Resource

*

None None
cams:OnlineFlowVersion OnlineFlowVersion update

*All Resource

*

None None
cams:ChatappBindWaba ChatappBindWaba update

*All Resource

*

None None
cams:CreateCustomAudience CreateCustomAudience create

*All Resource

*

None None
cams:DeleteChatGroupInviteLink DeleteChatGroupInviteLink delete

*All Resource

*

None None
cams:ListPhoneMessageQrdl ListPhoneMessageQrdl get

*All Resource

*

None None
cams:UpdateChatFlowLogSetting UpdateChatFlowLogSetting create

*All Resource

*

None None
cams:GetGroupExist GetGroupExist get

*All Resource

*

None None
cams:DeleteFlow DeleteFlow get

*All Resource

*

None None
cams:ListInstagramPosts ListInstagramPosts list

*All Resource

*

None None
cams:CreateChatappMigrationInitiate CreateChatappMigrationInitiate create

*All Resource

*

None None
cams:CreateInstance CreateInstance create

*Instance

acs:cams:{#regionId}:{#accountId}:instance/*

None None
cams:UpdateConversationalAutomation UpdateConversationalAutomation update

*All Resource

*

None None
cams:GetChatappPhoneNumberMetric GetChatappPhoneNumberMetric get

*All Resource

*

None None
cams:ListProduct ListProduct list

*All Resource

*

None None
cams:DeleteChatFlow DeleteChatFlow delete

*All Resource

*

None None
cams:DeleteChatGroup DeleteChatGroup delete

*All Resource

*

None None
cams:GetPhoneEncryptionPublicKey GetPhoneEncryptionPublicKey get

*All Resource

*

None None
cams:AddChatappPhoneNumber AddChatappPhoneNumber update

*All Resource

*

None None
cams:IsvGetAppId IsvGetAppId get

*All Resource

*

None None
cams:CopyTemplate CopyTemplate create

*All Resource

*

None None
cams:AddAddressRecoverSuspend AddAddressRecoverSuspend create

*All Resource

*

None None
cams:GetChatappTemplateDetail GetChatappTemplateDetail get

*All Resource

*

None None
cams:GetChatappVerifyCode GetChatappVerifyCode get

*All Resource

*

None None
cams:FlowBindPhone FlowBindPhone update

*All Resource

*

None None
cams:GetConversationalAutomation GetConversationalAutomation get

*All Resource

*

None None
cams:GetWhatsappHealthStatus GetWhatsappHealthStatus get

*All Resource

*

None None
cams:GetChatappPhoneNumberSetting GetChatappPhoneNumberSetting get

*All Resource

*

None None
cams:ListBindingRelationsForFlowVersion ListBindingRelationsForFlowVersion create

*All Resource

*

None None
cams:OpenChatappService OpenChatappService get

*All Resource

*

None None
cams:GetChatFlowMetric GetChatFlowMetric get

*All Resource

*

None None
cams: DeleteMessageCampaign delete

*All Resource

*

None None
cams:ModifyPhoneBusinessProfile ModifyPhoneBusinessProfile update

*All Resource

*

None None
cams:QueryWabaBusinessInfo QueryWabaBusinessInfo get

*All Resource

*

None None
cams:EnableWhatsappROIMetric EnableWhatsappROIMetric get

*All Resource

*

None None
cams:FlowRebindPhone FlowRebindPhone update

*All Resource

*

None None
cams:DeleteContactsByIds DeleteContactsByIds update

*All Resource

*

None None
cams:SendChatappMessage SendChatappMessage create

*All Resource

*

None None
cams:DeleteChatGroupParticipants DeleteChatGroupParticipants delete

*All Resource

*

None None
cams:TriggerChatFlow TriggerChatFlow create

*All Resource

*

None None
cams:CreateChatFlow CreateChatFlow create

*All Resource

*

None None
cams:ChatappMigrationRegister ChatappMigrationRegister update

*All Resource

*

None None
cams:GetViberByRequestNo GetViberByRequestNo list

*All Resource

*

None None
cams:UpdateAccountWebhook UpdateAccountWebhook update

*All Resource

*

None None
cams:GetChatappUploadAuthorization GetChatappUploadAuthorization get

*All Resource

*

None None
cams:GetMessageCampaignInsights GetMessageCampaignInsights get

*All Resource

*

None None
cams:CreateMessageCampaign CreateMessageCampaign create

*All Resource

*

None None
cams:GetFlowJSONAssest GetFlowJSONAssest get

*All Resource

*

None None
cams:DeprecateFlow DeprecateFlow get

*All Resource

*

None None
cams:MoveContactToGroup MoveContactToGroup update

*All Resource

*

None None
cams:GetChatappTemplateMetric GetChatappTemplateMetric get

*All Resource

*

None None
cams:GetWhatsappConnectionCatalog GetWhatsappConnectionCatalog get

*All Resource

*

None None
cams:DeletePhoneMessageQrdl DeletePhoneMessageQrdl get

*All Resource

*

None None
cams:CreatePhoneMessageQrdl CreatePhoneMessageQrdl create

*All Resource

*

None None
cams:GetPhoneNumberVerificationStatus GetPhoneNumberVerificationStatus get

*All Resource

*

None None
cams:ReadChatFlow ReadChatFlow create

*All Resource

*

None None
cams:DeleteInstagramPage DeleteInstagramPage update

*All Resource

*

None None
cams:ChatappSyncPhoneNumber ChatappSyncPhoneNumber update

*All Resource

*

None None
cams:UpdateFlowJSONAsset UpdateFlowJSONAsset update

*All Resource

*

None None
cams:ListChatappMessage ListChatappMessage list

*All Resource

*

None None
cams:ListFlowNodeGroup ListFlowNodeGroup list

*All Resource

*

None None
cams:DeleteMarketingFlow DeleteMarketingFlow update

*All Resource

*

None None
cams:DeleteContacts DeleteContacts delete

*All Resource

*

None None
cams:UpdateCommerceSetting UpdateCommerceSetting update

*All Resource

*

None None
cams:GetAuditRequestByTypeUnAudit GetAuditRequestByTypeUnAudit list

*All Resource

*

None None
cams:UpdateGroupName UpdateGroupName update

*All Resource

*

None None
cams:GetCustomerSite GetCustomerSite get

*All Resource

*

None None
cams:AddContacts AddContacts create

*All Resource

*

None None
cams:GetViberPauseTimes GetViberPauseTimes get

*All Resource

*

None None
cams:UpdateMarketingFLow UpdateMarketingFLow update

*All Resource

*

None None
cams:RequestWhatsappConversionApi RequestWhatsappConversionApi none

*All Resource

*

None None
cams:QueryPhoneBusinessProfile QueryPhoneBusinessProfile get

*All Resource

*

None None
cams:ListFlowNodePrototypeV2 ListFlowNodePrototypeV2 list

*All Resource

*

None None
cams:GetFlowPreviewUrl GetFlowPreviewUrl get

*All Resource

*

None None
cams:UpdateFlowVersion UpdateFlowVersion update

*All Resource

*

None None
cams:ListInstance ListInstance list

*Instance

acs:cams:{#regionId}:{#accountId}:instance/*

None None
cams:UpdateWabaMmlStatus UpdateWabaMmlStatus update

*All Resource

*

None None
cams:ListFlow ListFlow list

*All Resource

*

None None
cams:GetWhatsappConversionApi GetWhatsappConversionApi get

*All Resource

*

None None
cams:GetPermissionByCode GetPermissionByCode get

*All Resource

*

None None
cams:GetFbInstagramPages GetFbInstagramPages get

*All Resource

*

None None
cams:OfflineFlowVersion OfflineFlowVersion update

*All Resource

*

None None

Resource

The following table lists the resources defined by Chat App Message Service. 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:cams:{#regionId}:{#accountId}:instance/{#InstanceId}
  • acs:cams:{#regionId}:{#accountId}:instance/*

Condition

Chat App Message Service 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: