Para usar os recursos do Intelligent Media Management (IMM) como usuário do RAM, conceda as permissões necessárias ao usuário do RAM. Este tópico descreve as permissões necessárias para usar os recursos do IMM no Object Storage Service (OSS).
Visão geral das permissões
Ao acessar os recursos do IMM por meio da operação x-oss-process ou x-oss-async-process do OSS, conceda as permissões necessárias:
Conceda ao usuário do RAM as permissões para executar operações no OSS.
Autorize o usuário do RAM a usar os recursos de processamento de dados correspondentes do IMM.
Forneça ao service do IMM as permissões para acessar o OSS e outros services relevantes.
Atribua ao service do IMM as permissões necessárias em cenários de processamento de dados baseados em processadores em lote ou gatilhos.
Conceda permissões de acesso ao OSS para o usuário do RAM
Para usar os recursos de processamento de dados do IMM como usuário do RAM por meio da operação x-oss-process ou x-oss-async-process, conceda ao usuário do RAM as permissões de acesso necessárias ao OSS. Para obter mais informações sobre como conceder permissões a um usuário do RAM, consulte Conceder permissões a um usuário do RAM. Utilize uma política do sistema ou personalizada para conceder as permissões. A política do sistema AliyunOSSFullAccess concede acesso total ao OSS. Se usar uma política personalizada, certifique-se de que ela contenha as permissões descritas na tabela a seguir.
|
Permissão |
Obrigatória |
Descrição |
|
oss:GetObject |
Sim |
Concede acesso de leitura aos objetos do OSS. |
|
oss:ProcessImm |
Sim |
Permite o uso dos recursos de processamento de dados do IMM no OSS. |
|
oss:PostProcessTask |
Não |
Libera o acesso aos recursos de processamento de dados por meio do método POST. Por exemplo, essa permissão é necessária para usar o |
|
oss:PutObject |
Não |
Autoriza o upload de dados para o OSS. Essa permissão é necessária para salve dados no OSS ( |
Conceda permissões de acesso ao IMM para o usuário do RAM
Para usar os recursos de processamento de dados do IMM como usuário do RAM por meio da operação x-oss-process ou x-oss-async-process, conceda ao usuário do RAM as permissões de acesso necessárias ao IMM. Para obter mais informações sobre como configure permissões, consulte gerencie RAM user permissions.
A política do sistema AliyunIMMFullAccess concede acesso total ao IMM. Se precisar apenas de recursos específicos, use uma política personalizada para conceder somente as permissões necessárias. A tabela a seguir descreve as permissões correspondentes às operações do IMM.
|
Operação |
Descrição |
Permissão |
|
image/cropping |
Recorta uma imagem automaticamente. |
imm:DetectImageCropping |
|
image/faces |
Detecta rostos em imagens. |
imm:DetectImageFaces |
|
video/convert |
Transcodifica um vídeo. |
imm:CreateMediaConvertTask |
|
video/animation |
Cria uma imagem animada a partir de um vídeo. |
imm:CreateMediaConvertTask |
|
video/sprite |
Gera um sprite a partir de um vídeo. |
imm:CreateMediaConvertTask |
|
video/snapshots |
Captura quadros de um vídeo. |
imm:CreateMediaConvertTask |
|
video/concat |
Mescla vídeos. |
imm:CreateMediaConvertTask |
|
video/info |
Extrai informações de vídeo. |
imm:DetectMediaMeta |
|
audio/convert |
Transcodifica um arquivo de áudio. |
imm:CreateMediaConvertTask |
|
audio/concat |
Mescla arquivos de áudio. |
imm:CreateMediaConvertTask |
|
audio/info |
Extrai informações de áudio. |
imm:DetectMediaMeta |
|
doc/convert |
Converte um documento para o formato especificado. |
imm:CreateOfficeConversionTask |
|
doc/edit |
Edita um documento. |
imm:GenerateWebofficeToken |
|
doc/preview |
Visualiza um documento. |
imm:GenerateWebofficeToken |
|
doc/snapshot |
Cria uma miniatura de documento. |
imm:CreateOfficeConversionTask |
|
pointcloud/compress |
Compacta um arquivo de nuvem de pontos. |
imm:CreateCompressPointCloudTask |
|
hls/m3u8 |
Gera uma playlist de vídeo. |
imm:GenerateVideoPlaylist |
|
hls/ts |
Cria uma tarefa de transcodificação ao vivo. |
imm:LiveTranscoding |
Para usar os recursos do IMM no processamento de dados em um bucket do OSS, vincule o bucket a um projeto do IMM. Ao criar um projeto do IMM, especifique uma função de service. Por padrão, o sistema aplica a função AliyunIMMDefaultRole. Caso utilize um usuário ou uma função do RAM para acessar o service, a função de service especificada para o projeto precisa ter a permissão para executar a operação PassRole. O exemplo de instrução a seguir concede essa permissão:
{
"Effect": "Allow",
"Action": "ram:PassRole",
"Resource": "acs:ram:*:*:role/aliyunimmdefaultrole"
}
Conceda permissões de acesso a outros services em cloud para o IMM
O IMM requer acesso a outros services relevantes para o processamento de dados. Por exemplo, para processar dados armazenados no OSS, salve dados de saída no OSS e enviar notificações para o Simple Message Queue (SMQ), autorize o IMM a acessar o OSS e o SMQ.
A função de service padrão permite que o IMM acesse os services relevantes. Se quiser restringir as permissões, crie uma função de service com apenas as permissões necessárias e especifique essa função ao criar um projeto. Para obter mais informações, consulte configure a service role for a project.
Conceda as permissões necessárias para cenários de processador em lote ou gatilho
Para usar processadores em lote e gatilhos, autorize o IMM a acessar outros services em cloud, como o OSS. Se nenhuma função de service estiver disponível, crie a função de service padrão na página Cloud Resource Access Authorization.
Exemplos
Conceda permissões de acesso total
O exemplo de política do RAM a seguir permite que um usuário acesse todos os recursos de processamento de dados do IMM a partir do OSS:
{
"Statement":[
{
"Effect":"Allow",
"Action":"oss:*",
"Resource":"*"
},
{
"Effect":"Allow",
"Action":"imm:*",
"Resource":"*"
},
{
"Effect": "Allow",
"Action": "ram:PassRole",
"Resource": "acs:ram:*:*:role/aliyunimmdefaultrole"
}
],
"Version":"1"
}
Conceda permissões para operações específicas
O exemplo de política do RAM a seguir permite que um usuário acesse os recursos de processamento de documentos em um bucket específico do OSS:
{
"Statement": [
{
"Effect": "Allow",
"Action": [
"oss:GetObject",
"oss:PutObject",
"oss:PostProcessTask",
"oss:ProcessImm"
],
"Resource": [
"acs:oss:*:*:bucketname1/*",
"acs:oss:*:*:bucketname2/*"
]
},
{
"Action": [
"imm:CreateOfficeConversionTask",
"imm:GetWebofficeURL"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Effect": "Allow",
"Action": "ram:PassRole",
"Resource": "acs:ram:*:*:role/aliyunimmdefaultrole"
}
],
"Version": "1"
}
Conceda as permissões necessárias em um cenário de processador em lote ou gatilho
O exemplo de política do RAM a seguir permite que o IMM execute as ações especificadas no OSS:
{
"Statement":[
{
"Action":[
"oss:Get*",
"oss:List*",
"oss:Process*",
"oss:PostProcess*",
"oss:Put*",
"oss:PutBucketInventory",
"oss:GetBucketInventory",
"oss:ListBucketInventory",
"oss:DeleteBucketInventory",
"oss:PutBucketNotification",
"oss:DeleteBucketNotification",
"oss:StartEventRecord",
"oss:StopEventRecord",
"oss:GetEventRecordStatus"
],
"Resource":"*",
"Effect":"Allow"
}
],
"Version":"1"
}