Todos os produtos
Search
Central de documentação

Elastic Compute Service:Install and configure Workbench CLI credentials

Última atualização: Oct 22, 2026

Após instalar o Workbench CLI em sua máquina local Linux, macOS ou Windows, anexe uma política de privilégio mínimo a um usuário RAM e gere um AccessKey para acesso imediato às credenciais. Em ambientes de produção, alterne para RamRoleArn, CredentialsCmd ou CredentialsURI para habilitar a atualização automática de credenciais e garantir o princípio do menor privilégio.

Limites

  • Sistema operacional da instância de destino: O Workbench CLI conecta-se apenas a instâncias Linux via Secure Shell Protocol (SSH) e não oferece suporte a instâncias Windows.

  • Sistema operacional da máquina local: O próprio Workbench CLI executa em Linux, macOS (amd64 / arm64) e Windows (amd64).

  • Conectividade de rede: A máquina local precisa acessar *.aliyuncs.com e o endpoint WebSocket de backend do Workbench.

Importante

Connect to an instance by using Workbench

O Workbench CLI ainda não suporta instâncias Windows. Para se conectar a uma instância Windows, consulte .

Etapa 1: Instalar o Workbench CLI

Escolha o comando de instalação conforme o sistema operacional da máquina local. O script detecta automaticamente a arquitetura (amd64 / arm64), baixa o binário da CDN do OSS, verifica o checksum SHA256 e o instala no caminho padrão do sistema.

Linux ou macOS

Execute o comando abaixo para instalar a versão mais recente do Workbench CLI.

curl -fsSL https://workbench-cli.oss-cn-hangzhou.aliyuncs.com/install.sh | bash

Após a instalação, o binário fica localizado em /usr/local/bin/workbench. No macOS, o binário é reassinado automaticamente e seu atributo de quarentena é removido. Caso o diretório de destino exija privilégios de administrador, o script utiliza sudo automaticamente.

Windows

No PowerShell, execute o comando a seguir para instalar a versão mais recente do Workbench CLI.

irm https://workbench-cli.oss-cn-hangzhou.aliyuncs.com/install.ps1 | iex

Depois de instalado, o binário estará em C:\Program Files\workbench\, e o script configurará automaticamente a variável de ambiente PATH. Se a instalação ocorrer em uma sessão de área de trabalho ou Remote Desktop Protocol (RDP), o novo PATH só entrará em vigor após você sair e entrar novamente na conta.

Verificar a instalação

Para confirmar que a instalação foi bem-sucedida, execute este comando:

workbench version

Em condições normais, a saída exibe o número da versão atual, o ID do commit e a data de compilação. Se aparecer a mensagem command not found, geralmente significa que o PATH ainda não entrou em vigor. Tente uma das ações abaixo:

  • Linux / macOS: Reabra a janela do terminal ou execute source ~/.bashrc (ou ~/.zshrc) e tente novamente.

  • Windows: Feche e reabra a janela do PowerShell para que o novo PATH seja aplicado.

Etapa 2: Preparar um AccessKey com permissões de privilégio mínimo para o Workbench CLI

O Workbench CLI chama as APIs da Alibaba Cloud usando um AccessKey. O objetivo desta etapa é obter um AccessKey com apenas as permissões mínimas necessárias, permitindo que você o configure na CLI da sua máquina local na próxima etapa. O procedimento recomendado é: Criar um usuário RAM → Conceder as permissões mínimas → Criar um AccessKey para o usuário RAM.

Importante

Não utilize o AK/SK da sua conta Alibaba Cloud para configurar a CLI. O AccessKey de uma conta Alibaba Cloud possui permissões operacionais sobre todos os recursos cloud associados a ela. Em caso de vazamento, todos os seus ativos ficam expostos. Utilize sempre o AccessKey de um usuário RAM com apenas as permissões estritamente necessárias.

Nota

