Todos os produtos
Search
Central de documentação

Resource Access Management:Gerenciar credenciais de serviço (API keys)

Última atualização: Jul 03, 2026

Uma API Key, também conhecida como Service Credential no OpenAPI (ServiceCredential), é um tipo de credencial emitida pelo Resource Access Management (RAM) para acessar um serviço de nuvem específico. Ela serve exclusivamente para fazer chamadas de API a esse serviço. Este tópico descreve as API Keys e como gerenciar seu ciclo de vida.

Ao fazer chamadas programáticas ao OpenAPI de um serviço de nuvem específico, use uma API Key para autenticação. Cada API Key se vincula a um único serviço de nuvem no momento da criação e só pode chamar as APIs desse serviço. Esse design reduz o escopo de segurança, tornando-a uma alternativa mais segura que um AccessKey.

Principais recursos

  • Isolamento no nível de serviço: Cada API Key se vincula a um único serviço de nuvem (especificado pelo seu ServiceName) durante a criação. Ela só pode chamar as APIs desse serviço e não permite chamadas entre serviços. Não é possível expandir seu escopo com políticas de permissão.

  • Escopo de permissão minimizado: As permissões efetivas de uma API Key correspondem à interseção entre as permissões do usuário RAM associado e o escopo do serviço de nuvem vinculado. Mesmo que o usuário RAM tenha permissões para vários serviços, a API Key permanece restrita ao serviço designado.

  • Restrita a usuários RAM: Apenas usuários RAM podem criar API Keys. Contas Alibaba Cloud (contas raiz) não podem criá-las. Essa prática ajuda a reduzir o impacto potencial de um vazamento de credenciais.

  • Convenções de nomenclatura: ServiceCredential é o termo usado no OpenAPI e nos SDKs, enquanto o console utiliza o termo mais amigável API Key. Ambos os termos referem-se ao mesmo recurso.

API Keys vs. AccessKeys

Tanto as API Keys quanto os AccessKeys são credenciais de longo prazo para usuários RAM. No entanto, diferem quanto ao escopo de serviço, métodos de emissão e casos de uso.

Recurso

API Key

AccessKey

Escopo de serviço

Vincula-se a um único serviço de nuvem na criação e só pode chamar o OpenAPI desse serviço.

Sem restrição por serviço. Pode chamar qualquer serviço de nuvem que o usuário RAM esteja autorizado a acessar.

Modelo de permissão

As permissões efetivas resultam da interseção entre as permissões do usuário RAM e o escopo do serviço de nuvem vinculado.

Herda totalmente todas as permissões concedidas ao usuário RAM.

Identidades compatíveis

Apenas usuários RAM podem criá-las. Contas Alibaba Cloud (contas raiz) não são compatíveis.

Tanto contas Alibaba Cloud quanto usuários RAM podem criá-las.

Cota

Duas por usuário RAM por serviço de nuvem. Essa cota é fixa.

Duas por identidade.

Período de expiração

A expiração pode ser definida de 1 a 36.600 dias ou como nunca expira. Chaves expiradas são desativadas permanentemente e não podem ser recuperadas.

Validade de longo prazo sem mecanismo de expiração integrado.

Casos de uso típicos

Chamada de modelos de IA, integração com plataformas de terceiros ou ferramentas de desenvolvedor e cenários que exigem isolamento de credenciais no nível de serviço.

Chamadas gerais de OpenAPI/SDK, orquestração entre serviços e automação de CI/CD.

Estados do ciclo de vida

Uma API Key pode estar em um dos três estados seguintes durante seu ciclo de vida:

  • Ativo: A credencial pode ser usada para chamar o OpenAPI do serviço de nuvem vinculado. Este é o estado padrão após a criação.

  • Inativo: A credencial está temporariamente desabilitada. É possível reativá-la para o estado Active. Uma chave precisa estar inativa antes de ser excluída.

  • Expirado: O sistema altera automaticamente o status da chave para Expirado quando o tempo de expiração é atingido. A credencial torna-se permanentemente inválida e não pode ser recuperada. Crie uma nova chave.

