Todos os produtos
Search
Central de documentação

STAROps:Configuração de permissões do Digital Employee

Última atualização: Jul 07, 2026

Este tópico descreve os métodos de configuração de permissões para funcionários integrados e Digital Employees personalizados.

Para obter detalhes sobre o modelo de permissões do STAROps e as descrições dos alvos de autorização, consulte Configuração de permissões. Este tópico não repete os conceitos de permissão e fornece apenas políticas de permissão baseadas em cenários que você pode copiar.

Antes de configurar os Digital Employees, determine se você está usando um funcionário integrado ou um Digital Employee personalizado.

Permissões de operação do usuário (permissões de usuário RAM)

As permissões de operação do usuário são concedidas a usuários RAM para controlar se um usuário pode visualizar, criar, gerenciar ou usar Digital Employees. Essa camada de permissão deve ser configurada independentemente de você usar funcionários integrados ou Digital Employees personalizados.

Ao usar um funcionário integrado, basta conceder ao usuário RAM as permissões de uso do STAROps e as permissões necessárias de leitura de dados. Funcionários integrados não estão vinculados a funções RAM no lado do cliente. Portanto, ram:PassRole não é necessário.

Ao usar um Digital Employee personalizado, além das permissões de operação do Digital Employee, o usuário RAM também deve ter ram:PassRole para a função RAM de destino. Caso contrário, o usuário poderá visualizar ou criar Digital Employees, mas não conseguirá passar a função para o STAROps.

Uso de funcionários integrados

A política a seguir aplica-se a cenários em que você usa funcionários integrados para conversas, visualização de sessões, visualização de artefatos e leitura de dados de diagnóstico. Funcionários integrados não suportam MCP, Alibaba Cloud CLI e outras configurações de extensão. Se precisar dessas capacidades, use Digital Employees personalizados.

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "starops:GetDigitalEmployee",
        "starops:ListDigitalEmployees"
      ],
      "Resource": [
        "acs:starops:*:*:digitalemployee/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "starops:CreateArtifactUploadToken",
        "starops:GetArtifactDownloadUrl",
        "starops:CreateChat",
        "starops:CreateThread",
        "starops:GetThread",
        "starops:GetThreadData",
        "starops:ListThreads"
      ],
      "Resource": [
        "acs:starops:*:*:digitalemployee/*",
        "acs:starops:*:*:digitalemployee/*/thread/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "starops:GetDigitalEmployeeSkill",
        "starops:ListDigitalEmployeeSkills",
        "starops:ListDigitalEmployeeSkillVersions"
      ],
      "Resource": [
        "acs:starops:*:*:digitalemployee/*/skill/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "starops:GetMission",
        "starops:ListMissions",
        "starops:ListTasks"
      ],
      "Resource": [
        "acs:starops:*:*:mission/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "starops:GetMcpService",
        "starops:ListMcpServices",
        "starops:FetchRemoteMcpTools"
      ],
      "Resource": [
        "acs:starops:*:*:digitalemployee/*/mcpservice/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "starops:GetArtifact",
        "starops:ListArtifacts"
      ],
      "Resource": [
        "acs:starops:*:*:digitalemployee/*/artifact/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "starops:GetCreditQuota"
      ],
      "Resource": [
        "acs:starops:*:*:quota/credit"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:GetDigitalEmployee",
        "cms:ListDigitalEmployees"
      ],
      "Resource": [
        "acs:cms:*:*:digitalemployee/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:CreateChat",
        "cms:CreateThread",
        "cms:GetThread",
        "cms:GetThreadData",
        "cms:ListThreads"
      ],
      "Resource": [
        "acs:cms:*:*:digitalemployee/*",
        "acs:cms:*:*:digitalemployee/*/thread/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:GetDigitalEmployeeSkill",
        "cms:ListDigitalEmployeeSkills",
        "cms:ListDigitalEmployeeSkillVersions"
      ],
      "Resource": [
        "acs:cms:*:*:digitalemployee/*/skill/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:GetMission",
        "cms:ListMissions",
        "cms:ListTasks"
      ],
      "Resource": [
        "acs:cms:*:*:mission/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:GetMcpService",
        "cms:ListMcpServices",
        "cms:FetchRemoteMcpTools"
      ],
      "Resource": [
        "acs:cms:*:*:digitalemployee/*/mcpservice/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:GetArtifact",
        "cms:ListArtifacts"
      ],
      "Resource": [
        "acs:cms:*:*:digitalemployee/*/artifact/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:ListWorkspaces",
        "cms:GetWorkspace",
        "cms:GetEntityStore",
        "cms:GetEntityStoreData"
      ],
      "Resource": [
        "acs:cms:*:*:workspace/*",
        "acs:cms:*:*:entitystore/*",
        "acs:cms:*:*:entitystoredata/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:GetCloudResourceData"
      ],
      "Resource": [
        "acs:cms:*:*:cloudresource"
      ]
    },
    {
      "Action": [
        "log:Get*",
        "log:List*",
        "log:Query*"
      ],
      "Resource": "acs:log:*:*:*",
      "Effect": "Allow"
    }
  ]
}

