All Products
Search
Document Center

Intelligent Media Management:RAM authorization

Last Updated:Dec 11, 2024
Resource Access Management (RAM) is a service provided by Alibaba Cloud to manage user identities and resource access permissions. You can use RAM to prevent RAM users from sharing the AccessKey pairs of your Alibaba Cloud account. You can also use RAM to grant minimum permissions to RAM users. RAM uses policies to define permissions.
This topic describes the elements, such as Action, Resource, and Condition, which are defined by IMM. You can use the elements to create policies in RAM. The code (RamCode) in RAM that is used to indicate IMM is [{"popCode":"imm","ramCodes":["imm"]},{"popCode":"imm-xp","ramCodes":["imm"]}]. You can grant permissions on IMM at the RESOURCE.

General structure of a policy

Policies can be stored as JSON files. The following code provides an example on the general structure of a policy:
{
  "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:
  • Effect: specifies the authorization effect. Valid values: Allow, Deny.
  • Action: specifies one or more API operations that are allowed or denied. For more information, see the Action section of this topic.
  • Resource: specifies one or more resources to which the policy applies. You can use an Alibaba Cloud Resource Name (ARN) to specify a resource. For more information, see the Resource section of this topic.
  • Condition: specifies one or more conditions that are required for the policy to take effect. This is an optional field. For more information, see the Condition section of this topic.
    • Condition_operator: specifies the conditional operators. Different types of conditions support different conditional operators. For more information, see Policy elements.
    • Condition_key: specifies the condition keys.
    • Condition_value: specifies the condition values.

Action

IMM defines the values that you can use in the Action element of a policy statement. The following table describes the values.
  • Operation: the value that you can use in the Action element to specify the operation on a resource.
  • API operation: the API operation that you can call to perform the operation.
  • Access level: the access level of each operation. The levels are read, write, and list.
  • Resource type: the type of the resource on which you can authorize the RAM user or the RAM role to perform the operation. Take note of the following items:
    • The required resource types are displayed in bold characters.
    • If the permissions cannot be granted at the resource level, All Resources is used in the Resource type column of the operation.
  • Condition key: the condition keys that are defined by the Alibaba Cloud service. The Condition key column does not list the common condition keys that are defined by Alibaba Cloud. For more information about the common condition keys, see Generic Condition Keyword.
  • Associated operation: other operations that the RAM user or the RAM role must have permissions to perform to complete the operation. To complete the operation, the RAM user or the RAM role must have the permissions to perform the associated operations.
ActionsAPI operationAccess levelResource typeCondition keyAssociated operation
imm:DetectMediaMetaDetectMediaMetanone
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:UpdateLocationDateClusterUpdateLocationDateClusterupdate
All Resources
*
NoneNone
imm:GetOSSBucketAttachmentGetOSSBucketAttachmentget
All Resources
*
NoneNone
imm:GetImageModerationResultGetImageModerationResultget
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:GetFileMetaGetFileMetaget
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
NoneNone
imm:EncodeBlindWatermarkEncodeBlindWatermarknone
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:CreateFigureClusteringTaskCreateFigureClusteringTaskcreate
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
NoneNone
imm:DetectImageCarsDetectImageCarsnone
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:GenerateVideoPlaylistGenerateVideoPlaylistnone
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:ExtractDocumentTextExtractDocumentTextnone
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:GenerateWebofficeTokenGenerateWebofficeTokennone
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:DetectImageLabelsDetectImageLabelsnone
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:ListTriggersListTriggerslist
Trigger
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/trigger/*
NoneNone
imm:DeleteBatchDeleteBatchdelete
Batch
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/batch/*
NoneNone
imm:DeleteStoryDeleteStorydelete
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
NoneNone
imm:GetTaskGetTaskget
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:ListProjectsListProjectslist
Project
acs:imm:{#regionId}:{#accountId}:project/*
NoneNone
imm:SuspendBatchSuspendBatchupdate
Batch
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/batch/*
NoneNone
imm:DetectImageCodesDetectImageCodesnone
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:DeleteLocationDateClusterDeleteLocationDateClusterdelete
All Resources
*
NoneNone
imm:CreateFileUncompressionTaskCreateFileUncompressionTaskcreate
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:SimpleQuerySimpleQuerylist
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
NoneNone
imm:GetDatasetGetDatasetget
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
NoneNone
imm:CreateCompressPointCloudTaskCreateCompressPointCloudTaskcreate
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:CreateBatchCreateBatchcreate
Batch
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/batch/*
NoneNone
imm:GetVideoLabelClassificationResultGetVideoLabelClassificationResultget
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:GetProjectGetProjectget
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:UpdateTriggerUpdateTriggerupdate
All Resources
*
NoneNone
imm:BatchUpdateFileMetaBatchUpdateFileMetaupdate
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
NoneNone
imm:UpdateBatchUpdateBatchupdate
All Resources
*
NoneNone
imm:CreateStoryCreateStorycreate
All Resources
*
NoneNone
imm:DetectImageScoreDetectImageScorenone
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:ListBatchesListBatcheslist
Batch
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/batch/*
NoneNone
imm:CreateProjectCreateProjectcreate
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:CreateImageToPDFTaskCreateImageToPDFTaskcreate
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:IndexFileMetaIndexFileMetacreate
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
NoneNone
imm:CompareImageFacesCompareImageFacesnone
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:ResumeTriggerResumeTriggerupdate
Trigger
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/trigger/*
NoneNone
imm:RefreshWebofficeTokenRefreshWebofficeTokennone
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:ListDatasetsListDatasetslist
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/*
NoneNone
imm:CreateMediaConvertTaskCreateMediaConvertTaskcreate
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:BatchDeleteFileMetaBatchDeleteFileMetadelete
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
NoneNone
imm:CreateDatasetCreateDatasetcreate
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
NoneNone
imm:DeleteBindingDeleteBindingdelete
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
NoneNone
imm:CreateCustomizedStoryCreateCustomizedStorycreate
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
NoneNone
imm:DeleteDatasetDeleteDatasetdelete
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
NoneNone
imm:SemanticQuerySemanticQuerylist
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
NoneNone
imm:DeleteProjectDeleteProjectdelete
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:UpdateProjectUpdateProjectupdate
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:GetStoryGetStoryget
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
NoneNone
imm:DeleteTriggerDeleteTriggerdelete
Trigger
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/trigger/*
NoneNone
imm:AddStoryFilesAddStoryFilesnone
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
NoneNone
imm:BatchGetFileMetaBatchGetFileMetaget
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
NoneNone
imm:ListTasksListTaskslist
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:CreateVideoModerationTaskCreateVideoModerationTaskcreate
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:SearchImageFigureClusterSearchImageFigureClusterlist
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
NoneNone
imm:CreateFileCompressionTaskCreateFileCompressionTaskcreate
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:DetectImageBodiesDetectImageBodiesnone
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:FuzzyQueryFuzzyQuerylist
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
NoneNone
imm:GetDecodeBlindWatermarkResultGetDecodeBlindWatermarkResultnone
All Resources
*
NoneNone
imm:DeleteFileMetaDeleteFileMetadelete
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
NoneNone
imm:UpdateFileMetaUpdateFileMetaupdate
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
NoneNone
imm:GetBindingGetBindingget
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
NoneNone
imm:UpdateFigureClusterUpdateFigureClusterupdate
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
NoneNone
imm:CreateFigureClustersMergingTaskCreateFigureClustersMergingTaskcreate
All Resources
*
NoneNone
imm:DetectImageCroppingDetectImageCroppingnone
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:AddImageMosaicAddImageMosaicnone
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:QueryStoriesQueryStorieslist
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
NoneNone
imm:SuspendTriggerSuspendTriggerupdate
Trigger
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/trigger/*
NoneNone
imm:CreateSimilarImageClusteringTaskCreateSimilarImageClusteringTaskcreate
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
NoneNone
imm:ResumeBatchResumeBatchupdate
Batch
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/batch/*
NoneNone
imm:UpdateStoryUpdateStoryupdate
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
NoneNone
imm:GetBatchGetBatchget
Batch
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/batch/*
NoneNone
imm:DetachOSSBucketDetachOSSBucketdelete
All Resources
*
NoneNone
imm:CreateFacesSearchingTaskCreateFacesSearchingTasklist
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
NoneNone
imm:CreateArchiveFileInspectionTaskCreateArchiveFileInspectionTaskcreate
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:CreateImageModerationTaskCreateImageModerationTaskcreate
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:CreateVideoLabelClassificationTaskCreateVideoLabelClassificationTaskcreate
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:CreateDecodeBlindWatermarkTaskCreateDecodeBlindWatermarkTaskcreate
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:CreateBindingCreateBindingcreate
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
NoneNone
imm:CreateImageSplicingTaskCreateImageSplicingTaskcreate
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:CreateLocationDateClusteringTaskCreateLocationDateClusteringTaskcreate
All Resources
*
NoneNone
imm:CreateTriggerCreateTriggercreate
Trigger
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/trigger/*
NoneNone
imm:QuerySimilarImageClustersQuerySimilarImageClusterslist
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
NoneNone
imm:DetectTextAnomalyDetectTextAnomalynone
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:RemoveStoryFilesRemoveStoryFilesupdate
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
NoneNone
imm:BatchGetFigureClusterBatchGetFigureClusterget
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
NoneNone
imm:AttachOSSBucketAttachOSSBucketcreate
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:ListBindingsListBindingslist
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
NoneNone
imm:DetectImageTextsDetectImageTextsnone
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:QueryLocationDateClustersQueryLocationDateClusterslist
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
NoneNone
imm:QueryFigureClustersQueryFigureClusterslist
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
NoneNone
imm:DetectImageFacesDetectImageFacesnone
Project
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
NoneNone
imm:BatchIndexFileMetaBatchIndexFileMetacreate
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
NoneNone
imm:GetFigureClusterGetFigureClusterget
Dataset
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
NoneNone
imm:GetTriggerGetTriggerget
Trigger
acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/trigger/*
NoneNone

Resource

IMM defines the values that you can use in the Resource. You can attach the policy to a RAM user or a RAM role so that the RAM user or the RAM role can perform a specific operation on a specific resource. The ARN is the unique identifier of the resource on Alibaba Cloud. Take note of the following items:
  • {#}indicates a variable. {#} must be replaced with an actual value. For example, {#ramcode} must be replaced with the actual code of an Alibaba Cloud service in RAM.
  • An asterisk (*) is used as a wildcard. Examples:
    • {#resourceType} is set to *, all resources are specified.
    • {#regionId} is set to *, all regions are specified.
    • {#accountId} is set to *, all Alibaba Cloud accounts are specified.
Resource typeARN
Projectacs:imm:{#regionId}:{#accountId}:project/{#ProjectName}
Datasetacs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/{#DatasetName}
Triggeracs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/trigger/*
Batchacs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/batch/*
Projectacs:imm:{#regionId}:{#accountId}:project/*
Datasetacs:imm:{#regionId}:{#accountId}:project/{#ProjectName}/dataset/*

Condition

IMM does not define service-specific condition keys. For more information about common condition keys that are defined by Alibaba Cloud, see Generic Condition Keyword.

What to do next

You can create a custom policy and attach the policy to a RAM user, RAM user group, or RAM role. For more information, see the following topics: