All Products
Search
Document Center

Chat App Message Service:Fine-grained control with resource groups

Last Updated:Apr 23, 2026

Use resource groups with RAM to isolate resources and gain fine-grained control over permissions within a single Alibaba Cloud account. This article explains how ChatApp Message Service supports resource groups and how you can grant permissions at the resource group level.

Note

Resource group authorization

You can use Resource Groups to group and manage resources within your Alibaba Cloud account. For example, you can create a dedicated Resource Group for each project and move the project's resources into that group for centralized management. For more information, see What is a Resource Group?.

After you group resources, you can grant RAM principals, such as RAM users, RAM user groups, or RAM roles, permissions scoped to a specific Resource Group. This restricts a RAM principal to managing only the resources in that Resource Group. For more information, see Resource grouping and authorization.

This authorization method has the following benefits:

  • Fine-grained permissions: Lets you grant each identity only the precise resource permissions it needs. This prevents resources from different projects from being managed together in a single account.

  • Scalability: When you add new resources to a Resource Group, associated RAM identities automatically gain permissions for them. This eliminates the need to authorize each new resource individually.

Grant resource group-level permissions to a RAM user

This topic describes how to grant a RAM user permissions on ChatApp Message Service resources in a specific resource group.

1. Prerequisites

  1. Create a RAM user. For more information, see Create a RAM user.

  2. Create a resource group and transfer existing resources to it. For more information, see Create a resource group, Automatically transfer resources to a resource group, and Manually transfer resources to a resource group.

2. Grant resource group-level permissions

You can use either of the following methods to grant permissions at the resource group level.

Resource Management console

Use the permission management feature of a resource group to grant permissions to a specific RAM user. For more information, see Grant permissions on a resource group to a RAM identity.

  • Sign in to the Resource Management console.

  • On the Resource Groups page, click Permissions in the Actions column for the target resource group.

  • On the Permissions tab, click Add Permissions.

  • In the Add Permissions panel, configure the principal and permission policy.

  • Click OK.

RAM console

You can grant resource group-level authorization to a specified RAM user in the RAM console. For more information, see Manage RAM user permissions.

  • Sign in to the RAM console as an Alibaba Cloud account (root user) or a RAM administrator.

  • In the left-side navigation pane, choose Identities > Users. On the Users page, click Add Permissions in the Actions column for the target RAM user.

  • In the Add Permissions panel, grant permissions to the RAM user.

    • Resource Scope: Select Resource Group.

    • Principal: Select an existing RAM user or the RAM user created in the prerequisites.

    • Policy: Select a system policy or an existing custom policy. For more information, see Create a custom permission policy.

  • Click OK.

Supported resource types for resource groups

The following table lists the ChatApp Message Service resource types that support resource groups:

Cloud service

Cloud service code

Resource type

ChatApp Message Service

cams

instance

Note

You can submit feedback in the resource group console to request support for additional resource types.

image

Unsupported actions

The ChatApp message service does not support resource group-level authorization for the following actions:

Actions

Description

cams:AddAddressRecoverSuspend

-

cams:AddAuditViberOpen

-

cams:AddChatGroup

Grants permission to create a chat group.

cams:AddChatGroupInviteLink

-

cams:AddChatappPhoneNumber

Grants permission to add a phone number to a WABA.

cams:AddContacts

-

cams:AddCust

-

cams:AddCustomAudienceUser

Grants permission to add a user to a custom audience.

cams:AddFacebookSource

-

cams:AddGroup

-

cams:AddHref

-

cams:AddInstagramContainer

-

cams:AddMarketingFlow

-

cams:AddTemplate

-

cams:AssociateContact

-

cams:AssociateContactWithGroup

-

cams:BatchDeleteTemplate

-

cams:BindAgent

-

cams:BindDmAccount

-

cams:BindInstagramPage

-

cams:BindMessengerPage

-

cams:ChatAppWebPost

-

cams:ChatappBindWaba

Grants permission to bind a WABA by using a northbound API.

cams:ChatappEmbedSignUp

-

cams:ChatappMigrationRegister

Grants permission to register a migrated phone number.

cams:ChatappMigrationVerified

Grants permission to verify a migrated phone number.

cams:ChatappPhoneNumberDeregister

Grants permission to deregister a phone number from a WABA.

cams:ChatappPhoneNumberRegister

Grants permission to register a phone number by using a northbound API.

cams:ChatappSyncPhoneNumber

Grants permission to sync phone number information.

cams:ChatappVerifyAndRegister

Grants permission to verify a verification code and register a phone number by using a northbound API.

cams:CheckCust

-

cams:ConsoleQueryChatbotInfo

-

cams:CopyTemplate

-

