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.
-
Resource group-level authorization applies only to resource types that support resource groups and to actions that support resource group-level authorization.
-
Permissions granted at the resource group scope do not apply to resource types that do not support resource groups. When selecting a resource scope, you must select the account level and grant permissions there. For a list of specific actions, see Actions that do not support resource group-level authorization.
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
-
Create a RAM user. For more information, see Create a RAM user.
-
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.
-
Principal: Select an existing RAM user.
-
Policy: Select a system policy or an existing custom policy. For more information, see Create a custom 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 . 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 |
You can submit feedback in the resource group console to request support for additional resource types.

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: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.
Here 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
Actionelement 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
Actionelement 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": "*" } ] }
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 . 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 . 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 . 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 . 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.