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.
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.
- 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.
- 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.
- 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.
- 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.
- 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.