Criação e gerenciamento de Digital Employees personalizados

A política a seguir permite que usuários RAM criem, modifiquem, excluam e visualizem Digital Employees, gerenciem habilidades e serviços MCP, sessões, missões de longo prazo e artefatos, além de iniciar conversas com Digital Employees. No exemplo, ram:PassRole é restrito por padrão à função de serviço AliyunServiceRoleForCloudMonitor. Se o Digital Employee estiver vinculado a uma função RAM personalizada, substitua o valor de Resource pelo RoleArn correspondente.

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "starops:CreateDigitalEmployee",
        "starops:GetDigitalEmployee",
        "starops:ListDigitalEmployees",
        "starops:UpdateDigitalEmployee",
        "starops:DeleteDigitalEmployee"
      ],
      "Resource": [
        "acs:starops:*:*:digitalemployee/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "starops:CreateArtifactUploadToken",
        "starops:GetArtifactDownloadUrl",
        "starops:CreateChat",
        "starops:CreateThread",
        "starops:GetThread",
        "starops:GetThreadData",
        "starops:ListThreads",
        "starops:UpdateThread",
        "starops:DeleteThread"
      ],
      "Resource": [
        "acs:starops:*:*:digitalemployee/*",
        "acs:starops:*:*:digitalemployee/*/thread/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "starops:CreateDigitalEmployeeSkill",
        "starops:GetDigitalEmployeeSkill",
        "starops:ListDigitalEmployeeSkills",
        "starops:UpdateDigitalEmployeeSkill",
        "starops:DeleteDigitalEmployeeSkill",
        "starops:ListDigitalEmployeeSkillVersions"
      ],
      "Resource": [
        "acs:starops:*:*:digitalemployee/*/skill/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "starops:CreateMission",
        "starops:GetMission",
        "starops:ListMissions",
        "starops:ListTasks",
        "starops:UpdateMission",
        "starops:DeleteMission"
      ],
      "Resource": [
        "acs:starops:*:*:mission/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "starops:CreateMcpService",
        "starops:GetMcpService",
        "starops:ListMcpServices",
        "starops:UpdateMcpService",
        "starops:DeleteMcpService",
        "starops:FetchRemoteMcpTools"
      ],
      "Resource": [
        "acs:starops:*:*:digitalemployee/*/mcpservice/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "starops:GetArtifact",
        "starops:ListArtifacts"
      ],
      "Resource": [
        "acs:starops:*:*:digitalemployee/*/artifact/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "starops:GetCreditQuota",
        "starops:SetCreditQuota"
      ],
      "Resource": [
        "acs:starops:*:*:quota/credit"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:CreateDigitalEmployee",
        "cms:GetDigitalEmployee",
        "cms:ListDigitalEmployees",
        "cms:UpdateDigitalEmployee",
        "cms:DeleteDigitalEmployee"
      ],
      "Resource": [
        "acs:cms:*:*:digitalemployee/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:CreateChat",
        "cms:CreateThread",
        "cms:GetThread",
        "cms:GetThreadData",
        "cms:ListThreads",
        "cms:UpdateThread",
        "cms:DeleteThread"
      ],
      "Resource": [
        "acs:cms:*:*:digitalemployee/*",
        "acs:cms:*:*:digitalemployee/*/thread/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:CreateDigitalEmployeeSkill",
        "cms:GetDigitalEmployeeSkill",
        "cms:ListDigitalEmployeeSkills",
        "cms:UpdateDigitalEmployeeSkill",
        "cms:DeleteDigitalEmployeeSkill",
        "cms:ListDigitalEmployeeSkillVersions"
      ],
      "Resource": [
        "acs:cms:*:*:digitalemployee/*/skill/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:CreateMission",
        "cms:GetMission",
        "cms:ListMissions",
        "cms:ListTasks",
        "cms:UpdateMission",
        "cms:DeleteMission"
      ],
      "Resource": [
        "acs:cms:*:*:mission/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:CreateMcpService",
        "cms:GetMcpService",
        "cms:ListMcpServices",
        "cms:UpdateMcpService",
        "cms:DeleteMcpService",
        "cms:FetchRemoteMcpTools"
      ],
      "Resource": [
        "acs:cms:*:*:digitalemployee/*/mcpservice/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:GetArtifact",
        "cms:ListArtifacts"
      ],
      "Resource": [
        "acs:cms:*:*:digitalemployee/*/artifact/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:ListWorkspaces",
        "cms:GetWorkspace",
        "cms:GetEntityStore",
        "cms:GetEntityStoreData"
      ],
      "Resource": [
        "acs:cms:*:*:workspace/*",
        "acs:cms:*:*:entitystore/*",
        "acs:cms:*:*:entitystoredata/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:GetCloudResourceData"
      ],
      "Resource": [
        "acs:cms:*:*:cloudresource"
      ]
    },
    {
      "Action": [
        "log:Get*",
        "log:List*",
        "log:Query*"
      ],
      "Resource": "acs:log:*:*:*",
      "Effect": "Allow"
    },
    {
      "Effect": "Allow",
      "Action": "ram:PassRole",
      "Resource": "acs:ram::*:role/aliyunserviceroleforcloudmonitor",
      "Condition": {
        "StringEquals": {
          "acs:Service": [
            "operation-platform.aliyuncs.com",
            "cloudmonitor.aliyuncs.com"
          ]
        }
      }
    }
  ]
}

