O ApsaraMQ for RocketMQ utiliza uma função vinculada a serviço para acessar outros serviços da Alibaba Cloud em seu nome. Trata-se de uma função do Resource Access Management (RAM) que concede apenas as permissões necessárias ao serviço. Somente o ApsaraMQ for RocketMQ pode assumir essa função, portanto, não é necessário configurar as permissões manualmente.
Como funciona
Ao utilizar pela primeira vez um recurso que exige acesso entre serviços, como o painel, o ApsaraMQ for RocketMQ cria automaticamente a função vinculada a serviço AliyunServiceRoleForOns. Todos os recursos subsequentes que necessitam de acesso entre serviços reutilizam essa mesma função, sem criar funções adicionais.
Caso a criação automática falhe, crie a função manualmente. Consulte a seção FAQ para solucionar problemas.
Permissões
A função AliyunServiceRoleForOns utiliza a política AliyunServiceRolePolicyForOns, que concede as seguintes permissões:
| Permissão | Serviço | Finalidade |
|---|---|---|
cms:DescribeMetricRuleList, cms:DescribeMetricList, cms:DescribeMetricData | CloudMonitor | Monitoramento e alertas |
arms:OpenVCluster, arms:ListDashboards, arms:CheckServiceStatus | Managed Service for Prometheus | Painel |
ram:DeleteServiceLinkedRole | RAM | Autoexclusão da função vinculada a serviço (com escopo definido para ons.aliyuncs.com) |
O RAM fornece uma política de sistema para cada função vinculada a serviço. Não é possível modificar políticas de sistema. Para mais informações, consulte Referência de políticas de sistema.
Documento da política
O JSON abaixo apresenta a política AliyunServiceRolePolicyForOns:
{
"Version": "1",
"Statement": [
{
"Action": [
"cms:DescribeMetricRuleList",
"cms:DescribeMetricList",
"cms:DescribeMetricData"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"arms:OpenVCluster",
"arms:ListDashboards",
"arms:CheckServiceStatus"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": "ram:DeleteServiceLinkedRole",
"Resource": "*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"ram:ServiceName": "ons.aliyuncs.com"
}
}
}
]
}
Visualize detalhes da função
Após a criação da função, visualize seus detalhes no console do RAM:
Basic Information: Nome da função, data de criação, ARN (Alibaba Cloud Resource Name) e descrição.
Aba Permissions: Clique em no nome da política para visualizar o documento correspondente.
Aba Trust Policy: O campo
Serviceidentifica o serviço de nuvem autorizado a assumir a função.
A política anexada a uma função vinculada a serviço não aparece na página Policies do console do RAM. Em vez disso, visualize-a diretamente na página de detalhes da função.
Para mais informações, consulte Visualizar informações sobre uma função do RAM.
Exclua uma função vinculada a serviço
A exclusão da função vinculada a serviço desativa todos os recursos dependentes dela, incluindo monitoramento, alertas e o painel. Proceda com cautela.
Se você não utilizar mais o ApsaraMQ for RocketMQ ou desejar excluir sua conta da Alibaba Cloud, exclua a função vinculada a serviço no console do RAM.
Para obter instruções passo a passo, consulte Excluir uma função do RAM.
FAQ
Por que meu usuário do RAM não consegue criar a função AliyunServiceRoleForOns automaticamente?
Se a conta da Alibaba Cloud já possuir a função, os usuários do RAM associados a essa conta a herdam automaticamente. Caso um usuário do RAM não tenha herdado a função, adicione a seguinte política personalizada a esse usuário no console do RAM:
{
"Statement": [
{
"Action": [
"ram:CreateServiceLinkedRole"
],
"Resource": "acs:ram:*:<Alibaba-Cloud-account-ID>:role/*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"ram:ServiceName": "ons.aliyuncs.com"
}
}
}
],
"Version": "1"
}
Substitua <Alibaba-Cloud-account-ID> pelo ID da sua conta da Alibaba Cloud.
Se mesmo após anexar essa política o usuário do RAM ainda não conseguir criar a função, anexe uma das seguintes políticas de sistema:
AliyunMQFullAccessAliyunMQPubOnlyAccessAliyunMQSubOnlyAccess
Para mais detalhes, consulte Políticas de sistema.