cams:CpassGetInstagramPages

-

cams:CpassGetMessengerPages

-

cams:CpassInstagramBindPage

-

cams:CpassMessengerBindPage

-

cams:CpassModifyWebhook

-

cams:CreateChatFlow

Grants permission to create a flow.

cams:CreateChatFlowByImport

Grants permission to create and import a flow.

cams:CreateChatFlowLogSetting

Grants permission to create log settings for a flow.

cams:CreateChatappMigrationInitiate

Grants permission to add a migrated phone number.

cams:CreateChatappTemplate

Grants permission to create a message template. After the template is approved, you can use it to send messages.

cams:CreateCustomAudience

-

cams:CreateFlow

Grants permission to create a flow.

cams:CreateFlowVersion

Grants permission to create a new flow version by copying an existing one.

cams:CreateMassPlanning

-

cams:CreateMessageCampaign

-

cams:CreateMessengerPage

-

cams:CreateMixTemplateAuditOrder

-

cams:CreatePhoneMessageQrdl

Grants permission to create a message QR code.

cams:CreateWhatsappConversionApi

-

cams:DeleteAgent

-

cams:DeleteChatFlow

Grants permission to delete a flow.

cams:DeleteChatGroup

-

cams:DeleteChatGroupInviteLink

-

cams:DeleteChatGroupParticipants

-

cams:DeleteChatParticipants

-

cams:DeleteChatappTemplate

Grants permission to delete a message template.

cams:DeleteContacts

-

cams:DeleteContactsByIds

-

cams:DeleteFlow

Grants permission to delete a flow. Only flows in the DRAFT state can be deleted.

cams:DeleteFlowVersion

Grants permission to delete a flow version.

cams:DeleteGroupById

-

cams:DeleteInstagramPage

-

cams:DeleteMarketingFlow

-

cams:DeleteMessageCampaign

-

cams:DeleteMessengerPage

-

cams:DeleteMixMessage

-

cams:DeletePhoneMessageQrdl

Grants permission to delete a message QR code.

cams:DeprecateFlow

Grants permission to deprecate a flow.

cams:EnableScheduling

-

cams:EnableWhatsappROIMetric

Grants permission to enable metric collection for WhatsApp.

cams:ExportBlockUsers

-

cams:FacebookDelete

-

cams:FacebookFeed

-

cams:FlowBindPhone

Grants permission to bind a flow to a phone number or merchant account ID.

cams:FlowRebindPhone

Grants permission to rebind a flow to a phone number or merchant account ID.

cams:FlowUnbindPhone

Grants permission to unbind a flow from a phone number or merchant account ID.

cams:GenerateBillMonthDownloadTask

-

cams:GeneratePersonalizedBillMonthDownloadTask

-

cams:GeneratePresignedUrl

-

cams:GetAuditRequestByTypeUnAudit

-

cams:GetBillMonthDownloadTaskResult

-

cams:GetBillUpgradeLayerInfo

-

cams:GetBillViewDescription

-

cams:GetBillingDetailDownloadTaskResult

-

cams:GetBindAgentAttribute

-

cams:GetChatFlowMetric

-

cams:GetChatFlowMetricAnalyze

-

cams:GetChatFlowTemplate

Grants permission to query the details of a flow template.

cams:GetChatGroupInfo

-

cams:GetChatOptionInfo

-

cams:GetChatappConversationMetric

-

cams:GetChatappOpenStatus

-

cams:GetChatappPhoneNumberMetric

Grants permission to query message volume metrics for WhatsApp phone numbers.

cams:GetChatappPhoneNumberSetting

Grants permission to get additional control settings for a phone number.

cams:GetChatappTemplateDetail

Grants permission to get the details of a message template.

cams:GetChatappTemplateMetric

Grants permission to get metrics for marketing message templates.

cams:GetChatappUploadAuthorization

Grants permission to get authentication information for file uploads.

cams:GetChatappVerifyCode

Grants permission to get a verification code by using a northbound API.

cams:GetCommerceSetting

Grants permission to get the status of business settings for a phone number.

cams:GetContactsByGroupId

-

cams:GetContactsExcelTemplate

-

cams:GetContactsList

-

cams:GetConversationalAutomation

Grants permission to get welcome messages, conversation starters, and commands.

cams:GetCountByPartner

-

cams:GetCountryList

-

cams:GetCurrentRole

-

cams:GetCustAuditLog

-

cams:GetCustByCode

-

cams:GetCustomTask

-

cams:GetCustomerSite

-

cams:GetDefaultLanguage

-

cams:GetDownloadApplicationMaterials

-

cams:GetDownloadExcelList

-

cams:GetFbInstagramPages

-

cams:GetFbMessengerAdInfo