Permissões apenas para conversa

A política a seguir aplica-se a cenários em que você permite apenas que os usuários conversem com Digital Employees personalizados e visualizem suas próprias sessões e artefatos, sem a capacidade de criar, modificar ou excluir Digital Employees e habilidades. Como as conversas exigem a função RAM vinculada ao Digital Employee, ram:PassRole também deve ser concedido.

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "starops:GetDigitalEmployee",
        "starops:ListDigitalEmployees"
      ],
      "Resource": [
        "acs:starops:*:*:digitalemployee/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "starops:CreateArtifactUploadToken",
        "starops:GetArtifactDownloadUrl",
        "starops:CreateChat",
        "starops:CreateThread",
        "starops:GetThread",
        "starops:GetThreadData",
        "starops:ListThreads",
        "starops:UpdateThread"
      ],
      "Resource": [
        "acs:starops:*:*:digitalemployee/*",
        "acs:starops:*:*:digitalemployee/*/thread/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "starops:GetDigitalEmployeeSkill",
        "starops:ListDigitalEmployeeSkills",
        "starops:ListDigitalEmployeeSkillVersions"
      ],
      "Resource": [
        "acs:starops:*:*:digitalemployee/*/skill/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "starops:CreateMission",
        "starops:GetMission",
        "starops:ListMissions",
        "starops:ListTasks",
        "starops:UpdateMission"
      ],
      "Resource": [
        "acs:starops:*:*:mission/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "starops:GetMcpService",
        "starops:ListMcpServices",
        "starops:FetchRemoteMcpTools"
      ],
      "Resource": [
        "acs:starops:*:*:digitalemployee/*/mcpservice/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "starops:GetArtifact",
        "starops:ListArtifacts"
      ],
      "Resource": [
        "acs:starops:*:*:digitalemployee/*/artifact/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "starops:GetCreditQuota"
      ],
      "Resource": [
        "acs:starops:*:*:quota/credit"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:GetDigitalEmployee",
        "cms:ListDigitalEmployees"
      ],
      "Resource": [
        "acs:cms:*:*:digitalemployee/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:CreateChat",
        "cms:CreateThread",
        "cms:GetThread",
        "cms:GetThreadData",
        "cms:ListThreads",
        "cms:UpdateThread"
      ],
      "Resource": [
        "acs:cms:*:*:digitalemployee/*",
        "acs:cms:*:*:digitalemployee/*/thread/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:GetDigitalEmployeeSkill",
        "cms:ListDigitalEmployeeSkills",
        "cms:ListDigitalEmployeeSkillVersions"
      ],
      "Resource": [
        "acs:cms:*:*:digitalemployee/*/skill/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:CreateMission",
        "cms:GetMission",
        "cms:ListMissions",
        "cms:ListTasks",
        "cms:UpdateMission"
      ],
      "Resource": [
        "acs:cms:*:*:mission/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:GetMcpService",
        "cms:ListMcpServices",
        "cms:FetchRemoteMcpTools"
      ],
      "Resource": [
        "acs:cms:*:*:digitalemployee/*/mcpservice/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:GetArtifact",
        "cms:ListArtifacts"
      ],
      "Resource": [
        "acs:cms:*:*:digitalemployee/*/artifact/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:ListWorkspaces",
        "cms:GetWorkspace",
        "cms:GetEntityStore",
        "cms:GetEntityStoreData"
      ],
      "Resource": [
        "acs:cms:*:*:workspace/*",
        "acs:cms:*:*:entitystore/*",
        "acs:cms:*:*:entitystoredata/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:GetCloudResourceData"
      ],
      "Resource": [
        "acs:cms:*:*:cloudresource"
      ]
    },
    {
      "Action": [
        "log:Get*",
        "log:List*",
        "log:Query*"
      ],
      "Resource": "acs:log:*:*:*",
      "Effect": "Allow"
    },
    {
      "Effect": "Allow",
      "Action": "ram:PassRole",
      "Resource": "acs:ram::*:role/aliyunserviceroleforcloudmonitor",
      "Condition": {
        "StringEquals": {
          "acs:Service": [
            "operation-platform.aliyuncs.com",
            "cloudmonitor.aliyuncs.com"
          ]
        }
      }
    }
  ]
}

