Resource Access Management (RAM) は Alibaba Cloud によって提供される、ユーザーのアイデンティティとリソースの権限を管理するためのサービスです。RAM を使用すると、Alibaba Cloud アカウント (root ユーザー) のキーを他のユーザーと共有することを回避でき、ユーザーに必要最小限の権限を付与できます。RAM ではポリシーを使用して権限付与を定義します。このトピックでは、RAM ポリシーの一般的な構造と、 Chat App Message Service のポリシーステートメントを構成する要素である「アクション (Action)」「リソース (Resource)」および「条件 (Condition) 」について説明します。 Chat App Message Service は、RAM コード (RamCode) が cams で、 RESOURCE での権限付与がサポートされています。
一般的なポリシー構造
RAM ポリシーは、一般的に以下のような JSON 構造で構成されます。
{
"Version": "1",
"Statement": [
{
"Effect": "<Effect>",
"Action": "<Action>",
"Resource": "<Resource>",
"Condition": {
"<Condition_operator>": {
"<Condition_key>": [
"<Condition_value>"
]
}
}
}
]
} ポリシーのフィールドに関する説明:
Version:ポリシーのバージョン番号。現在のポリシーバージョンは 1 です。
Statement:
Effect:「許可するか、拒否するか」という、最終的な結果を定義します。有効な値:Allow (許可) または Deny (拒否)。
Action:「何をすることができるか、できないか」を定義する、リソースへの具体的な操作を指します。
Resource:「何に対して操作を行うか」を定義する、操作の具体的な対象です。対象となるリソースは、ARN (Alibaba Cloud Resource Name) を使用して指定できます。
Condition:「どのような状況下でポリシーが適用されるか」という、権限が有効になるための付加的な制約条件を定義します。このフィールドは任意です。
Condition operator:条件の演算子。条件キーの値とリクエスト値をどのように比較するかを定義する「比較方法」です。条件演算子は、条件のタイプによって異なります。
Condition_key:条件のキー。ポリシーの条件が満たされているかを判断するために、リクエストから参照・チェックされる特定の属性を指します。
Condition_value:条件の値。条件キーから取得されたリクエスト値と比較するための、具体的な「基準値」です。
アクション (Action)
下表に、Chat App Message Service で定義されたアクションを示します。以下で各列名について説明します。
アクション:特定のリソースに対して実行可能な操作。ポリシー構文では
Action要素として指定します。API:アクションを具体的に実行するための API。
アクセスレベル:各 API に対して事前定義されているアクセスの種類。有効な値:create、list、get、update、delete。
リソースタイプ:アクションが作用するリソースの種類。リソースレベルでの権限をサポートするかどうかを示すことができます。ポリシーの有効性を確保するため、アクションの対象として適切なリソースを指定する必要があります。
リソースレベルの権限を持つ API の場合、必要なリソースタイプはアスタリスク (*) でマークされます。ポリシーの
Resource要素で対応する ARN を指定してください。リソースレベルの権限を持たない API の場合、「すべてのリソース」と表示され、ポリシーの
Resource要素でアスタリスク (*) でマークされます。
条件キー:サービスによって定義された条件のキー。このキーにより、きめ細やかなアクセス制御が可能になります。この制御は、アクション単体に適用することも、特定のリソースに対するアクションに適用することもできます。Alibaba Cloud は、サービス固有の条件キーに加えて、すべての RAM 統合サービスに適用可能な一連の共通条件キーを提供しています。詳細については、「共通条件キー」をご参照ください。
依存アクション:ある特定のアクションを実行するために、前提として実行が必要となる他のアクション。依存アクションの権限も RAM ユーザーまたは RAM ロールに付与する必要があります。
|
アクション |
API |
アクセスレベル |
リソースタイプ |
条件キー |
依存アクション |
| cams:QueryInstance | QueryInstance | get |
*Instance
|
なし | なし |
| cams:DeleteFlow | DeleteFlow | get |
*All Resource
|
なし | なし |
| cams:ChatappPhoneNumberDeregister | ChatappPhoneNumberDeregister | update |
*All Resource
|
なし | なし |
| cams:CreateChatappMigrationInitiate | CreateChatappMigrationInitiate | create |
*All Resource
|
なし | なし |
| cams:ListViberServiceMessage | ListViberServiceMessage | list |
*All Resource
|
なし | なし |
| cams:ReadFlowVersion | ReadFlowVersion | create |
*All Resource
|
なし | なし |
| cams:IsvGetAppId | IsvGetAppId | get |
*All Resource
|
なし | なし |
| cams:ListFlow | ListFlow | list |
*All Resource
|
なし | なし |
| cams:RequestWhatsappConversionApi | RequestWhatsappConversionApi | none |
*All Resource
|
なし | なし |
| cams:UpdateCommerceSetting | UpdateCommerceSetting | update |
*All Resource
|
なし | なし |
| cams:ListChatFlowTemplate | ListChatFlowTemplate | create |
*All Resource
|
なし | なし |
| cams:GetViberPauseTimes | GetViberPauseTimes | get |
*All Resource
|
なし | なし |
| cams:GetViberByRequestNo | GetViberByRequestNo | list |
*All Resource
|
なし | なし |
| cams:ListAllGroups | ListAllGroups | list |
*All Resource
|
なし | なし |
| cams:ListBindDmAccount | ListBindDmAccount | list |
*All Resource
|
なし | なし |
| cams:GetCommerceSetting | GetCommerceSetting | update |
*All Resource
|
なし | なし |
| cams:GetConversationalAutomation | GetConversationalAutomation | get |
*All Resource
|
なし | なし |
| cams:OfflineFlowVersion | OfflineFlowVersion | update |
*All Resource
|
なし | なし |
| cams:AddMarketingFlow | AddMarketingFlow | create |
*All Resource
|
なし | なし |
| cams:AddChatappPhoneNumber | AddChatappPhoneNumber | update |
*All Resource
|
なし | なし |
| cams:GetChatappTemplateDetail | GetChatappTemplateDetail | get |
*All Resource
|
なし | なし |
| cams:DeleteWhatsappUserName | DeleteWhatsappUserName | delete |
*All Resource
|
なし | なし |
| cams:GetAuditRequestByTypeUnAudit | GetAuditRequestByTypeUnAudit | list |
*All Resource
|
なし | なし |
| cams:ChatappPhoneNumberRegister | ChatappPhoneNumberRegister | update |
*All Resource
|
なし | なし |
| cams:QueryChatappBindWaba | QueryChatappBindWaba | get |
*All Resource
|
なし | なし |
| cams:QueryChatappPhoneNumbers | QueryChatappPhoneNumbers | list |
*All Resource
|
なし | なし |
| cams:UpdateConversationalAutomation | UpdateConversationalAutomation | update |
*All Resource
|
なし | なし |
| cams:GeneratePresignedUrl | GeneratePresignedUrl | create |
*All Resource
|
なし | なし |
| cams:BindMessengerPage | BindMessengerPage | update |
*All Resource
|
なし | なし |
| cams:QueryPhoneBusinessProfile | QueryPhoneBusinessProfile | get |
*All Resource
|
なし | なし |
| cams:CreateFlowVersion | CreateFlowVersion | create |
*All Resource
|
なし | なし |
| cams:ModifyFlow | ModifyFlow | get |
*All Resource
|
なし | なし |
| cams:ChatappBindWaba | ChatappBindWaba | update |
*All Resource
|
なし | なし |
| cams:GetWhatsappUserNameSuggestions | GetWhatsappUserNameSuggestions | get |
*All Resource
|
なし | なし |
| cams: | WhatsappCall | create |
*All Resource
|
なし | なし |
| cams:ChangeResourceGroup | ChangeResourceGroup | update |
*All Resource
|
なし | なし |
| cams:ChatappMigrationVerified | ChatappMigrationVerified | update |
*All Resource
|
なし | なし |
| cams:ListWhatAppTemplate | ListWhatAppTemplate | list |
*Instance
|
なし | なし |
| cams:UpdateAuditRequest | UpdateAuditRequest | update |
*All Resource
|
なし | なし |
| cams:DeleteChatFlow | DeleteChatFlow | delete |
*All Resource
|
なし | なし |
| cams:GetWhatsappConnectionCatalog | GetWhatsappConnectionCatalog | get |
*All Resource
|
なし | なし |
| cams:AddAddressRecoverSuspend | AddAddressRecoverSuspend | create |
*All Resource
|
なし | なし |
| cams:ListInstance | ListInstance | list |
*Instance
|
なし | なし |
| cams:SyncMessengerSubscriptionToken | SyncMessengerSubscriptionToken | update |
*All Resource
|
なし | なし |
| cams:UpdateContactById | UpdateContactById | update |
*All Resource
|
なし | なし |
| cams:GetWhatsappUserName | GetWhatsappUserName | get |
*All Resource
|
なし | なし |
| cams:SubmitVerifyCodeResult | SubmitVerifyCodeResult | create |
*All Resource
|
なし | なし |
| cams:DeleteInstance | DeleteInstance | delete |
*Instance
|
なし | なし |
| cams:GetMigrationVerifyCode | GetMigrationVerifyCode | get |
*All Resource
|
なし | なし |
| cams:CheckDirectSendMessageSample | CheckDirectSendMessageSample | get |
*All Resource
|
なし | なし |
| cams:GetChatappPhoneNumberSetting | GetChatappPhoneNumberSetting | get |
*All Resource
|
なし | なし |
| cams:ListFlowVersion | ListFlowVersion | list |
*All Resource
|
なし | なし |
| cams:GetChatappVerifyCode | GetChatappVerifyCode | get |
*All Resource
|
なし | なし |
| cams:ListFlowNodeGroup | ListFlowNodeGroup | list |
*All Resource
|
なし | なし |
| cams:GetChatappPhoneNumberMetric | GetChatappPhoneNumberMetric | get |
*All Resource
|
なし | なし |
| cams:ListBindingRelationsForFlowVersion | ListBindingRelationsForFlowVersion | create |
*All Resource
|
なし | なし |
| cams:ListInstagramPage | ListInstagramPage | list |
*All Resource
|
なし | なし |
| cams:AddAuditViberOpen | AddAuditViberOpen | create |
*All Resource
|
なし | なし |
| cams:UpdateChatGroup | UpdateChatGroup | update |
*All Resource
|
なし | なし |
| cams:UpdateFlowJSONAsset | UpdateFlowJSONAsset | update |
*All Resource
|
なし | なし |
| cams:GetGroupExist | GetGroupExist | get |
*All Resource
|
なし | なし |
| cams:UpdateGroupName | UpdateGroupName | update |
*All Resource
|
なし | なし |
| cams:DeleteChatGroupParticipants | DeleteChatGroupParticipants | delete |
*All Resource
|
なし | なし |
| cams:FlowBindPhone | FlowBindPhone | update |
*All Resource
|
なし | なし |
| cams:UpdatePhoneEncryptionPublicKey | UpdatePhoneEncryptionPublicKey | update |
*All Resource
|
なし | なし |
| cams:ListMessageCampaign | ListMessageCampaign | list |
*All Resource
|
なし | なし |
| cams:DeletePhoneMessageQrdl | DeletePhoneMessageQrdl | get |
*All Resource
|
なし | なし |
| cams:UpdateWabaMmlStatus | UpdateWabaMmlStatus | update |
*All Resource
|
なし | なし |
| cams:MoveContactToGroup | MoveContactToGroup | update |
*All Resource
|
なし | なし |
| cams:UpdateInstance | UpdateInstance | update |
*Instance
|
なし | なし |
| cams:CreateFlow | CreateFlow | create |
*All Resource
|
なし | なし |
| cams:UpdateFlowVersion | UpdateFlowVersion | update |
*All Resource
|
なし | なし |
| cams:CreatePhoneMessageQrdl | CreatePhoneMessageQrdl | create |
*All Resource
|
なし | なし |
| cams:ListPhoneMessageQrdl | ListPhoneMessageQrdl | get |
*All Resource
|
なし | なし |
| cams:DeprecateFlow | DeprecateFlow | get |
*All Resource
|
なし | なし |
| cams:TriggerChatFlow | TriggerChatFlow | create |
*All Resource
|
なし | なし |
| cams:UpdatePhoneMessageQrdl | UpdatePhoneMessageQrdl | update |
*All Resource
|
なし | なし |
| cams:GetWhatsappHealthStatus | GetWhatsappHealthStatus | get |
*All Resource
|
なし | なし |
| cams:ListFacebookPosts | ListFacebookPosts | list |
*All Resource
|
なし | なし |
| cams:UpdateChatFlowLogSetting | UpdateChatFlowLogSetting | create |
*All Resource
|
なし | なし |
| cams:ModifyChatappTemplate | ModifyChatappTemplate | update |
*All Resource
|
なし | なし |
| cams:CreateChatFlowLogSetting | CreateChatFlowLogSetting | create |
*All Resource
|
なし | なし |
| cams:ChatappMigrationRegister | ChatappMigrationRegister | update |
*All Resource
|
なし | なし |
| cams:CreateInstance | CreateInstance | create |
*Instance
|
なし | なし |
| cams:FlowRebindPhone | FlowRebindPhone | update |
*All Resource
|
なし | なし |
| cams:GetFbInstagramPages | GetFbInstagramPages | get |
*All Resource
|
なし | なし |
| cams:GetPhoneNumberVerificationStatus | GetPhoneNumberVerificationStatus | get |
*All Resource
|
なし | なし |
| cams:OpenChatappService | OpenChatappService | get |
*All Resource
|
なし | なし |
| cams:AddChatGroupInviteLink | AddChatGroupInviteLink | create |
*All Resource
|
なし | なし |
| cams:ListProductCatalog | ListProductCatalog | list |
*All Resource
|
なし | なし |
| cams:DeleteContactsByIds | DeleteContactsByIds | update |
*All Resource
|
なし | なし |
| cams:DeleteContacts | DeleteContacts | delete |
*All Resource
|
なし | なし |
| cams:SendChatappMessage | SendChatappMessage | create |
*All Resource
|
なし | なし |
| cams:ListDmTag | ListDmTag | list |
*All Resource
|
なし | なし |
| cams:AddCustomAudienceUser | AddCustomAudienceUser | create |
*All Resource
|
なし | なし |
| cams:UnbindDmAccount | UnbindDmAccount | delete |
*All Resource
|
なし | なし |
| cams:SendChatappMassMessage | SendChatappMassMessage | create |
*All Resource
|
なし | なし |
| cams:ListInstagramPosts | ListInstagramPosts | list |
*All Resource
|
なし | なし |
| cams:GetPhoneEncryptionPublicKey | GetPhoneEncryptionPublicKey | get |
*All Resource
|
なし | なし |
| cams:ListChatGroup | ListChatGroup | list |
*All Resource
|
なし | なし |
| cams:DeleteChatGroup | DeleteChatGroup | delete |
*All Resource
|
なし | なし |
| cams:ArchiveChatappTemplate | ArchiveChatappTemplate | update |
*All Resource
|
なし | なし |
| cams:AddGroup | AddGroup | create |
*All Resource
|
なし | なし |
| cams:ModifyPhoneBusinessProfile | ModifyPhoneBusinessProfile | update |
*All Resource
|
なし | なし |
| cams:DeleteChatGroupInviteLink | DeleteChatGroupInviteLink | delete |
*All Resource
|
なし | なし |
| cams:SyncMessageCampaign | SyncMessageCampaign | update |
*All Resource
|
なし | なし |
| cams:GetPermissionByCode | GetPermissionByCode | get |
*All Resource
|
なし | なし |
| cams:CopyTemplate | CopyTemplate | create |
*All Resource
|
なし | なし |
| cams:QueryWabaBusinessInfo | QueryWabaBusinessInfo | get |
*All Resource
|
なし | なし |
| cams:ListDmAccount | ListDmAccount | list |
*All Resource
|
なし | なし |
| cams:AddContacts | AddContacts | create |
*All Resource
|
なし | なし |
| cams:CreateChatFlow | CreateChatFlow | create |
*All Resource
|
なし | なし |
| cams:GetChatFlowTemplate | GetChatFlowTemplate | create |
*All Resource
|
なし | なし |
| cams:GetPledgeTemplateAddress | GetPledgeTemplateAddress | get |
*All Resource
|
なし | なし |
| cams:ListChatFlow | ListChatFlow | list |
*All Resource
|
なし | なし |
| cams:BindDmAccount | BindDmAccount | create |
*All Resource
|
なし | なし |
| cams:GetChatappOpenStatus | GetChatappOpenStatus | get |
*All Resource
|
なし | なし |
| cams:DeleteInstagramPage | DeleteInstagramPage | update |
*All Resource
|
なし | なし |
| cams:CreateChatappTemplate | CreateChatappTemplate | create |
*All Resource
|
なし | なし |
| cams:PublishFlow | PublishFlow | get |
*All Resource
|
なし | なし |
| cams:GetFlowJSONAssest | GetFlowJSONAssest | get |
*All Resource
|
なし | なし |
| cams:ReadChatFlowLogSetting | ReadChatFlowLogSetting | create |
*All Resource
|
なし | なし |
| cams:ListChatappTemplate | ListChatappTemplate | list |
*All Resource
|
なし | なし |
| cams:ListMarketingFlow | ListMarketingFlow | list |
*All Resource
|
なし | なし |
| cams:GetFbMessengerPages | GetFbMessengerPages | get |
*All Resource
|
なし | なし |
| cams:BindInstagramPage | BindInstagramPage | update |
*All Resource
|
なし | なし |
| cams:DeleteMarketingFlow | DeleteMarketingFlow | update |
*All Resource
|
なし | なし |
| cams:OnlineFlowVersion | OnlineFlowVersion | update |
*All Resource
|
なし | なし |
| cams:ListChatappMessage | ListChatappMessage | list |
*All Resource
|
なし | なし |
| cams:CreateWhatsappConversionApi | CreateWhatsappConversionApi | create |
*All Resource
|
なし | なし |
| cams:UpdateAccountWebhook | UpdateAccountWebhook | update |
*All Resource
|
なし | なし |
| cams:CreateMessengerPage | CreateMessengerPage | create |
*All Resource
|
なし | なし |
| cams:DeleteFlowVersion | DeleteFlowVersion | update |
*All Resource
|
なし | なし |
| cams:GetFlowPreviewUrl | GetFlowPreviewUrl | get |
*All Resource
|
なし | なし |
| cams:RemoveContactById | RemoveContactById | update |
*All Resource
|
なし | なし |
| cams:GetCustomerSite | GetCustomerSite | get |
*All Resource
|
なし | なし |
| cams: | SyncBusinessAppHistory | get |
*All Resource
|
なし | なし |
| cams:GetChatFlowMetric | GetChatFlowMetric | get |
*All Resource
|
なし | なし |
| cams:GetChatappTemplateMetric | GetChatappTemplateMetric | get |
*All Resource
|
なし | なし |
| cams:ListPageAdAccount | ListPageAdAccount | list |
*All Resource
|
なし | なし |
| cams: | SyncFlow | update |
*All Resource
|
なし | なし |
| cams:ChatappSyncPhoneNumber | ChatappSyncPhoneNumber | list |
*All Resource
|
なし | なし |
| cams:UpdateChatFlow | UpdateChatFlow | update |
*All Resource
|
なし | なし |
| cams:ListFlowNodePrototypeV2 | ListFlowNodePrototypeV2 | list |
*All Resource
|
なし | なし |
| cams:DeleteMessengerPage | DeleteMessengerPage | update |
*All Resource
|
なし | なし |
| cams:UpdatePhoneWebhook | UpdatePhoneWebhook | update |
*All Resource
|
なし | なし |
| cams:GetPreValidatePhoneId | GetPreValidatePhoneId | get |
*All Resource
|
なし | なし |
| cams:GetFlow | GetFlow | get |
*All Resource
|
なし | なし |
| cams:CreateMessageCampaign | CreateMessageCampaign | create |
*All Resource
|
なし | なし |
| cams:GetChatappUploadAuthorization | GetChatappUploadAuthorization | get |
*All Resource
|
なし | なし |
| cams:UpdateMarketingFLow | UpdateMarketingFLow | update |
*All Resource
|
なし | なし |
| cams:PauseMarketingFLow | PauseMarketingFLow | update |
*All Resource
|
なし | なし |
| cams:UpdateWhatsappUserName | UpdateWhatsappUserName | update |
*All Resource
|
なし | なし |
| cams:GetAutoGeneratedTemplate | GetAutoGeneratedTemplate | list |
*All Resource
|
なし | なし |
| cams:GetDownloadExcelList | GetDownloadExcelList | list |
*All Resource
|
なし | なし |
| cams:EnableWhatsappROIMetric | EnableWhatsappROIMetric | get |
*All Resource
|
なし | なし |
| cams:ListCustomAudience | ListCustomAudience | list |
*All Resource
|
なし | なし |
| cams:ListChatGroupParticipants | ListChatGroupParticipants | list |
*All Resource
|
なし | なし |
| cams:DeleteGroupById | DeleteGroupById | update |
*All Resource
|
なし | なし |
| cams: | DeleteMessageCampaign | delete |
*All Resource
|
なし | なし |
| cams:CreateCustomAudience | CreateCustomAudience | create |
*All Resource
|
なし | なし |
| cams:DeleteChatappTemplate | DeleteChatappTemplate | delete |
*All Resource
|
なし | なし |
| cams:AddChatGroup | AddChatGroup | create |
*All Resource
|
なし | なし |
| cams:ListMessengerSubscriptionToken | ListMessengerSubscriptionToken | list |
*All Resource
|
なし | なし |
| cams:ReadChatFlow | ReadChatFlow | create |
*All Resource
|
なし | なし |
| cams:CreateChatFlowByImport | CreateChatFlowByImport | create |
*All Resource
|
なし | なし |
| cams:GetMessageCampaignInsights | GetMessageCampaignInsights | get |
*All Resource
|
なし | なし |
| cams:ChatappVerifyAndRegister | ChatappVerifyAndRegister | update |
*All Resource
|
なし | なし |
| cams:ListProduct | ListProduct | list |
*All Resource
|
なし | なし |
| cams:GetWhatsappConversionApi | GetWhatsappConversionApi | get |
*All Resource
|
なし | なし |
| cams:FlowUnbindPhone | FlowUnbindPhone | update |
*All Resource
|
なし | なし |
リソース (Resource)
下表に、Chat App Message Service で定義されたリソースを示します。ポリシーステートメントのResource要素で指定することで、特定のアクションの適用対象を設定できます。各リソースは対応する ARN を持ち、一意的に識別されます。ARN はacs:{#ramcode}:{#regionId}:{#accountId}:{#resourceType}形式で、構成要素は以下のとおりです。
acs:Alibaba Cloud Service の頭文字で、Alibaba Cloud のパブリッククラウドを指します。{#ramcode}:RAM における具体的な Alibaba Cloud サービスの識別コード。{#regionId}:リージョン ID。アスタリスク (*) に設定した場合、リソースがすべてのリージョンに適用することを示します。{#accountId}:Alibaba Cloud アカウントの ID。アスタリスク (*) に設定した場合、リソースがすべての Alibaba Cloud アカウントに適用することを示します。{#resourceType}:具体的な Alibaba Cloud サービスによって定義されたリソースの識別子で、ファイルパスに似た階層構造をサポートしています。アスタリスク (*) に設定した場合、ステートメントがすべてのリソースに適用することを示します。
リソースタイプ |
ARN |
| Instance |
|
条件 (Condition)
Chat App Message Service では、プロダクトレベルの条件キーは定義されていません。その代わりに、Alibaba Cloud 共通条件キーを使用してアクセスを制御できます。詳細については、「共通条件キー」をご参照ください。
カスタム RAM ポリシーの作成方法
カスタムポリシーを作成し、RAM ユーザー、RAM ユーザーグループ、または RAM ロールに付与できます。詳細については、以下をご参照ください。