Cotas e expiração

  • Cota: Cada usuário RAM pode criar no máximo duas API Keys por serviço de nuvem, incluindo chaves Active e Inactive. Essa cota é fixa. Chaves expiradas contam para essa cota; chaves excluídas não contam.

  • Unidade do período de expiração: Dias.

  • Faixa de valores: O console oferece predefinições de 1, 7, 30 e 90 dias, ou você pode definir uma chave para nunca expirar. Valores personalizados também são compatíveis.

  • Padrão do OpenAPI: Se você omitir o parâmetro CredentialAgeDays ao chamar a operação CreateServiceCredential, a chave será definida para nunca expirar.

  • A expiração é definitiva: Quando uma chave expira, seu status muda para Expired e ela se torna permanentemente inválida. Não é possível reativá-la. Exclua a chave expirada e crie uma nova.

Importante

Como prática recomendada de segurança, defina um período de expiração razoável para as API Keys com base no ciclo de vida da sua aplicação, em vez de criar chaves que nunca expiram. Rotacione as credenciais na sua aplicação antes que elas expirem para evitar interrupções nos negócios.

Serviços de nuvem compatíveis

No console RAM, acesse a página User Details > aba Credential Management > seção API Keys e clique em Create API Key. A lista suspensa Cloud Service exibe os serviços disponíveis para sua conta. Consulte a documentação específica do serviço para obter uma lista das APIs compatíveis.

Autogerenciamento para usuários RAM

Uma conta Alibaba Cloud ou um administrador RAM com permissões suficientes pode usar a configuração AllowUserToManageServiceCredential nas configurações de segurança do RAM para controlar se os usuários RAM podem gerenciar suas próprias API Keys. Essa configuração possui dois estados:

  • Permitir autogerenciamento: Um usuário RAM pode fazer login no console ou chamar o OpenAPI para criar, atualizar ou excluir suas próprias API Keys, desde que essas ações não sejam explicitamente negadas por um administrador em uma política de permissão (ou seja, não exista nenhuma política Deny explícita).

  • Autogerenciamento não permitido: Usuários RAM não podem gerenciar suas próprias API Keys. As chaves devem ser criadas e mantidas por um administrador que tenha permissões como ram:CreateServiceCredential.

Métodos de autorização

Escolha um dos três métodos a seguir para conceder permissões com base nos seus requisitos de segurança e governança:

  • Conceder uma política de sistema aos administradores RAM (Gerenciamento Centralizado): Anexe a política de sistema AliyunRAMFullAccess aos seus administradores, permitindo que eles criem e mantenham API Keys para todos os usuários. Essa política fornece acesso administrativo total ao RAM e é adequada para ambientes onde uma equipe dedicada gerencia todas as credenciais de usuários RAM.

  • Habilitar a configuração global de autogerenciamento (Não Recomendado para Produção): Após habilitar AllowUserToManageServiceCredential nas configurações de segurança do RAM, todos os usuários RAM poderão gerenciar suas próprias API Keys, a menos que sejam explicitamente restringidos por uma política Deny. Essa opção oferece flexibilidade para equipes, mas concede permissões amplas. Recomendamos usá-la apenas em ambientes de teste ou sandbox controlados.

  • Anexar uma política personalizada (Recomendado): Mantenha a configuração global de autogerenciamento desabilitada e anexe uma política personalizada apenas a usuários RAM específicos que precisam gerenciar suas próprias API Keys. Restrinja o Resource à própria identidade do usuário. Se necessário, adicione uma condição ram:ServiceCredentialServiceName para restringir ainda mais as permissões a um serviço de nuvem específico. Esse método permite conceder permissões precisas a usuários individuais sem habilitar o autogerenciamento para toda a conta.

Aviso

Quando a configuração global AllowUserToManageServiceCredential está habilitada, todos os usuários RAM podem gerenciar suas próprias API Keys (incluindo operações de criação, ativação, desativação e exclusão), a menos que um administrador anexe uma política de permissão que negue essas ações. Para ambientes de produção, recomendamos fortemente manter essa configuração desabilitada e usar políticas personalizadas para conceder permissões caso a caso.

Exemplos de políticas personalizadas

As políticas de exemplo a seguir restringem o Resource à própria identidade do usuário RAM. Uma vez anexada a um usuário RAM, a política permite que ele execute as ações especificadas em sua própria conta. Antes de usar uma política, substitua ACCOUNT_ID pelo ID da sua conta (que você pode encontrar no Alibaba Cloud Account Center) e substitua USER_NAME pelo nome de login do usuário RAM de destino (sem o sufixo @).