Permissões somente leitura

A política a seguir aplica-se a cenários em que você visualiza Digital Employees, sessões, artefatos e dados de diagnóstico relacionados, e permite que os usuários iniciem conversas com Digital Employees personalizados vinculados a uma função de serviço. Se o usuário realizar apenas revisões de auditoria e não precisar iniciar conversas ou passar funções, remova as instruções CreateChat, CreateThread e ram:PassRole.

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "starops:GetDigitalEmployee",
        "starops:ListDigitalEmployees"
      ],
      "Resource": [
        "acs:starops:*:*:digitalemployee/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "starops:CreateArtifactUploadToken",
        "starops:GetArtifactDownloadUrl",
        "starops:CreateChat",
        "starops:CreateThread",
        "starops:GetThread",
        "starops:GetThreadData",
        "starops:ListThreads"
      ],
      "Resource": [
        "acs:starops:*:*:digitalemployee/*",
        "acs:starops:*:*:digitalemployee/*/thread/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "starops:GetDigitalEmployeeSkill",
        "starops:ListDigitalEmployeeSkills",
        "starops:ListDigitalEmployeeSkillVersions"
      ],
      "Resource": [
        "acs:starops:*:*:digitalemployee/*/skill/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "starops:GetMission",
        "starops:ListMissions",
        "starops:ListTasks"
      ],
      "Resource": [
        "acs:starops:*:*:mission/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "starops:GetMcpService",
        "starops:ListMcpServices",
        "starops:FetchRemoteMcpTools"
      ],
      "Resource": [
        "acs:starops:*:*:digitalemployee/*/mcpservice/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "starops:GetArtifact",
        "starops:ListArtifacts"
      ],
      "Resource": [
        "acs:starops:*:*:digitalemployee/*/artifact/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "starops:GetCreditQuota"
      ],
      "Resource": [
        "acs:starops:*:*:quota/credit"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:GetDigitalEmployee",
        "cms:ListDigitalEmployees"
      ],
      "Resource": [
        "acs:cms:*:*:digitalemployee/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:CreateChat",
        "cms:CreateThread",
        "cms:GetThread",
        "cms:GetThreadData",
        "cms:ListThreads"
      ],
      "Resource": [
        "acs:cms:*:*:digitalemployee/*",
        "acs:cms:*:*:digitalemployee/*/thread/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:GetDigitalEmployeeSkill",
        "cms:ListDigitalEmployeeSkills",
        "cms:ListDigitalEmployeeSkillVersions"
      ],
      "Resource": [
        "acs:cms:*:*:digitalemployee/*/skill/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:GetMission",
        "cms:ListMissions",
        "cms:ListTasks"
      ],
      "Resource": [
        "acs:cms:*:*:mission/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:GetMcpService",
        "cms:ListMcpServices",
        "cms:FetchRemoteMcpTools"
      ],
      "Resource": [
        "acs:cms:*:*:digitalemployee/*/mcpservice/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:GetArtifact",
        "cms:ListArtifacts"
      ],
      "Resource": [
        "acs:cms:*:*:digitalemployee/*/artifact/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:ListWorkspaces",
        "cms:GetWorkspace",
        "cms:GetEntityStore",
        "cms:GetEntityStoreData"
      ],
      "Resource": [
        "acs:cms:*:*:workspace/*",
        "acs:cms:*:*:entitystore/*",
        "acs:cms:*:*:entitystoredata/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:GetCloudResourceData"
      ],
      "Resource": [
        "acs:cms:*:*:cloudresource"
      ]
    },
    {
      "Action": [
        "log:Get*",
        "log:List*",
        "log:Query*"
      ],
      "Resource": "acs:log:*:*:*",
      "Effect": "Allow"
    },
    {
      "Effect": "Allow",
      "Action": "ram:PassRole",
      "Resource": "acs:ram::*:role/aliyunserviceroleforcloudmonitor",
      "Condition": {
        "StringEquals": {
          "acs:Service": [
            "operation-platform.aliyuncs.com",
            "cloudmonitor.aliyuncs.com"
          ]
        }
      }
    }
  ]
}

