Após instale o Alibaba Cloud CLI, configure as credenciais de identidade e instale um plugin de produto de nuvem para começar a fazer chamadas de API. Este tópico usa o ECS como exemplo para orientar você em todo o processo, desde a instalação do CLI até a execução do primeiro comando.
Visão geral da solução
Para chamar APIs de produtos de nuvem com o Alibaba Cloud CLI, siga estas quatro etapas:
Pré-requisitos
Você precisa ter uma conta Alibaba Cloud. Caso não tenha, acesse o site oficial da Alibaba Cloud para se registrar.
Etapa 1: Instalar o Alibaba Cloud CLI
No Linux, execute o seguinte comando de instalação com um clique em:
/bin/bash -c "$(curl -fsSL https://aliyuncli.alicdn.com/install.sh)"
Para instruções de instalação em outros sistemas operacionais, consulte Instalar ou atualize o CLI.
Após a instalação, execute o comando abaixo para verificar a versão:
aliyun version
Certifique-se de que a versão seja 3.3.0 ou superior. Caso contrário, reinstale o CLI.
Se preferir não instalar o CLI localmente, use o Cloud Shell. Ele já vem com o Alibaba Cloud CLI pré-instalado e autentica automaticamente a sessão do navegador. Você pode começar diretamente pela Etapa 3.
Etapa 2: Configurar credenciais de identidade
O Alibaba Cloud CLI oferece suporte a vários métodos de autenticação. Sempre que possível, utilize a autenticação OAuth. Se optar por usar um AccessKey, evite codificá-lo diretamente no código-fonte.
Autenticação OAuth
O OAuth realiza a autenticação por meio de login no navegador, eliminando a necessidade de crie ou gerencie chaves manualmente.
Não é possível usar a autenticação OAuth em servidores sem interface gráfica. Nesse caso, mude para a aba de autenticação por AccessKey.
Os administradores de RAM devem concluir antecipadamente as seguintes tarefas: crie um aplicativo OAuth de CLI e atribuir identidades aos usuários que precisam de acesso ao CLI. Para mais detalhes, consulte as Etapas 1 e 2 em Configurar autenticação OAuth para o Alibaba Cloud CLI. Usuários de uma conta Alibaba Cloud (a conta usada durante o registro) não precisam realizar essas tarefas.
-
Execute o comando a seguir para iniciar a configuração do OAuth:
aliyun configure --mode OAuth --profile defaultA opção
--profile defaultsalva essas credenciais sob o nome de perfildefault. O CLI suporta múltiplos perfis nomeados. Use--profile mydevpara alternar entre diferentes credenciais. O CLI solicitará que você selecione um site de login. Pressione Enter para aceitar a configuração padrão.
-
O CLI abre automaticamente o navegador para concluir a autorização. O terminal exibirá uma saída semelhante à seguinte:
Please open the following URL in your browser to authorize: https://signin.aliyun.com/oauth2/v1/auth?response_type=code&client_id=40381819545577*****&redirect_uri=http%3A%2F%2F127.0.0.1%3A12345%2Fcli%2Fcallback&state=CdI6CcOsxQUiCuFl&code_challenge=vDr1QWI5TI9q6UMMs2djJzxCmcAySjrYK6UD4Gu2res&code_challenge_method=S256 If the browser does not open automatically, use the following URL to complete the login process: SignIn url: https://signin.aliyun.com/oauth2/v1/auth?response_type=code&client_id=40381819545577*****&redirect_uri=http%3A%2F%2F127.0.0.1%3A12345%2Fcli%2Fcallback&state=CdI6CcOsxQUiCuFl&code_challenge=vDr1QWI5TI9q6UMMs2djJzxCmcAySjrYK6UD4Gu2res&code_challenge_method=S256 Now you can login to your account with OAuth configuration in the browser.Se o navegador não abrir automaticamente, copie a URL de login exibida no terminal e abra-a manualmente no navegador para efetuar login.
-
Após a autorização bem-sucedida, retorne ao terminal e insira o ID da região padrão e o idioma do terminal. Exemplo de saída do terminal:
Default Region Id []: cn-hangzhou Default Output Format [json]: json (Only support json) Default Language [zh|en] en: zh Saving profile[oauth-1] ...Done. Configure Done!!! ..............888888888888888888888 ........=8888888888888888888D=.............. ...........88888888888888888888888 ..........D8888888888888888888888I........... .........,8888888888888ZI: ...........................=Z88D8888888888D.......... .........+88888888 ..........................................88888888D.......... .........+88888888 .......Welcome to use Alibaba Cloud.......O8888888D.......... .........+88888888 ............. ************* ..............O8888888D.......... .........+88888888 .... Command Line Interface(Reloaded) ....O8888888D.......... .........+88888888...........................................88888888D.......... ..........D888888888888DO+. ..........................?ND888888888888D.......... ...........O8888888888888888888888...........D8888888888888888888888=........... ............ .:D8888888888888888888.........78888888888888888888O .............. -
Verifique se suas credenciais são válidas:
aliyun sts get-caller-identitySe a resposta incluir
AccountIdeArn, suas credenciais serão válidas.NotaCaso receba um erro
Forbidden.NoPermission, o usuário atual não possui permissões suficientes. Entre em contato com o administrador de RAM da sua organização para conceder as permissões necessárias ao seu usuário RAM. Se estiver usando uma conta Alibaba Cloud, verifique se o status da conta está normal.
Autenticação por AccessKey
Um AccessKey é uma credencial de longo prazo. Não o codifique diretamente no código-fonte ou em arquivos de configuração; passe-o por variáveis de ambiente. Utilize AccessKeys apenas em ambientes pessoais de desenvolvimento e teste. Para ambientes de produção, use OAuth. Para mais informações, consulte Práticas seguras de uso de credenciais.
Se já possuir um AccessKey, utilize seu AccessKey ID e AccessKey secret existentes e pule esta etapa. Caso contrário, acesse o console RAM para crie um usuário RAM e gerar um AccessKey. Para detalhes, consulte Criar um usuário RAM.
-
Execute o comando a seguir para iniciar a configuração do AccessKey:
aliyun configure --mode AK --profile defaultA opção
--profile defaultsalva essas credenciais sob o nome de perfildefault. O CLI suporta múltiplos perfis nomeados. Use--profile mydevpara alternar entre diferentes credenciais. Quando solicitado, insira seu AccessKey ID, AccessKey secret, ID da região padrão (como
cn-hangzhou) e o idioma do terminal.-
Verifique se suas credenciais são válidas:
aliyun sts get-caller-identitySe a resposta incluir
AccountIdeArn, suas credenciais serão válidas. Se receber um erro, verifique se o AccessKey ID e o secret estão corretos.NotaCaso receba um erro
Forbidden.NoPermission, o usuário RAM atual não possui permissões suficientes. Entre em contato com o administrador de RAM da sua organização para conceder as permissões necessárias. Se estiver usando uma conta Alibaba Cloud, verifique se o status da conta está normal.
O Alibaba Cloud CLI também suporta outros tipos de credenciais, como tokens do Security Token Service para cenários de autorização temporária. Para detalhes, consulte Configurar e gerencie credenciais de identidade.
Etapa 3: Instalar um plugin de produto de nuvem
Os comandos do Alibaba Cloud CLI para cada produto de nuvem são empacotados como plugins e instalados sob demanda.
Usando o ECS como exemplo, instale o plugin do ECS:
aliyun plugin install --names ecs
Se o terminal exibir Plugin aliyun-cli-ecs x.x.x installed successfully!, a instalação foi bem-sucedida.
Para mais informações sobre instalação e gerenciamento de plugins, consulte Instalar rapidamente plugins de CLI de produtos de nuvem.
Etapa 4: Executar um comando
Execute o comando a seguir para listar as regiões disponíveis:
aliyun ecs describe-regions --accept-language zh-CN
A opção --accept-language zh-CN especifica que o idioma da resposta será chinês.
Exemplo de saída do comando (trecho):
{
"Regions": {
"Region": [
{
"RegionId": "cn-hangzhou",
"RegionEndpoint": "ecs.cn-hangzhou.aliyuncs.com",
"LocalName": "China (Hangzhou)"
},
{
"RegionId": "cn-shanghai",
"RegionEndpoint": "ecs.cn-shanghai.aliyuncs.com",
"LocalName": "China (Shanghai)"
},
{
"RegionId": "cn-beijing",
"RegionEndpoint": "ecs.cn-beijing.aliyuncs.com",
"LocalName": "China (Beijing)"
}
]
},
"RequestId": "5BEAEC76-E9B4-47B2-8D24-A3C31D5D2EEF"
}
O RequestId é um identificador exclusivo para cada chamada de API e serve para solução de problemas.
Perguntas frequentes
Por que recebo um erro de "Chamada não autorizada" durante a configuração do OAuth?
Sua conta atual não tem as permissões de gerenciamento de RAM necessárias para crie um aplicativo OAuth. Mude para uma conta de administrador de RAM ou peça ao administrador para crie o aplicativo OAuth e atribuir identidades. Para requisitos específicos de permissão, consulte Credenciais OAuth.
Por que preciso instalar um plugin para usar comandos de produtos de nuvem?
O Alibaba Cloud CLI utiliza uma arquitetura baseada em plugins. O núcleo do CLI permanece leve, enquanto os comandos para cada produto de nuvem são empacotados separadamente como plugins. Isso permite instalar e atualize plugins sob demanda sem precisar atualize todo o CLI. Execute aliyun plugin list-remote para visualize todos os plugins disponíveis.
Como saber se um produto de nuvem oferece suporte ao CLI?
Execute aliyun plugin list-remote para visualize todos os plugins disponíveis ou visite a Página inicial do CLI do Portal OpenAPI e pesquise por produto.
Posso usar autenticação OAuth em um servidor sem interface gráfica?
Não. A autenticação OAuth exige login e autorização baseados em navegador.