Caso já possua um usuário RAM com as permissões mínimas exigidas pelo Workbench CLI, pule as etapas 1 a 3 e inicie diretamente pela Etapa 4: Criar um AccessKey para o usuário RAM.

  1. RAM console

    Criar um usuário RAM. Faça login no e navegue até a página Identities > Users. Clique em Create User. Na página de criação, insira o User Login Name e o Display Name e clique em OK.

    Não crie um AccessKey neste momento. Ele será gerado na etapa 4, após a conclusão da autorização.

  2. Criar uma política personalizada. No console RAM, acesse a página Permissions > Policies e clique em Create Policy. Mude para o modo Script Editor, cole o JSON abaixo e clique em OK.

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "ecs-workbench:*"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "ecs:DescribeInstances",
            "ecs:DescribeCloudAssistantStatus",
            "ecs:StartTerminalSession"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": "ram:CreateServiceLinkedRole",
          "Resource": "*",
          "Condition": {
            "StringEquals": {
              "ram:ServiceName": "workbench.ecs.aliyuncs.com"
            }
          }
        }
      ]
    }

    A tabela a seguir descreve a finalidade de cada Action na política:

    Action

    Finalidade

    ecs:DescribeInstances

    workbench list ecs Consulta a lista de instâncias.

    ecs:DescribeCloudAssistantStatus

    Verifica o status do Cloud Assistant Agent na instância de destino.

    ecs:StartTerminalSession

    Estabelece uma sessão de terminal com a instância ECS.

    ecs-workbench:LoginECSInstance

    Login sem senha através do canal Workbench (utilizado por connect, exec, upload e download).

    ecs-workbench:ChatMessages

    Permissões necessárias para o assistente AI Agent durante a sessão (modo /agent).

    ecs-workbench:EndSessions

    Encerra a sessão do Workbench (chamado por session close e pela limpeza automática de sessões).

    ram:CreateServiceLinkedRole

    Cria a função vinculada ao serviço Workbench no primeiro uso, utilizando Condition para restringir a criação à função vinculada do serviço workbench.ecs.aliyuncs.com.

    Por padrão, a política acima concede acesso a todas as instâncias. Para limitar o escopo a instâncias específicas, utilize ARNs de instância apenas para operações que suportam autorização no nível da instância e divida-as em blocos Statement separados conforme necessário para modificar o campo Resource:

    "Resource": "acs:ecs:<region>:<account-id>:instance/<instance-id>"
    Nota

    As ações ecs-workbench:ChatMessages e ram:CreateServiceLinkedRole não permitem restrição por ARN de instância e devem permanecer como "Resource": "*".

  3. Conceder a política ao usuário RAM. Acesse a página de detalhes do usuário RAM criado na etapa 1 e clique na aba Permissions. Clique em Grant Permission

    Manage the permissions of a RAM user

    Grant Permission, selecione a política personalizada criada anteriormente e conclua a autorização. Para mais instruções, consulte .

  4. Criar um AccessKey para o usuário RAM. Na página de detalhes do usuário RAM, vá para a aba Credentials > AccessKey e clique em Create AccessKey. Na tela exibida, selecione Use the AccessKey in the CLI, marque I confirm that I must create an AccessKey e clique em Continue

    Create an AccessKey pair

    Continue. Para instruções detalhadas, veja .

    Importante

    O segredo do AccessKey é exibido apenas uma vez, no momento da criação, e não pode ser consultado novamente após fechar a página. Salve o AccessKey ID e o segredo imediatamente em um gerenciador de senhas ou keystore. Caso os perca, será necessário criar um novo par de AccessKey.

    Um AccessKey é uma credencial de longo prazo; se vazada, pode ser explorada por muito tempo. Em ambientes de produção, mude para um modo de credencial com atualização automática, como RamRoleArn, assim que concluir a configuração na Etapa 3. Consulte a seção Outros métodos de configuração para detalhes.

Etapa 3: Configurar o par de AccessKey na CLI local

Execute o comando abaixo e insira o AccessKey ID e o segredo obtidos na Etapa 2 quando solicitado.

workbench config

Ao finalizar a configuração, as credenciais são salvas em ~/.workbench/config.json, e as permissões do arquivo são definidas automaticamente como 0600 (leitura e escrita permitidas apenas para o usuário atual). Exemplo do conteúdo do arquivo:

{
  "current": "default",
  "profiles": {
    "default": {
      "mode": "AK",
      "access_key_id": "LTAI...",
      "access_key_secret": "..."
    }
  }
}

Para verificar se a conexão funciona, execute o comando a seguir (substitua cn-hangzhou pela sua região real):

workbench list ecs -r cn-hangzhou

Se tudo estiver correto, a lista de instâncias da região será retornada. Caso receba erros como InvalidAccessKeyId ou NoPermission, consulte a seção FAQ.

(Opcional) Definir o idioma da interface