Caminho de autorização PassRole

Ao conceder ram:PassRole, confirme primeiro o RoleArn vinculado ao Digital Employee e, em seguida, adicione o RoleArn a uma política personalizada do RAM.

  1. Crie ou edite um Digital Employee no STAROps para confirmar a função RAM vinculada ao Digital Employee.

    • Se selecionar a função de serviço ServiceRoleForCloudMonitor, defina Resource como acs:ram::*:role/aliyunserviceroleforcloudmonitor.

    • Se selecionar uma função RAM personalizada, defina Resource como o RoleArn dessa função, por exemplo, acs:ram::*:role/starops-production-sre.

  2. Crie uma política personalizada no console RAM e anexe a política aos usuários RAM ou grupos de usuários que precisam usar o Digital Employee.

O exemplo a seguir mostra a política PassRole para a função de serviço ServiceRoleForCloudMonitor:

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "ram:PassRole",
      "Resource": "acs:ram::*:role/aliyunserviceroleforcloudmonitor",
      "Condition": {
        "StringEquals": {
          "acs:Service": [
            "operation-platform.aliyuncs.com",
            "cloudmonitor.aliyuncs.com"
          ]
        }
      }
    }
  ]
}

Se você usar uma função RAM personalizada, substitua o valor de Resource pelo RoleArn da função personalizada.