Criar API keys

Esta política permite que um usuário crie e liste suas próprias API Keys, mas não permite modificar ou excluir chaves. É adequada para conceder permissões mínimas de acordo com o princípio do menor privilégio.

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ram:CreateServiceCredential",
        "ram:ListServiceCredentials"
      ],
      "Resource": "acs:ram:*:ACCOUNT_ID:user/USER_NAME"
    }
  ]
}

Gerenciamento completo do ciclo de vida

Esta política permite que um usuário execute todas as operações de gerenciamento para suas próprias API Keys, incluindo criação, listagem, renomeação, ativação, desativação e exclusão.

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ram:CreateServiceCredential",
        "ram:ListServiceCredentials",
        "ram:GetServiceCredential",
        "ram:UpdateServiceCredential",
        "ram:DeleteServiceCredential"
      ],
      "Resource": "acs:ram:*:ACCOUNT_ID:user/USER_NAME"
    }
  ]
}

Gerenciamento específico por serviço

Esta política complementa as permissões de gerenciamento completo adicionando uma condição ram:ServiceCredentialServiceName. Ela permite que o usuário gerencie API Keys apenas para um serviço de nuvem específico (neste exemplo, ak.aliyuncs.com). Isso é útil para cenários de autorização granular onde o gerenciamento de credenciais é delegado com base no serviço de nuvem.

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ram:CreateServiceCredential",
        "ram:ListServiceCredentials",
        "ram:GetServiceCredential",
        "ram:UpdateServiceCredential",
        "ram:DeleteServiceCredential"
      ],
      "Resource": "acs:ram:*:ACCOUNT_ID:user/USER_NAME",
      "Condition": {
        "StringEquals": {
          "ram:ServiceCredentialServiceName": "ak.aliyuncs.com"
        }
      }
    }
  ]
}

Estrutura de dados da API Key

Cada API Key consiste nos seguintes campos principais. Os nomes dos campos retornados pelo OpenAPI têm o prefixo ServiceCredential, enquanto os nomes dos campos no console são mais amigáveis.

Campo OpenAPI

Campo Console

Descrição

ServiceCredentialId

ID

Um ID exclusivo gerado pelo sistema, com prefixo SC. Use este ID para referenciar a chave em operações de gerenciamento como ativação, desativação e exclusão.

ServiceCredentialName

Name

Um nome amigável para identificar a finalidade da chave. O console preenche isso automaticamente com um nome como {CloudServiceName}_apikey_{RandomCharacters}. É possível alterar esse nome após a criação.

ServiceName

Cloud Service

O identificador do serviço de nuvem vinculado, como ak.aliyuncs.com. Isso é definido na criação e não pode ser alterado.

ServiceCredentialSecret

API Key

O segredo da credencial. Ele é exibido apenas uma vez na criação e não pode ser recuperado posteriormente pela API ou pelo console.

CreateTime

Creation Time

O horário de criação em UTC, formatado em ISO-8601. O console exibe esse valor no seu fuso horário local.

ExpirationTime

Expiration Time

O momento em que a credencial expira e seu status muda para Expired. O valor é nulo para chaves que nunca expiram, o que aparece como "Never expires" no console.

Status

Status

O status da credencial. Os valores válidos são Active, Inactive e Expired.

UserPrincipalName

User

O nome de login do usuário RAM (User Principal Name), como us**@account.onaliyun.com.

Recomendações de segurança

  • Defina um período de expiração para as API Keys. Evite configurar chaves de teste de curto prazo para nunca expirar. Para outros casos de uso, estabeleça um período de expiração apropriado, como 30 ou 90 dias, com base no ciclo de uso do serviço e rotacione a chave antes que ela expire.

  • Copie imediatamente o segredo da API Key ou baixe o arquivo CSV após criar uma chave. Depois de fechar a janela pop-up, não é possível recuperar o segredo novamente. Se perder o segredo, exclua a chave e crie uma nova.

  • Trate as API Keys como credenciais altamente sensíveis. Não as confirme em texto simples em repositórios de código, arquivos de configuração ou logs. Recomendamos usar um serviço de gerenciamento de segredos ou criptografá-las com o KMS antes do armazenamento.