O Workbench CLI suporta chinês (zh) e inglês (en) como idiomas de interface. Por padrão, o idioma é chinês. Execute o comando abaixo para alterar:

workbench config set language en   # Switch to English
workbench config set language zh   # Switch back to Chinese

Também é possível definir o idioma no fluxo interativo do workbench config ou editar diretamente o arquivo ~/.workbench/config.json, adicionando o campo language no perfil correspondente:

{
  "current": "default",
  "profiles": {
    "default": {
      "mode": "AK",
      "language": "en"
    }
  }
}

A alteração entra em vigor na próxima reconexão, sem necessidade de reiniciar o daemon.

(Opcional) Gerenciar múltiplos perfis

Para alternar entre várias contas Alibaba Cloud ou diferentes conjuntos de credenciais, utilize o recurso de perfis e evite reconfigurar as credenciais repetidamente. Todos os perfis ficam armazenados no mesmo arquivo ~/.workbench/config.json, onde o campo current indica o perfil ativo.

workbench config --profile prod          # Create or edit the prod Profile
workbench config list                    # List all profiles (* marks the active one)
workbench config get --profile prod      # Show the details of the specified profile
workbench config switch --profile prod   # Switch the active Profile
workbench config delete --profile old    # Delete a profile (the active profile cannot be deleted)
workbench exec -i i-xxx -c "hostname" --profile prod   # For this command only, use the specified Profile

Exemplo de config.json com múltiplos perfis:

{
  "current": "default",
  "profiles": {
    "default": {
      "mode": "AK",
      "access_key_id": "LTAI...",
      "access_key_secret": "..."
    },
    "prod": {
      "mode": "RamRoleArn",
      "access_key_id": "LTAI...",
      "access_key_secret": "...",
      "ram_role_arn": "acs:ram::123456:role/prod",
      "role_session_name": "workbench"
    }
  }
}
Nota

Se o arquivo de configuração ainda estiver no formato antigo plano (sem o campo profiles), a CLI o migrará automaticamente para o novo formato na primeira execução, movendo as credenciais existentes para um perfil chamado default. Nenhuma ação manual é necessária.

Outros métodos de configuração

Um AccessKey estático é uma credencial de longo prazo e, se comprometida, pode ser abusada por um período extenso. Em ambientes de produção ou sob requisitos de segurança mais rigorosos, opte por um dos outros seis modos disponíveis:

Modo

Cenário aplicável

Comando de configuração

AK (Etapas 2 a 3 deste tópico)

AccessKey estático. Ideal para início rápido em ambientes de desenvolvimento.

workbench config --mode AK

StsToken

Credenciais de segurança temporárias (par de AccessKey e token do Security Token Service - STS). Adequado quando você já possui credenciais temporárias STS.

workbench config --mode StsToken

RamRoleArn

Recomendado para produção: um AK de baixo privilégio assume uma função RAM de alto privilégio, e as credenciais temporárias STS são atualizadas automaticamente.

workbench config --mode RamRoleArn

CredentialsCmd

Obtém credenciais dinamicamente de um programa externo, integrando-se ao sistema de distribuição de credenciais ou gerenciamento de segredos da sua empresa.

workbench config --mode CredentialsCmd

CredentialsURI

Recupera credenciais dinamicamente via serviço HTTP, como um serviço de metadados ou sidecar.

workbench config --mode CredentialsURI

EcsRamRole

A CLI roda em uma instância ECS vinculada a uma função RAM e obtém credenciais automaticamente do serviço de metadados da instância (IMDS).

workbench config --mode EcsRamRole

AliyunCLI

Reutiliza as credenciais já configuradas na Alibaba Cloud CLI local (~/.aliyun/config.json), evitando armazenar um AK/SK fixo em disco.

workbench config --mode AliyunCLI

Usar credenciais temporárias STS (StsToken)

Use a RAM role (RamRoleArn)

Este modo autentica diretamente com credenciais de segurança temporárias (AccessKey ID + segredo do AccessKey + token STS) obtidas via STS. Utilize-o quando já possuir credenciais temporárias válidas. Como elas possuem tempo de expiração, será necessário reconfigurá-las após o vencimento. Para atualização automática, consulte .

Método de configuração

workbench config --mode StsToken

Insira os seguintes dados na ordem solicitada:

  • Access Key ID: o AccessKey ID temporário.

  • AccessKey Secret: o segredo do AccessKey temporário.

  • STS Token: a credencial de acesso temporária.