Permissões de acesso do Digital Employee (permissões de função RAM)

As permissões de acesso do Digital Employee são concedidas a funções RAM para controlar quais dados, recursos de nuvem e capacidades de ferramentas o Digital Employee pode acessar durante a execução. Essa camada de permissão não é concedida a usuários RAM.

Funcionários integrados não são configurados com funções RAM no lado do cliente e normalmente herdam as permissões do usuário RAM atual durante a execução. Digital Employees personalizados devem estar vinculados a uma função RAM. O RoleArn é a identidade usada pelo Digital Employee para acessar recursos de nuvem durante a execução.

Configuração rápida com funções de serviço

Ao criar um Digital Employee personalizado, selecione Service Role como o tipo de função RAM. Se você selecionar ServiceRoleForCloudMonitor, o Digital Employee usará a função RAM correspondente AliyunServiceRoleForCloudMonitor para acessar dados. O RoleArn dessa função é tipicamente:

acs:ram::<account-id>:role/aliyunserviceroleforcloudmonitor

Essa função de serviço é adequada para consultar CloudMonitor 2.0, logs do SLS, monitoramento de aplicativos ARMS e outros dados de diagnóstico. É comumente usada para inspeções somente leitura, análise de alertas e geração de relatórios. Ao usar uma função de serviço, geralmente não é necessário configurar manualmente a política de confiança da função e a política de permissão de leitura de dados. No entanto, você ainda precisa conceder ao usuário as permissões de operação do Digital Employee e ram:PassRole para a função de serviço.

Esta função de serviço não inclui permissões para modificar configurações de serviços de nuvem ou alterar estados de recursos. Se o Digital Employee precisar realizar atualizações de serviços de nuvem, alterações de recursos ou outras operações de gravação, use uma função RAM personalizada e configure as permissões de serviço de nuvem correspondentes com base no princípio do menor privilégio.

Uso de uma função RAM personalizada

Se você selecionar uma função RAM personalizada, precisará configurar a política de confiança e a política de permissão separadamente. A política de confiança declara quais serviços da Alibaba Cloud podem assumir a função. A política de permissão determina quais dados e recursos a função pode acessar após ser assumida.

Configuração da política de confiança

Se selecionar a função de serviço ServiceRoleForCloudMonitor, geralmente não será necessário configurar manualmente a política de confiança. Se selecionar uma função personalizada, configure a seguinte política de confiança.

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "sts:AssumeRole",
      "Principal": {
        "Service": [
          "operation-platform.aliyuncs.com",
          "cloudmonitor.aliyuncs.com"
        ]
      }
    }
  ]
}

Configuração de permissões de acesso a dados

Se selecionar a função de serviço ServiceRoleForCloudMonitor, a função já incluirá permissões de leitura de dados para cenários do CloudMonitor 2.0. Se selecionar uma função personalizada, copie a política a seguir como ponto de partida para acesso a dados somente leitura.

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "log:Get*",
        "log:List*"
      ],
      "Resource": "acs:log:*:*:*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "cms:Get*",
        "cms:List*"
      ],
      "Resource": [
        "acs:cms:*:*:workspace/*",
        "acs:cms:*:*:cloudresource"
      ]
    }
  ]
}

Permissões totais (ambientes de desenvolvimento e teste)

