A plataforma Model Studio (Bailian) high-code permite desenvolver e implantar rapidamente agentes de IA personalizados. Integrar a Identidade do Agente a essa plataforma garante acesso seguro e controlado aos agentes e aos recursos da cloud, exigindo autorização do usuário em tempo real antes que os agentes executem operações sensíveis.
Arquitetura

Pré-requisitos
Requisitos de ambiente
O ambiente de teste local requer Python (versão 3.10 ou posterior) e o gerenciador de pacotes pip.
Requisitos de usuários e permissões do RAM
-
Requisitos de usuários RAM:
São necessários dois usuários RAM para finalidades diferentes.
Administrador: faz login nos consoles do Model Studio (Bailian), Function Compute (FC), Agent Identity e RAM para gerenciar aplicativos e configurar permissões.
Usuário de execução de script: executa scripts de preparação, testa o aplicativo localmente e implanta o aplicativo na plataforma Model Studio (Bailian) high-code.
-
Requisitos de permissões RAM:
O administrador precisa ter, no mínimo, as seguintes permissões:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "fc:*", "Resource": "*" }, { "Effect": "Allow", "Action": "ram:PassRole", "Resource": "*", "Condition": { "StringEquals": { "acs:Service": [ "fc.aliyuncs.com" ] } } }, { "Effect": "Allow", "Action": "bailiancontrol:*", "Resource": "*" }, { "Effect": "Allow", "Action": [ "ram:ListUserBasicInfos", "ram:*Application*" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ram:CreateRole", "ram:GetRole", "ram:ListRoles", "ram:AttachPolicyToRole", "ram:ListPolicyAttachments", "ram:ListPolicies", "ram:GetPolicy", "ram:ListUsers" ], "Resource": "*" }, { "Effect": "Allow", "Action": "openapiexplorer:*Mcp*", "Resource": "*" }, { "Effect": "Allow", "Action": "agentidentity:*", "Resource": "*" }, { "Effect": "Allow", "Action": [ "log:Get*", "log:List*" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "log:Query*", "log:CallAiTools" ], "Resource": "*" } ] }O usuário de execução de script requer as seguintes permissões:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "bailiandata:*", "sfm:*" ], "Resource": "*" }, { "Effect": "Allow", "Action": "agentidentity:*", "Resource": "*" }, { "Effect": "Allow", "Action": "agentidentitydata:*", "Resource": "*" }, { "Effect": "Allow", "Action": "ram:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringEquals": { "ram:ServiceName": ["agentidentity.aliyuncs.com"] } } }, { "Effect": "Allow", "Action": [ "ram:CreateApplication", "ram:CreateRole", "ram:CreatePolicy", "ram:AttachPolicyToRole", "ram:CreateAppSecret", "ram:DeleteApplication", "ram:ListUserBasicInfos", "ram:ListRoles" ], "Resource": "*" } ] } -
Requisitos de permissão do workspace do Model Studio (Bailian):
Conceda a permissão Component Management_Agent_Operation ao usuário de execução de script para o workspace de destino na Página de gerenciamento de contas do Model Studio (Bailian).
Na caixa de diálogo Edit Permissions, acesse a etapa Page Permissions, selecione a aba Application e escolha a permissão desejada.
Ativação e autorização de services
-
Verifique se os seguintes services estão ativados para sua conta Alibaba Cloud:
Model Studio (Bailian)
Function Compute (FC)
-
Autorize os services de nuvem no console do Model Studio (Bailian). Acesse Alibaba Cloud Model Studio (Bailian) - App Management, clique em no tipo high-code e conceda autorização com um clique para os services de nuvem relacionados.
Certifique-se de que o Function Compute (FC), o Object Storage Service (OSS) e o API Gateway estejam com o status Authorized.
Chave de API do DashScope
Obtenha uma chave de API do DashScope com permissão para chamar modelos do Model Studio (Bailian). Caso ainda não possua uma, consulte Obter chave de API para criá-la.
Etapa 1: Instalação e teste locais
Obter e preparar o código de exemplo
-
Clone o repositório de código. Abra um terminal na máquina local e execute os comandos a seguir.
git clone https://github.com/aliyun/agent-identity-dev-kit.git cd agent-identity-dev-kit/agent_identity_python_samples/end-to-end_sample -
Instale as dependências. Recomendamos criar e ativar um ambiente virtual Python antes de instalar as dependências.
pip install -r requirements.txt -
Configure as variáveis de ambiente.
export AGENT_IDENTITY_REGION_ID=cn-beijing # Agent Identity is currently available only in the China (Beijing) region. export DASHSCOPE_API_KEY=<your-api-key> # DashScope API export MODELSTUDIO_WORKSPACE_ID=<your-workspace-id> # Optional. Replace with the Model Studio (Bailian) workspace ID where the high-code application will be deployed. If not set, the default workspace is used.
Preparar credenciais de usuário RAM
Configure as credenciais locais usando o usuário de execução de script definido em Requisitos de usuários e permissões do RAM.
Usar a Alibaba Cloud CLI
Instale a Alibaba Cloud CLI (ignore se já estiver instalada). Para mais informações, consulte Início rápido com a CLI.
Faça login na Alibaba Cloud CLI. Para mais informações, consulte Configurar autenticação OAuth para a Alibaba Cloud CLI.
-
Verifique a configuração das credenciais. Execute o comando
aliyun configure listpara confirmar se a configuração de credenciais existe e é válida. A saída deve ser semelhante à seguinte:Profile | Credential | Valid | Region | Language --------- | ------------------ | ------- | ---------------- | -------- OAuthProfile * | OAuth:xQcliVOdYA@CN | Valid | cn-hangzhou | zh
Usar uma chave de acesso (não recomendado)
Crie uma chave de acesso para o usuário de execução de script e configure-a como variáveis de ambiente locais.
export ALIBABA_CLOUD_ACCESS_KEY_ID=<your-access-key-id>
export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<your-access-key-secret>
Executar o script de preparação
No diretório raiz do projeto, execute o script prepare.py para criar os recursos de nuvem necessários:
python -m prepare
Este script executa as seguintes ações:
Cria um provedor de identidade
Cria um aplicativo de entrada OAuth 2.1 da Alibaba Cloud
Cria um aplicativo nativo OAuth 2.1 necessário pelo service MCP da Alibaba Cloud
Cria uma identidade de carga de trabalho e uma função
Configura um provedor de credenciais
O script salva os detalhes dos recursos criados no arquivo .config.json no diretório raiz, incluindo o campo mcp_app_name necessário em uma etapa posterior.
Se o script falhar devido a problemas de rede ou cota de recursos excedida, limpe os recursos criados antes de tentar novamente:
python -m clear
Para evitar impactos em outros recursos RAM da sua conta, a lógica de limpeza não exclui funções ou políticas personalizadas. Exclua-as manualmente.
Configurar o service OpenAPI MCP
Acesse a página Alibaba Cloud OpenAPI Custom MCP Service e faça login.
Na caixa de pesquisa, insira "resourcecenter" e clique em no service de sistema "resourcecenter" nos resultados da busca.
Na área OAuth Configuration, clique em Modify.
Na caixa de diálogo Modify OAuth Configuration, selecione Custom OAuth. No menu suspenso, selecione o nome do aplicativo MCP criado pelo script de preparação. O nome do aplicativo deve corresponder ao valor do campo
mcp_app_nameno arquivo.config.jsonlocalizado no diretório raiz do projeto. Clique em Confirm Change.Na área Configuration Information, copie o endereço
Streamable HTTP Endpointe atualize o campoMCP_SERVERno arquivodeploy_starter/config.yml.
Testar o aplicativo
-
Inicie o service de proxy do agente. Execute o seguinte comando no diretório raiz:
python -m deploy_starter.main -
Inicie os aplicativos de frontend e backend. Execute o seguinte comando no diretório raiz:
python -m application.backend.app -
Acesse o aplicativo e interaja com o agente:
Após iniciar o proxy do agente e os aplicativos, abra
http://localhost:8090no navegador.Conclua o login na Alibaba Cloud e a autorização do usuário. Em seguida, interaja com o modelo na janela de chat do aplicativo. Por exemplo, insira: "Consultar minhas informações de configuração de VPC na minha conta Alibaba Cloud."
-
Clique em na URL de autorização OAuth na resposta e conclua a autorização.
O sistema retorna uma mensagem indicando que a primeira conversa requer autorização para obter a lista de ferramentas MCP e fornece um link de autorização OAuth para o Alibaba Cloud MCP Service.
Após a autorização, a consulta retorna uma lista de seis instâncias de Virtual Private Cloud (VPC) distribuídas em três regiões. Por exemplo, na região China (Hangzhou) (
cn-hangzhou), cada entrada de VPC inclui campos como VPC Name, Resource ID, Resource Group ID e Creation Time. Algumas entradas também incluem informações de tag.
NotaPara mais exemplos de interação com o agente, consulte o documento README no repositório de código.
Etapa 2: Empacotar e implantar o agente no Model Studio (Bailian) high-code
Empacotar o código local
-
Instale as dependências para empacotamento e implantação. Execute os seguintes comandos no diretório raiz do projeto:
pip install rich pip install alibabacloud-bailian20231229 -
Empacote o agente. Execute o seguinte comando no diretório raiz do projeto:
python setup.py bdist_wheelApós o empacotamento bem-sucedido, um arquivo
.whlserá gerado no diretóriodistdo projeto.
Implantar o agente no Model Studio (Bailian)
-
Execute o seguinte comando no diretório raiz do projeto para implantar o arquivo .whl empacotado no Model Studio (Bailian):
runtime-fc-deploy --deploy-name agent-identity-sample --whl-path <PATH_TO_YOUR_NEW_WHL_FILE> --telemetry enableA saída deve ser semelhante à seguinte:
(.venv) xxx agentscope-sample % runtime-fc-deploy --deploy-name agent-identity-sample --whl-path ./dist/agentdev_starter_5ca90297-0.1.0-py3-none-any.whl --telemetry enable Built wheel at /Users/xxx agentscope-sample/dist/agentdev_starter_5ca90297-0.1.0-py3-none-any.whl Resource Name agent-identity-sample Deploy Result Console URL: https://modelstudio.console.alibabacloud.com/?tab=app#/app-center Deploy ID: bf96fd3202e24e64989442f7aaae57b1NotaSe ocorrerem erros relacionados a permissões durante a implantação, verifique se o usuário de execução de script possui as permissões RAM e as permissões de workspace do Model Studio (Bailian) necessárias, conforme descrito em Requisitos de usuários e permissões do RAM.
-
Após uma implantação bem-sucedida, aguarde alguns instantes. O aplicativo de agente implantado aparecerá com o status Published em Alibaba Cloud Model Studio (Bailian) - App Management.
Na página App Management, selecione a aba da categoria high-code. Um aplicativo chamado
agent-identity-sampleaparecerá com um ponto verde indicando o status Published.
Etapa 3: Configurar o aplicativo Model Studio (Bailian) high-code
Configurar variáveis de ambiente no Model Studio (Bailian)
Em Alibaba Cloud Model Studio (Bailian) - App Management, localize e clique em no aplicativo de agente implantado para abrir sua página de detalhes.
Na página de detalhes do aplicativo high-code, clique em no botão de edição à direita da área Environment Variables.
-
Adicione as duas variáveis de ambiente a seguir e clique em OK.
AGENT_IDENTITY_WORKLOAD_IDENTITY_NAME: defina este valor como o conteúdo do campoworkload_identity_nameencontrado no arquivo .config.json no diretório raiz do projeto.DASHSCOPE_API_KEY: defina este valor como a chave de API do DashScope do workspace atual no Model Studio (Bailian).
Na caixa de diálogo de confirmação Save Environment Variables, clique em Confirm.
Configurar a função RAM da instância no Function Compute
Faça login no console do RAM e crie uma função RAM para associar à instância do Function Compute. Como entidade de service de nuvem, selecione Function Compute. Para etapas detalhadas, consulte Criar uma função RAM para um service confiável da Alibaba Cloud.
No console do RAM, conceda a política de sistema
AliyunAgentIdentityDataFullAccessà função RAM recém-criada.Em Alibaba Cloud Model Studio (Bailian) - App Management, localize e clique em no aplicativo de agente implantado. Na página de detalhes do aplicativo high-code, clique em View Details à direita da área Basic Configurations para visualizar os detalhes da instância do Function Compute que hospeda o aplicativo.
Na página de detalhes do Function Compute, clique em na aba Configuration. Em seguida, clique em Configuration no lado direito da seção Edit.
Na página de edição de configurações avançadas, clique em Advanced Configurations. Na caixa de entrada Permissions, pesquise e selecione a função RAM criada anteriormente.
Clique em function role.
Configurar o endpoint público e o token de autenticação no código local
Em Alibaba Cloud Model Studio (Bailian) - App Management, localize e clique em no aplicativo de agente implantado. Na página de detalhes do aplicativo high-code, copie o endpoint público e o token de autenticação da área Deploy.
-
Atualize o arquivo
deploy_starter/config.ymlcom o endpoint público e o token de autenticação:AGENT_BEARER_TOKEN: "<authentication-token>" AGENT_ENDPOINT: "<public-endpoint>/process"
Etapa 4: Testar e verificar
Teste o aplicativo seguindo as instruções em Testar o aplicativo.
Consultar logs (opcional)
Visualize os logs de solicitação na instância do Function Compute para revisar o histórico de chamadas e a saída do agente.
Na página de detalhes da função, selecione a aba Logs. A lista Invocation Requests mostra o ID da solicitação, o status da invocação (por exemplo, 200 para sucesso), o uso de memória e o tempo de execução. As entradas de log incluem registros de registro de ferramentas MCP, como Registered 5 tool functions from ResourceCenter-20221201-SearchResources, e detalhes de chamada tool_use mostrando consultas de recursos do agente por meio da API ResourceCenter.
Observações importantes
-
Caso precise executar o script prepare.py novamente, execute primeiro o script de limpeza no diretório raiz do projeto para remover os recursos:
python -m clear Não altere as configurações constantes no script
prepare.py, pois isso pode causar falha no aplicativo.Ao implantar o frontend e o backend na Alibaba Cloud (por exemplo, em uma instância ECS), associe uma função RAM de instância, como uma função de instância ECS ou uma função de instância Function Compute, ao ambiente de hospedagem do backend. Conceda também a essa função a política de sistema
AliyunAgentIdentityDataCompleteAuthAccess. Sem essa função, o agente não consegue obter um token de acesso OAuth.