Visualização do resultado da configuração

Após concluir a configuração, verifique o resultado consultando o arquivo ~/.workbench/config.json. Veja um exemplo completo:

{
  "current": "default",
  "profiles": {
    "default": {
      "mode": "StsToken",
      "access_key_id": "STS.LTAI...",
      "access_key_secret": "...",
      "sts_token": "..."
    }
  }
}

Usar uma função RAM (RamRoleArn)

Assume a RAM role

Indicado para cenários onde um AccessKey de baixo privilégio assume uma função RAM de alto privilégio. A CLI chama automaticamente o STS AssumeRole para obter credenciais temporárias e as renova antes da expiração. Para mais detalhes sobre assunção de funções RAM, veja .

Método de configuração

workbench config --mode RamRoleArn

Forneça as informações abaixo conforme solicitado:

  • Access Key ID: o AccessKey ID com permissão AliyunSTSAssumeRoleAccess.

  • Access Key Secret: a chave secreta correspondente ao AccessKey ID.

  • RAM Role ARN: o ARN da função RAM a ser assumida (formato: acs:ram::&lt;account-id&gt;:role/&lt;role-name&gt;)

  • Role Session Name: identificador da sessão, usado para logs de auditoria (padrão: workbench-session).

Visualização do resultado da configuração

Terminada a configuração, valide o resultado verificando o arquivo ~/.workbench/config.json.

É possível adicionar campos avançados (como expired_seconds, sts_region e external_id, usado para prevenção de confused deputy entre contas) editando manualmente o

What is STS?

config.json. Para saber mais sobre o mecanismo STS, consulte .

Veja um exemplo completo de configuração:

{
  "current": "default",
  "profiles": {
    "default": {
      "mode": "RamRoleArn",
      "access_key_id": "LTAI...",
      "access_key_secret": "...",
      "ram_role_arn": "acs:ram::123456789:role/WorkbenchRole",
      "role_session_name": "workbench-session"
    }
  }
}

Usar credenciais via comando externo (CredentialsCmd)

Ideal para obter credenciais dinamicamente por meio de ferramentas externas, como aliyun-zerotrust-credential-provider ou scripts personalizados. Sempre que precisar de credenciais, a CLI executará o comando configurado e interpretará a saída JSON como as credenciais válidas.

Método de configuração

workbench config --mode CredentialsCmd

Informe os dados solicitados:

  • Process Command — caminho completo e parâmetros do comando externo de credenciais. Este comando deve atender aos seguintes requisitos:

    • O código de saída deve ser 0. Qualquer valor diferente indica falha.

    • A saída padrão deve estar em formato JSON. Dois formatos são suportados:

      Formato AK (credenciais estáticas):

      {
        "mode": "AK",
        "access_key_id": "<AccessKeyID>",
        "access_key_secret": "<AccessKeySecret>"
      }

      Formato StsToken (credenciais temporárias):

      {
        "mode": "StsToken",
        "access_key_id": "<AccessKeyID>",
        "access_key_secret": "<AccessKeySecret>",
        "sts_token": "<SecurityToken>"
      }

Exemplo 1: Usar aliyun-zerotrust-credential-provider

O aliyun-zerotrust-credential-provider é a interface de linha de comando para credenciais de confiança zero da Alibaba Cloud.

workbench config --mode CredentialsCmd
# Process Command input:
# /usr/local/bin/aliyun-zerotrust-credential-provider --app-name=myapp --role=acs:ram::123456789:role/WorkbenchRole

Após configurar, valide o resultado verificando o arquivo ~/.workbench/config.json. Exemplo completo:

{
  "current": "default",
  "profiles": {
    "default": {
      "mode": "CredentialsCmd",
      "process_command": "/usr/local/bin/aliyun-zerotrust-credential-provider --app-name=myapp --role=acs:ram::123456789:role/WorkbenchRole"
    }
  }
}

Exemplo 2: Usar um script personalizado

output format Você pode escrever um script como fonte de credenciais, desde que ele atenda aos :

#!/bin/bash
# ~/.workbench/get-creds.sh
# Obtain credentials from Vault or another key management system
vault read -format=json secret/aliyun | jq '{
  mode: "StsToken",
  access_key_id: .data.access_key_id,
  access_key_secret: .data.access_key_secret,
  sts_token: .data.security_token
}'