A política a seguir destina-se apenas à validação rápida em ambientes de desenvolvimento e teste. Em ambientes de produção, conceda permissões com base em fontes de dados específicas, workspaces, projetos de log e escopos de recursos de serviços de nuvem. Para chamadas de ferramentas que possam causar alterações de recursos, recomendamos o uso de confirmação manual, auditoria e mecanismos de reversão.

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "cms:*",
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "arms:*",
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "sls:*",
      "Resource": "*"
    }
  ]
}

Verificação de permissões

Após concluir a configuração, recomendamos verificar as permissões na seguinte ordem:

  1. Faça login no STAROps como um usuário RAM.

  2. Abra a lista de Digital Employees e verifique se consegue visualizar o Digital Employee de destino.

  3. Se for um Digital Employee personalizado, verifique se a página exibe o RoleArn correto.

  4. Inicie uma sessão de consulta somente leitura, por exemplo, consultando um workspace ou log específico.

  5. Se a sessão falhar, verifique primeiro a política de permissões e a política de confiança da função RAM.

  6. Se a criação ou atualização de um Digital Employee falhar, verifique se o usuário RAM possui permissões de operação do Digital Employee e ram:PassRole.

  7. Abra os dados brutos no console correspondente como o usuário RAM para confirmar que você possui permissões de verificação manual.

Perguntas frequentes

Um usuário RAM consegue criar um Digital Employee, mas recebe um erro de permissões insuficientes ao salvar um RoleArn

Esse erro geralmente ocorre porque o usuário RAM não possui ram:PassRole para a função RAM de destino, ou o Resource na política PassRole não cobre o RoleArn. Conceda ao usuário RAM ram:PassRole para a função de destino e restrinja a política aos serviços relacionados ao STAROps usando acs:Service.

Uma sessão do Digital Employee exibe um erro de permissões de dados insuficientes

Verifique a função RAM vinculada ao Digital Employee em vez de checar apenas as permissões do usuário RAM. Digital Employees personalizados usam a identidade da função RAM para acessar dados durante a execução. A função RAM deve ter as permissões necessárias de SLS, CMS, ARMS ou recursos de nuvem.

Uma função RAM tem permissões de dados, mas o usuário não consegue visualizar dados no console

As permissões da função RAM são concedidas apenas ao Digital Employee para uso durante a execução e não são automaticamente concedidas ao usuário RAM. Se o usuário precisar verificar dados no console, conceda separadamente ao usuário RAM permissões somente leitura para a fonte de dados.

Por que não consigo realizar operações de atualização após selecionar ServiceRoleForCloudMonitor?

A função AliyunServiceRoleForCloudMonitor associada a ServiceRoleForCloudMonitor foi projetada para cenários de leitura de dados do CloudMonitor 2.0 e é adequada para consultas, diagnósticos, inspeções e geração de relatórios. Ela não inclui permissões para atualizar configurações de serviços de nuvem ou alterar estados de recursos. Para realizar operações de atualização, crie uma função personalizada e conceda as permissões de gravação necessárias.

Um usuário RAM tem permissões de fonte de dados, mas o Digital Employee ainda não consegue consultar dados

Digital Employees personalizados não herdam automaticamente as permissões de dados do usuário RAM. Verifique se a função RAM vinculada ao Digital Employee possui as permissões correspondentes da fonte de dados.

Um usuário somente leitura precisa de PassRole?

Se o usuário apenas visualizar Digital Employees, sessões, missões de longo prazo e relatórios, ram:PassRole geralmente não é necessário. Se você usar o modelo de permissões somente leitura descrito anteriormente e permitir que o usuário inicie conversas com Digital Employees personalizados, mantenha ram:PassRole e restrinja o Resource à função de serviço ou a um RoleArn de função personalizada específico.

Posso definir o Resource do PassRole como um asterisco (*)?

Tecnicamente sim, mas isso não é recomendado para uso prolongado em ambientes de produção. Recomendamos restringir o Resource à função de serviço ou a uma função personalizada dedicada ao STAROps, e usar acs:Service para limitar a passagem apenas aos serviços relacionados ao STAROps.