-

cams:GetFbMessengerPages

-

cams:GetFileStringByFileName

-

cams:GetFlow

Grants permission to get the details of a flow.

cams:GetFlowJSONAssest

Grants permission to get the content of a flow in JSON format.

cams:GetFlowPreviewUrl

Grants permission to get the preview URL for a flow.

cams:GetGroupExist

-

cams:GetHrefInfo

-

cams:GetMessageCampaignInsights

-

cams:GetMigrationVerifyCode

Grants permission to get the verification code for a migrated phone number.

cams:GetNLGenChatFlow

-

cams:GetNLGenChatFlowPromptExpansion

-

cams:GetNLGenChatFlowPromptOptimization

-

cams:GetOSSInfoForUploadFile

-

cams:GetOssConfig

-

cams:GetOssInfoForUploadFile

-

cams:GetPermissionByCode

Grants permission to get authorization using a code from an embedded sign-up flow.

cams:GetPersonalizedBillConfig

-

cams:GetPersonalizedBillMonthDownloadTaskResult

-

cams:GetPhoneEncryptionPublicKey

Grants permission to get the encryption public key for a phone number.

cams:GetPhoneNumberVerificationStatus

Grants permission to get the verification status of a phone number.

cams:GetPledgeTemplateAddress

-

cams:GetPreValidatePhoneId

The ID for a pre-registered number allows you to make a selection in an embedded flow without needing to obtain a verification code again.

cams:GetSearchTreeData

-

cams:GetUserBill

-

cams:GetUserBillLadderSegmentDetail

-

cams:GetUserInstanceBillLadderSegmentDetail

-

cams:GetUserStatus

-

cams:GetViberByRequestNo

-

cams:GetViberPauseTimes

-

cams:GetWhatsappConnectionCatalog

Grants permission to get the catalog associated with a WABA.

cams:GetWhatsappConversionApi

-

cams:GetWhatsappHealthStatus

Grants permission to get the health status of nodes that send messages of different types.

cams:GetWhatsappInsights

-

cams:GetWhiteList

-

cams:InstagramFeed

-

cams:IsPostPaidCustomer

-

cams:IsvGetAppId

Grants an ISV permission to get an App ID.

cams:ListAdvert

-

cams:ListAllAudit

-

cams:ListAllGroups

-

cams:ListAuditAndFailByType

-

cams:ListBaseTemplate

-

cams:ListBindDmAccount

-

cams:ListBindingRelationsForFlowVersion

Grants permission to list the phone numbers or merchant account IDs bound to a flow ID.

cams:ListBlockUsers

-

cams:ListChatFlow

Grants permission to list flows.

cams:ListChatFlowTemplate

Grants permission to list flow templates.

cams:ListChatGroup

-

cams:ListChatGroupParticipants

-

cams:ListChatappMessage

Grants permission to list messages.

cams:ListChatappTemplate

Grants permission to list message templates.

cams:ListCountByBar

-

cams:ListCountByLine

-

cams:ListCountry

-

cams:ListCust

-

cams:ListCustomAudience

-

cams:ListCustomBillTab

-

cams:ListCustomTask

-

cams:ListDayUseDetail

-

cams:ListDict

-

cams:ListDmAccount

-

cams:ListDmTag

-

cams:ListFacebookPosts

-

cams:ListFlow

Grants permission to list flows.

cams:ListFlowNodeGroup

-

cams:ListFlowNodePrototypeV2

Grants permission to list flow component prototypes.

cams:ListFlowVersion

Grants permission to list flow versions.

cams:ListHref

-

cams:ListInstagramPage

-

cams:ListInstagramPosts

-

cams:ListIntent

-

cams:ListLanguage

-

cams:ListMarketingFlow

-

cams:ListMessageCampaign

-

cams:ListMessageType

-

cams:ListMessengerPage

-

cams:ListMessengerSubscriptionToken

-

cams:ListMixMessage

-

cams:ListOwnViberAudit

-

cams:ListOwnViberChangeDest

-

cams:ListPageAdAccount

-

cams:ListPhoneMessageQrdl

Grants permission to list message QR codes.

cams:ListProduct

Grants permission to list the products in a catalog.

cams:ListProductCatalog

Grants permission to list the catalogs on the Meta Business Platform.

cams:ListReleaseRecords

-

cams:ListSenderIdReport

-

cams:ListSwitchVariable

-

cams:ListTemplateLanguage

-

cams:ListTemplateParam

-

cams:ListUserBillDetail

-

cams:ListUserBillingInstanceBillDetail

-

cams:ListVariableType

-

cams:ListViberServiceMessage

-

cams:ListWabaIdByInputToken

-