Usar uma URI de credenciais (CredentialsURI)

Apropriado para serviços de distribuição de credenciais autogerenciados, serviço de metadados de instância ECS ou endpoints sidecar. A CLI envia uma requisição HTTP GET para a URL configurada a fim de obter credenciais temporárias dinamicamente, renovando-as automaticamente antes da expiração.

Método de configuração

workbench config --mode CredentialsURI

Insira o seguinte quando solicitado:

  • Credentials URI: Endereço HTTP/HTTPS do serviço de credenciais. A resposta do serviço deve obedecer aos critérios abaixo:

    • O código de status da resposta deve ser 200

    • O corpo da resposta deve seguir este formato:

      {
        "Code": "Success",
        "AccessKeyId": "<AccessKeyID>",
        "AccessKeySecret": "<AccessKeySecret>",
        "SecurityToken": "<SecurityToken>",
        "Expiration": "2026-01-01T12:00:00Z" 
      }
      Importante

      O campo Code deve ser exatamente Success (case-sensitive). O campo Expiration segue o formato ISO 8601, e o SDK buscará novas credenciais automaticamente antes do vencimento.

Visualização do resultado da configuração

Após concluir, confirme a configuração verificando o arquivo ~/.workbench/config.json. Exemplo completo:

{
  "current": "default",
  "profiles": {
    "default": {
      "mode": "CredentialsURI",
      "credentials_uri": "http://localhost:8080/credentials"
    }
  }
}

Usar uma função RAM de instância ECS (EcsRamRole)

