Usando as credenciais de serviço para autenticar aplicativos clientes

Os aplicativos clientes podem usar a autenticação básica para acessar o ambiente de nuvem. Para esse tipo de autenticação, os aplicativos clientes usam credenciais de serviço para autenticar seu acesso.

Antes de iniciar:
  • Seu aplicativo cliente requer credenciais de serviço (ID funcional e senha) para autenticar com as APIs de operações em nuvem e APIs fornecidas pelas capacidades, por exemplo, as APIs Business Automation Workflow . O administrador de conta é responsável por fornecer as credenciais de serviço necessárias para o aplicativo cliente.
  • A política de renovação de senha da sua empresa determina com que frequência o administrador da conta muda as senhas da conta de serviço. Para assegurar que os aplicativos ainda possam acessar o ambiente de nuvem após a introdução das novas credenciais de serviço, considere aplicar um esquema de rolagem de credenciais para assegurar que as credenciais antigas e novas permaneçam válidas por um tempo. Em tal esquema, o tempo de execução do cliente influencia a duração do período de sobreposição. Por exemplo, se o cliente ler regularmente as credenciais de serviço do ambiente de nuvem, o tempo entre cada leitura deverá ser mais curto do que o período de sobreposição. Por outro lado, se o cliente lê as credenciais somente na inicialização do servidor, o período de sobreposição deve ser maior do que o tempo de execução do cliente. Trabalhe com o administrador de conta para determinar um valor para o período de sobreposição que seja adequado para o aplicativo cliente.
Para obter mais informações sobre credenciais de serviço, consulte Criação e gerenciamento de contas de serviço.
Considere as boas práticas a seguir para autenticar o aplicativo cliente:
Leia as credenciais de serviço.
Não codifique permanentemente as credenciais de serviço no aplicativo. Em vez disso, leia-os, por exemplo, em um arquivo de configuração ou em uma área segura de credenciais e use-os para construir o cabeçalho de autorização para autenticação básica das chamadas da API.
Importante: Quando os aplicativos clientes interagem com o IBM® Cloud Pak for Business Automation as a Service, eles podem receber um conjunto de cookies. Para evitar a degradação de tempo de resposta, inclua cookies válidos em chamadas subsequentes, além do cabeçalho de Autorização para autenticação básica
Detectar acesso rejeitado à assinatura de nuvem devido a credenciais de login ausentes ou inválidas.
O acesso do aplicativo cliente à assinatura de nuvem é rejeitado quando o ID funcional, a senha ou ambos são inválidos. Além disso, se um aplicativo tentar repetidamente efetuar login na assinatura com uma senha incorreta, o sistema poderá bloquear a conta.
Para detectar o acesso rejeitado, adicione uma verificação em seu aplicativo para o código de status HTTP 302, que IBM Cloud Pak for Business Automation as a Service ireciona para a página de login e envia uma mensagem de erro. Se você achar que a conta está bloqueada, espere o tempo de bloqueio expirar, em seguida, tente novamente o acesso do aplicativo cliente à assinatura de nuvem. Se achar que o acesso é rejeitado devido a um ID funcional e/ou senha incorreta, verifique com o administrador de conta se as credenciais de serviço que você está usando são válidas.
Importante: se o seu aplicativo usar uma biblioteca de aplicativos cliente HTTP, certifique-se de que a biblioteca não esteja configurada para seguir automaticamente os redirecionamentos de página.
Detecte uma solicitação de API rejeitada devido à ausência de autorização para a chamada.
Seu aplicativo cliente pode conter chamadas de API de operações de nuvem e chamadas de IBM Cloud Pak for Business Automation as a Service. Cada tipo de API requer sua própria autorização:
Chamadas de API de operações de
A conta do serviço usada pelo cliente deve ser autorizada para os ambientes de nuvem em que o aplicativo é executado. A conta de serviço também pode precisar da função de Administrador ou de Operador de conta. Verifique com o administrador da conta quais as permissões da conta de serviço.
Chamadas de API do IBM Cloud Pak for Business Automation as a Service
A conta do serviço pode precisar de permissões de grupo específicas do recurso Se sua solicitação de API exigir privilégios IBM Cloud Pak for Business Automation as a Service, verifique com o administrador da conta se a conta de serviço tem a função necessária. E.g. Para obter uma autorização de fluxo de trabalho de baixa granularidade, como a autorização para as designações de tarefas, verifique com o administrador de fluxo de trabalho qual autorização é necessária e use as chamadas API correspondentes no aplicativo. Para obter mais informações sobre essas chamadas, consulte Controle de autorização para chamadas de API REST em tempo de execução.
Para ambos os tipos de solicitação, inclua no código do cliente uma verificação para o código de status HTTP 401 Unauthorized.
Compartilhar credenciais de serviço entre as assinaturas.
Se você tiver mais de uma assinatura IBM Cloud Pak for Business Automation as a Service, os aplicativos clientes poderão compartilhar credenciais de serviço entre as assinaturas. Para compartilhar credenciais de serviço, use as credenciais de serviço e as operações de token de importação fornecidas pela API Credentials. Todas as chamadas de API requerem que o responsável pela chamada tenha a função de Administrador de conta. Para obter mais informações, consulte as IBM Cloud Pak for Business Automation as a Service aPIs de serviços de instância na referência da API de operações na nuvem.
  1. Em uma de suas assinaturas, crie um conjunto de credenciais de serviço usando a página Gerenciamento de acesso no portal da nuvem ou na API do Credentials.
  2. Na mesma assinatura, use a API para criar um token de importação de credencial de serviço para autorizar a importação das credenciais de serviço em outras assinaturas.
  3. Em suas outras assinaturas, torne as credenciais de serviço disponíveis para os aplicativos clientes usando a API para importar as credenciais em cada assinatura.
  4. Em suas outras assinaturas, designe as funções e permissões que as credenciais de serviço precisam para os cenários de aplicativos clientes usando a página Gerenciamento de acesso.
Se um conjunto de credenciais de serviço não precisar mais de acesso a uma assinatura, será possível excluí-las da assinatura usando a página Gerenciamento de acesso ou a API do Credentials.