cams:ModifyBlockUsers

-

cams:ModifyChatappPhoneNumber

-

cams:ModifyChatappTemplate

Grants permission to modify a message template. You can only modify templates that are pending review or have been rejected.

cams:ModifyChatappTemplateProperties

-

cams:ModifyFlow

Grants permission to modify the basic information of a flow.

cams:ModifyPhoneBusinessProfile

Grants permission to modify the business profile of a phone number.

cams:ModifyWebhook

-

cams:MoveContactToGroup

-

cams:OfflineFlowVersion

Grants permission to take a flow version offline.

cams:OnlineFlowVersion

Grants permission to bring a flow version online.

cams:OpenChatappService

-

cams:OpenProduct

-

cams:PagePersonalizedBill

-

cams:PauseMarketingFLow

-

cams:PublishFlow

Grants permission to publish a flow.

cams:QueryChatappBindWaba

Grants permission to query the WABA bound to a customer.

cams:QueryChatappPhoneNumbers

Grants permission to query all phone numbers and their statuses for a customer's account.

cams:QueryMMLActive

-

cams:QueryPackageDetail

-

cams:QueryPackageSummary

-

cams:QueryPackageType

-

cams:QueryPhoneBusinessProfile

Grants permission to query the business profile of a phone number.

cams:QueryProductOpenStatus

-

cams:QueryThreshold

-

cams:QueryTokenForMnsQueue

-

cams:QueryWabaBusinessInfo

Grants permission to get the business platform information of a WABA.

cams:QueryWabaByEmbedSignUp

-

cams:RamUserIsOpen

-

cams:RamUserOpen

-

cams:ReadChatFlow

Grants permission to get the details of a flow.

cams:ReadChatFlowLogSetting

Grants permission to view the log settings of a flow.

cams:ReadFlowVersion

Grants permission to get a flow version.

cams:RemoveContactById

-

cams:RemoveContacts

-

cams:RequestWhatsappConversionApi

-

cams:SendChatappMassMessage

Grants permission to send messages in batches.

cams:SendChatappMessage

Grants permission to send a message.

cams:SubmitIsvCustomerTerms

-

cams:SyncBusinessAppHistory

-

cams:SyncMessageCampaign

-

cams:SyncMessengerSubscriptionToken

-

cams:TranslateCustToIsv

-

cams:TriggerChatFlow

Grants permission to trigger a flow version that is online and has a manual trigger.

cams:UnbindDmAccount

-

cams:UpdateAccountWebhook

Grants permission to update the callback URL for an account.

cams:UpdateAuditRequest

-

cams:UpdateChatFlow

Grants permission to update the basic information of a flow by flow ID.

cams:UpdateChatFlowLogSetting

Grants permission to update the log settings of a flow.

cams:UpdateChatGroup

-

cams:UpdateChatappPhoneNumberSetting

-

cams:UpdateCheckCode

-

cams:UpdateCommerceSetting

Grants permission to update the status of business settings for a phone number.

cams:UpdateContactById

Grants permission to update a contact.

cams:UpdateConversationalAutomation

Grants permission to update the welcome messages, conversation starters, and commands for a phone number.

cams:UpdateCust

-

cams:UpdateFlowJSONAsset

Grants permission to update the content of a flow by using JSON.

cams:UpdateFlowVersion

Grants permission to update the DSL data of a flow version. This action updates the flow version from the canvas.

cams:UpdateGroupName

-

cams:UpdateHref

-

cams:UpdateMarketingFLow

-

cams:UpdatePackageRemainAlarmThreshold

-

cams:UpdatePackgeRemainAlarmThreshold

-

cams:UpdatePersonalizedBillConfig

-

cams:UpdatePhoneEncryptionPublicKey

Grants permission to update the encryption public key for a phone number.

cams:UpdatePhoneMessageQrdl

Grants permission to modify a message QR code.

cams:UpdatePhoneWebhook

Grants permission to update the callback URL for a phone number.

cams:UpdateViberWebhook

-

cams:UpdateWabaMmlStatus

-

If an action does not support resource group authorization, selecting Resource Group as the resource scope has no effect. To grant a RAM user permissions for these actions, create a custom policy and select Account as the resource scope.