Aplica-se a cenários onde a CLI executa em uma instância ECS da Alibaba Cloud com uma função RAM anexada. A CLI obtém credenciais STS temporárias diretamente do serviço de metadados da instância (IMDS http://100.100.100.200) e não requer AccessKey. O IMDS renova as credenciais automaticamente antes da expiração.

Importante

AK, RamRoleArn, or CredentialsURI

Disponível apenas em instâncias ECS/ECI da Alibaba Cloud. Ambientes fora do ECS (máquinas locais, outras clouds) não acessam o IMDS, fazendo com que este modo falhe. Nesses casos, utilize modos como , ou .

Método de configuração

workbench config --mode EcsRamRole

Responda às solicitações conforme indicado:

  • RAM Role Name: Nome da função RAM anexada à instância. Pode ficar vazio. Se omitido, a CLI detectará automaticamente a função atual via IMDS (comportamento equivalente ao parâmetro opcional --ram-role-name da Alibaba Cloud CLI oficial).

  • IMDSv2 hardening mode (y/n): O padrão é y (ativa o endurecimento IMDSv2). Se a instância for antiga e não suportar IMDSv2, responda n para usar IMDSv1.

Uma vez configurado, utilize os comandos normalmente. A obtenção e renovação de credenciais ocorrem de forma totalmente automática.

Visualização do resultado da configuração

Para validar a configuração, verifique o arquivo ~/.workbench/config.json.

Campos do arquivo de configuração:

  • mode: Valor fixo EcsRamRole

  • role_name (Opcional): Deixe vazio para detecção automática

  • disable_imds_v1 (Opcional): Omitir ou definir como true ativa o endurecimento IMDSv2 (padrão); false permite fallback para IMDSv1

Exemplos completos de configuração:

  • Configuração mínima (detecção automática de função + endurecimento IMDSv2):

    {
      "current": "default",
      "profiles": {
        "default": {
          "mode": "EcsRamRole"
        }
      }
    }
  • Especificando nome da função e permitindo fallback para IMDSv1:

    {
      "current": "default",
      "profiles": {
        "default": {
          "mode": "EcsRamRole",
          "role_name": "ECSAdmin",
          "disable_imds_v1": false
        }
      }
    }

Reutilizar credenciais da Alibaba Cloud CLI (AliyunCLI)

Se a Alibaba Cloud CLI estiver instalada e configurada na sua máquina, você poderá reutilizar diretamente as credenciais dela, sem precisar armazenar um AccessKey ID e segredo separados no Workbench.

Pré-requisitos

  • Alibaba Cloud CLI instalada e configurada (aliyun configure).

  • Arquivo de configuração localizado em ~/.aliyun/config.json ou especificado via ALIBABA_CLOUD_CONFIG_FILE. O Workbench apenas lê este arquivo, sem modificar seu conteúdo.

Nota

Os modos da Alibaba Cloud CLI como AK, StsToken, RamRoleArn, EcsRamRole, OIDC, CloudSSO, OAuth e ChainableRamRoleArn são suportados. Para credenciais dinâmicas (como RamRoleArn), os tokens temporários do Security Token Service são atualizados automaticamente.

Método de configuração

workbench config --mode AliyunCLI

Informe o seguinte quando solicitado:

  • aliyun_profile(Opcional): Nome do perfil da Alibaba Cloud CLI a ser reutilizado. Se deixado em branco, o perfil atual será usado.

Visualização do resultado da configuração

Após configurar, valide o resultado verificando o arquivo ~/.workbench/config.json. Exemplo completo:

{
  "current": "default",
  "profiles": {
    "default": {
      "mode": "AliyunCLI",
      "aliyun_profile": "wb-sub-01"
    }
  }
}

Atualizar o Workbench CLI

O Workbench CLI suporta autoatualização em uma única etapa. Execute o comando abaixo para obter a versão mais recente:

workbench upgrade

Durante a atualização, o binário da versão mais recente é baixado, verificado e substitui a versão atual automaticamente.

Nota

Se o binário estiver em um diretório que exige privilégios de administrador (por exemplo, /usr/local/bin no Linux ou macOS), utilize sudo workbench upgrade.

Desinstalar

O Workbench CLI não registra serviços nem altera configurações do sistema. Para desinstalá-lo, pare o daemon, remova o binário e (opcionalmente) exclua o diretório de configuração local.

Linux ou macOS

Execute os comandos abaixo em sequência:

workbench daemon stop
sudo rm -f /usr/local/bin/workbench
rm -rf ~/.workbench

O terceiro comando (que remove ~/.workbench) é opcional e apaga todas as credenciais e arquivos de configuração locais.

Windows

No PowerShell, execute os comandos a seguir em ordem:

workbench daemon stop
Remove-Item "$env:ProgramFiles\workbench" -Recurse -Force

# Delete the item created during installation in the Cloud Assistant scenario: shim
Remove-Item "$env:SystemRoot\System32\workbench.cmd" -Force -ErrorAction SilentlyContinue

Remove-Item "$env:USERPROFILE\.workbench" -Recurse -Force

# Remove the workbench path that the installation script (remote desktop scenario) added to the user PATH
$path = [Environment]::GetEnvironmentVariable("Path", "User")
if ($path -match "workbench") {
    $cleaned = ($path -split ";" | Where-Object { $_ -notmatch "workbench" }) -join ";"
    [Environment]::SetEnvironmentVariable("Path", $cleaned, "User")
}

Excluir o diretório .workbench é opcional e remove todas as credenciais e configurações locais.

Nota

Os comandos acima limpam apenas a CLI local e as credenciais armazenadas nela. O usuário RAM e o AccessKey na nuvem não são excluídos. Para removê-los também, acesse o console RAM e exclua o usuário correspondente ou desative o AccessKey.

FAQ

Executar workbench após instalação retorna command not found

Causa: O diretório adicionado ao PATH pelo script de instalação ainda não está ativo na sessão shell atual.

Solução:

  • Linux ou macOS: Reabra o terminal, execute source ~/.bashrc (ou ~/.zshrc) ou use o caminho absoluto /usr/local/bin/workbench version para verificar.

  • Windows: Feche e reabra a janela do PowerShell.

Executar workbench config retorna erro de permissão no arquivo de configuração

Causa: A CLI rejeita o arquivo ~/.workbench/config.json se as permissões forem muito amplas (por exemplo, 0644 ou leitura permitida para grupo), evitando que outros usuários na mesma máquina leiam suas credenciais.

Solução: No Linux ou macOS, execute o comando abaixo para corrigir as permissões:

chmod 600 ~/.workbench/config.json

workbench list ecs retorna InvalidAccessKeyId.NotFound ou IncompleteSignature

Causa: Geralmente ocorre por um dos motivos abaixo:

  • O AccessKey ID ou segredo inserido durante a configuração está incorreto (por exemplo, contém espaços no início/fim ou cópia incompleta).

  • O AccessKey correspondente foi desativado ou excluído no console RAM.

Solução: Execute novamente workbench config e certifique-se de que o AccessKey ID e o segredo pertencem ao mesmo par, estão completos e sem espaços extras; ou confirme no console RAM se o status do AccessKey está Enabled.

Referências