image.pngHere are two examples of custom policies that you can adjust to fit your needs.

  • Allows all read-only operations that do not support resource group-level authorization. The Action element lists these operations.

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "cams:GetAuditRequestByTypeUnAudit",
            "cams:GetBillMonthDownloadTaskResult",
            "cams:GetBillUpgradeLayerInfo",
            "cams:GetBillViewDescription",
            "cams:GetBillingDetailDownloadTaskResult",
            "cams:GetBindAgentAttribute",
            "cams:GetChatFlowMetric",
            "cams:GetChatFlowMetricAnalyze",
            "cams:GetChatFlowTemplate",
            "cams:GetChatGroupInfo",
            "cams:GetChatOptionInfo",
            "cams:GetChatappConversationMetric",
            "cams:GetChatappOpenStatus",
            "cams:GetChatappPhoneNumberMetric",
            "cams:GetChatappPhoneNumberSetting",
            "cams:GetChatappTemplateDetail",
            "cams:GetChatappTemplateMetric",
            "cams:GetChatappUploadAuthorization",
            "cams:GetChatappVerifyCode",
            "cams:GetCommerceSetting",
            "cams:GetContactsByGroupId",
            "cams:GetContactsExcelTemplate",
            "cams:GetContactsList",
            "cams:GetConversationalAutomation",
            "cams:GetCountByPartner",
            "cams:GetCountryList",
            "cams:GetCurrentRole",
            "cams:GetCustAuditLog",
            "cams:GetCustByCode",
            "cams:GetCustomTask",
            "cams:GetCustomerSite",
            "cams:GetDefaultLanguage",
            "cams:GetDownloadApplicationMaterials",
            "cams:GetDownloadExcelList",
            "cams:GetFbInstagramPages",
            "cams:GetFbMessengerAdInfo",
            "cams:GetFbMessengerPages",
            "cams:GetFileStringByFileName",
            "cams:GetFlow",
            "cams:GetFlowJSONAssest",
            "cams:GetFlowPreviewUrl",
            "cams:GetGroupExist",
            "cams:GetHrefInfo",
            "cams:GetMessageCampaignInsights",
            "cams:GetMigrationVerifyCode",
            "cams:GetNLGenChatFlow",
            "cams:GetNLGenChatFlowPromptExpansion",
            "cams:GetNLGenChatFlowPromptOptimization",
            "cams:GetOSSInfoForUploadFile",
            "cams:GetOssConfig",
            "cams:GetOssInfoForUploadFile",
            "cams:GetPermissionByCode",
            "cams:GetPersonalizedBillConfig",
            "cams:GetPersonalizedBillMonthDownloadTaskResult",
            "cams:GetPhoneEncryptionPublicKey",
            "cams:GetPhoneNumberVerificationStatus",
            "cams:GetPledgeTemplateAddress",
            "cams:GetPreValidatePhoneId",
            "cams:GetSearchTreeData",
            "cams:GetUserBill",
            "cams:GetUserBillLadderSegmentDetail",
            "cams:GetUserInstanceBillLadderSegmentDetail",
            "cams:GetUserStatus",
            "cams:GetViberByRequestNo",
            "cams:GetViberPauseTimes",
            "cams:GetWhatsappConnectionCatalog",
            "cams:GetWhatsappConversionApi",
            "cams:GetWhatsappHealthStatus",
            "cams:GetWhatsappInsights",
            "cams:GetWhiteList",
            "cams:ListAdvert",
            "cams:ListAllAudit",
            "cams:ListAllGroups",
            "cams:ListAuditAndFailByType",
            "cams:ListBaseTemplate",
            "cams:ListBindDmAccount",
            "cams:ListBindingRelationsForFlowVersion",
            "cams:ListBlockUsers",
            "cams:ListChatFlow",
            "cams:ListChatFlowTemplate",
            "cams:ListChatGroup",
            "cams:ListChatGroupParticipants",
            "cams:ListChatappMessage",
            "cams:ListChatappTemplate",
            "cams:ListCountByBar",
            "cams:ListCountByLine",
            "cams:ListCountry",
            "cams:ListCust",
            "cams:ListCustomAudience",
            "cams:ListCustomBillTab",
            "cams:ListCustomTask",
            "cams:ListDayUseDetail",
            "cams:ListDict",
            "cams:ListDmAccount",
            "cams:ListDmTag",
            "cams:ListFacebookPosts",
            "cams:ListFlow",
            "cams:ListFlowNodeGroup",
            "cams:ListFlowNodePrototypeV2",
            "cams:ListFlowVersion",
            "cams:ListHref",
            "cams:ListInstagramPage",
            "cams:ListInstagramPosts",
            "cams:ListIntent",
            "cams:ListLanguage",
            "cams:ListMarketingFlow",
            "cams:ListMessageCampaign",
            "cams:ListMessageType",
            "cams:ListMessengerPage",
            "cams:ListMessengerSubscriptionToken",
            "cams:ListMixMessage",
            "cams:ListOwnViberAudit",
            "cams:ListOwnViberChangeDest",
            "cams:ListPageAdAccount",
            "cams:ListPhoneMessageQrdl",
            "cams:ListProduct",
            "cams:ListProductCatalog",
            "cams:ListReleaseRecords",
            "cams:ListSenderIdReport",
            "cams:ListSwitchVariable",
            "cams:ListTemplateLanguage",
            "cams:ListTemplateParam",
            "cams:ListUserBillDetail",
            "cams:ListUserBillingInstanceBillDetail",
            "cams:ListVariableType",
            "cams:ListViberServiceMessage",
            "cams:ListWabaIdByInputToken"
          ],
          "Resource": "*"
        }
      ]
    }
    
  • Allows all operations that do not support resource group-level authorization. The Action element lists these operations.

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "cams:AddAddressRecoverSuspend",
            "cams:AddAuditViberOpen",
            "cams:AddChatGroup",
            "cams:AddChatGroupInviteLink",
            "cams:AddChatappPhoneNumber",
            "cams:AddContacts",
            "cams:AddCust",
            "cams:AddCustomAudienceUser",
            "cams:AddFacebookSource",
            "cams:AddGroup",
            "cams:AddHref",
            "cams:AddInstagramContainer",
            "cams:AddMarketingFlow",
            "cams:AddTemplate",
            "cams:AssociateContact",
            "cams:AssociateContactWithGroup",
            "cams:BatchDeleteTemplate",
            "cams:BindAgent",
            "cams:BindDmAccount",
            "cams:BindInstagramPage",
            "cams:BindMessengerPage",
            "cams:ChatAppWebPost",
            "cams:ChatappBindWaba",
            "cams:ChatappEmbedSignUp",
            "cams:ChatappMigrationRegister",
            "cams:ChatappMigrationVerified",
            "cams:ChatappPhoneNumberDeregister",
            "cams:ChatappPhoneNumberRegister",
            "cams:ChatappSyncPhoneNumber",
            "cams:ChatappVerifyAndRegister",
            "cams:CheckCust",
            "cams:ConsoleQueryChatbotInfo",
            "cams:CopyTemplate",
            "cams:CpassGetInstagramPages",
            "cams:CpassGetMessengerPages",
            "cams:CpassInstagramBindPage",
            "cams:CpassMessengerBindPage",
            "cams:CpassModifyWebhook",
            "cams:CreateChatFlow",
            "cams:CreateChatFlowByImport",
            "cams:CreateChatFlowLogSetting",
            "cams:CreateChatappMigrationInitiate",
            "cams:CreateChatappTemplate",
            "cams:CreateCustomAudience",
            "cams:CreateFlow",
            "cams:CreateFlowVersion",
            "cams:CreateMassPlanning",
            "cams:CreateMessageCampaign",
            "cams:CreateMessengerPage",
            "cams:CreateMixTemplateAuditOrder",
            "cams:CreatePhoneMessageQrdl",
            "cams:CreateWhatsappConversionApi",
            "cams:DeleteAgent",
            "cams:DeleteChatFlow",
            "cams:DeleteChatGroup",
            "cams:DeleteChatGroupInviteLink",
            "cams:DeleteChatGroupParticipants",
            "cams:DeleteChatParticipants",
            "cams:DeleteChatappTemplate",
            "cams:DeleteContacts",
            "cams:DeleteContactsByIds",
            "cams:DeleteFlow",
            "cams:DeleteFlowVersion",
            "cams:DeleteGroupById",
            "cams:DeleteInstagramPage",
            "cams:DeleteMarketingFlow",
            "cams:DeleteMessageCampaign",
            "cams:DeleteMessengerPage",
            "cams:DeleteMixMessage",
            "cams:DeletePhoneMessageQrdl",
            "cams:DeprecateFlow",
            "cams:EnableScheduling",
            "cams:EnableWhatsappROIMetric",
            "cams:ExportBlockUsers",
            "cams:FacebookDelete",
            "cams:FacebookFeed",
            "cams:FlowBindPhone",
            "cams:FlowRebindPhone",
            "cams:FlowUnbindPhone",
            "cams:GenerateBillMonthDownloadTask",
            "cams:GeneratePersonalizedBillMonthDownloadTask",
            "cams:GeneratePresignedUrl",
            "cams:GetAuditRequestByTypeUnAudit",
            "cams:GetBillMonthDownloadTaskResult",
            "cams:GetBillUpgradeLayerInfo",
            "cams:GetBillViewDescription",
            "cams:GetBillingDetailDownloadTaskResult",
            "cams:GetBindAgentAttribute",
            "cams:GetChatFlowMetric",
            "cams:GetChatFlowMetricAnalyze",
            "cams:GetChatFlowTemplate",
            "cams:GetChatGroupInfo",
            "cams:GetChatOptionInfo",
            "cams:GetChatappConversationMetric",
            "cams:GetChatappOpenStatus",
            "cams:GetChatappPhoneNumberMetric",
            "cams:GetChatappPhoneNumberSetting",
            "cams:GetChatappTemplateDetail",
            "cams:GetChatappTemplateMetric",
            "cams:GetChatappUploadAuthorization",
            "cams:GetChatappVerifyCode",
            "cams:GetCommerceSetting",
            "cams:GetContactsByGroupId",
            "cams:GetContactsExcelTemplate",
            "cams:GetContactsList",
            "cams:GetConversationalAutomation",
            "cams:GetCountByPartner",
            "cams:GetCountryList",
            "cams:GetCurrentRole",
            "cams:GetCustAuditLog",
            "cams:GetCustByCode",
            "cams:GetCustomTask",
            "cams:GetCustomerSite",
            "cams:GetDefaultLanguage",
            "cams:GetDownloadApplicationMaterials",
            "cams:GetDownloadExcelList",
            "cams:GetFbInstagramPages",
            "cams:GetFbMessengerAdInfo",
            "cams:GetFbMessengerPages",
            "cams:GetFileStringByFileName",
            "cams:GetFlow",
            "cams:GetFlowJSONAssest",
            "cams:GetFlowPreviewUrl",
            "cams:GetGroupExist",
            "cams:GetHrefInfo",
            "cams:GetMessageCampaignInsights",
            "cams:GetMigrationVerifyCode",
            "cams:GetNLGenChatFlow",
            "cams:GetNLGenChatFlowPromptExpansion",
            "cams:GetNLGenChatFlowPromptOptimization",
            "cams:GetOSSInfoForUploadFile",
            "cams:GetOssConfig",
            "cams:GetOssInfoForUploadFile",
            "cams:GetPermissionByCode",
            "cams:GetPersonalizedBillConfig",
            "cams:GetPersonalizedBillMonthDownloadTaskResult",
            "cams:GetPhoneEncryptionPublicKey",
            "cams:GetPhoneNumberVerificationStatus",
            "cams:GetPledgeTemplateAddress",
            "cams:GetPreValidatePhoneId",
            "cams:GetSearchTreeData",
            "cams:GetUserBill",
            "cams:GetUserBillLadderSegmentDetail",
            "cams:GetUserInstanceBillLadderSegmentDetail",
            "cams:GetUserStatus",
            "cams:GetViberByRequestNo",
            "cams:GetViberPauseTimes",
            "cams:GetWhatsappConnectionCatalog",
            "cams:GetWhatsappConversionApi",
            "cams:GetWhatsappHealthStatus",
            "cams:GetWhatsappInsights",
            "cams:GetWhiteList",
            "cams:InstagramFeed",
            "cams:IsPostPaidCustomer",
            "cams:IsvGetAppId",
            "cams:ListAdvert",
            "cams:ListAllAudit",
            "cams:ListAllGroups",
            "cams:ListAuditAndFailByType",
            "cams:ListBaseTemplate",
            "cams:ListBindDmAccount",
            "cams:ListBindingRelationsForFlowVersion",
            "cams:ListBlockUsers",
            "cams:ListChatFlow",
            "cams:ListChatFlowTemplate",
            "cams:ListChatGroup",
            "cams:ListChatGroupParticipants",
            "cams:ListChatappMessage",
            "cams:ListChatappTemplate",
            "cams:ListCountByBar",
            "cams:ListCountByLine",
            "cams:ListCountry",
            "cams:ListCust",
            "cams:ListCustomAudience",
            "cams:ListCustomBillTab",
            "cams:ListCustomTask",
            "cams:ListDayUseDetail",
            "cams:ListDict",
            "cams:ListDmAccount",
            "cams:ListDmTag",
            "cams:ListFacebookPosts",
            "cams:ListFlow",
            "cams:ListFlowNodeGroup",
            "cams:ListFlowNodePrototypeV2",
            "cams:ListFlowVersion",
            "cams:ListHref",
            "cams:ListInstagramPage",
            "cams:ListInstagramPosts",
            "cams:ListIntent",
            "cams:ListLanguage",
            "cams:ListMarketingFlow",
            "cams:ListMessageCampaign",
            "cams:ListMessageType",
            "cams:ListMessengerPage",
            "cams:ListMessengerSubscriptionToken",
            "cams:ListMixMessage",
            "cams:ListOwnViberAudit",
            "cams:ListOwnViberChangeDest",
            "cams:ListPageAdAccount",
            "cams:ListPhoneMessageQrdl",
            "cams:ListProduct",
            "cams:ListProductCatalog",
            "cams:ListReleaseRecords",
            "cams:ListSenderIdReport",
            "cams:ListSwitchVariable",
            "cams:ListTemplateLanguage",
            "cams:ListTemplateParam",
            "cams:ListUserBillDetail",
            "cams:ListUserBillingInstanceBillDetail",
            "cams:ListVariableType",
            "cams:ListViberServiceMessage",
            "cams:ListWabaIdByInputToken",
            "cams:ModifyBlockUsers",
            "cams:ModifyChatappPhoneNumber",
            "cams:ModifyChatappTemplate",
            "cams:ModifyChatappTemplateProperties",
            "cams:ModifyFlow",
            "cams:ModifyPhoneBusinessProfile",
            "cams:ModifyWebhook",
            "cams:MoveContactToGroup",
            "cams:OfflineFlowVersion",
            "cams:OnlineFlowVersion",
            "cams:OpenChatappService",
            "cams:OpenProduct",
            "cams:PagePersonalizedBill",
            "cams:PauseMarketingFLow",
            "cams:PublishFlow",
            "cams:QueryChatappBindWaba",
            "cams:QueryChatappPhoneNumbers",
            "cams:QueryMMLActive",
            "cams:QueryPackageDetail",
            "cams:QueryPackageSummary",
            "cams:QueryPackageType",
            "cams:QueryPhoneBusinessProfile",
            "cams:QueryProductOpenStatus",
            "cams:QueryThreshold",
            "cams:QueryTokenForMnsQueue",
            "cams:QueryWabaBusinessInfo",
            "cams:QueryWabaByEmbedSignUp",
            "cams:RamUserIsOpen",
            "cams:RamUserOpen",
            "cams:ReadChatFlow",
            "cams:ReadChatFlowLogSetting",
            "cams:ReadFlowVersion",
            "cams:RemoveContactById",
            "cams:RemoveContacts",
            "cams:RequestWhatsappConversionApi",
            "cams:SendChatappMassMessage",
            "cams:SendChatappMessage",
            "cams:SubmitIsvCustomerTerms",
            "cams:SyncBusinessAppHistory",
            "cams:SyncMessageCampaign",
            "cams:SyncMessengerSubscriptionToken",
            "cams:TranslateCustToIsv",
            "cams:TriggerChatFlow",
            "cams:UnbindDmAccount",
            "cams:UpdateAccountWebhook",
            "cams:UpdateAuditRequest",
            "cams:UpdateChatFlow",
            "cams:UpdateChatFlowLogSetting",
            "cams:UpdateChatGroup",
            "cams:UpdateChatappPhoneNumberSetting",
            "cams:UpdateCheckCode",
            "cams:UpdateCommerceSetting",
            "cams:UpdateContactById",
            "cams:UpdateConversationalAutomation",
            "cams:UpdateCust",
            "cams:UpdateFlowJSONAsset",
            "cams:UpdateFlowVersion",
            "cams:UpdateGroupName",
            "cams:UpdateHref",
            "cams:UpdateMarketingFLow",
            "cams:UpdatePackageRemainAlarmThreshold",
            "cams:UpdatePackgeRemainAlarmThreshold",
            "cams:UpdatePersonalizedBillConfig",
            "cams:UpdatePhoneEncryptionPublicKey",
            "cams:UpdatePhoneMessageQrdl",
            "cams:UpdatePhoneWebhook",
            "cams:UpdateViberWebhook",
            "cams:UpdateWabaMmlStatus"
          ],
          "Resource": "*"
        }
      ]
    }
    
Important

A RAM user or RAM role with account-level permissions can manage all resources in your account. Ensure granted permissions match their intended use, and always follow the principle of least privilege.

FAQ

View a resource's resource group

  • Method 1: Click the resource name to open its details page, which shows the resource group.

  • Method 2: Log in to the Resource Management console and click Resource Center > Resource Search. On the left, select the account that owns the resource (current account is selected by default). Use the filters to find the target resource and view its resource group.

View product resources within a resource group

  • Method 1: Log in to the Resource Management console and click Resource Center > Resource Search. On the left, under the account section (current account is selected by default), click the name of the target resource group. Then, on the right, select the product from the Select resource type list. The page then lists all resources for that product within the selected resource group.

  • Method 2: Log in to the Resource Management console and click Resource Group > Resource Group. Find the target resource group and click Manage Resources in the Actions column. On the Manage Resources page, select the product from the Product dropdown menu to view all of its resources in that resource group.

Move resources to another resource group

Log in to the Resource Management console and click Resource Group > Resource Group. Find the target resource group and click Manage Resources in the Actions column to go to the resource management page. Use the filters to find the resources that you want to move. Select the checkboxes for these resources, click move to resource group at the bottom of the list, then follow the on-screen prompts to complete the move.