Autenticação do servidor de autorização do Jazz usando um provedor de autenticação OIDC

Se você optar por usar um provedor de autenticação OpenID Connect (OIDC) para a autenticação do Jazz® Authorization Server (JAS), conclua o procedimento a seguir. O logon único da arquitetura de segurança do Jazz delega a autenticação a um JAS separado, que gerencia a função de um provedor de OIDC. Você pode configurar o provedor do Liberty OIDC para delegar a autenticação do usuário ao seu provedor corporativo padrão do OIDC usando o recurso de login social do Liberty.

Antes de começar

  1. Registre o JAS como um cliente no seu provedor de autenticação OIDC. Para obter mais informações, consulte Configurar o login social como cliente do OpenID Connect. Forneça o URI de redirecionamento no seguinte formato.
    https://<jas-url>/ibm/api/social-login/redirect/<oidc-login-id>
    Em que:
    jas-url
    O nome do host que é configurado durante a criação da instância Engineering Lifecycle Management.
    oidc-login-id
    A ID a ser usada no campo " oidcLogin do arquivo de mapa de configuração " OIDC_CONFIG.
  2. Depois de criar o aplicativo no provedor de autenticação OIDC, colete as informações dos campos " clientId e " clientSecret. As informações são usadas para criar o arquivo " OIDC_CONFIG no diretório " configmaps.

Para criar o Config Map elm-auth-type-config usando a configuração do OIDC, use um dos seguintes métodos

Método de console web Red Hat OpenShift Container Platform

Procedimento

  • No console da Web, clique em Projects (Projetos ) e abra o projeto no qual o segredo da instância Engineering Lifecycle Management deve ser criado.
  • Clique em Cargas de trabalho > Segredos.
  • Na página Secrets (Segredos ), selecione Key/Value Secret (Segredo de chave/valor ) na lista Create (Criar ).
    A página Criar segredo de chave/valor é aberta.
  • Digite " elm-tls-certs-secret no campo Secret Name (Nome secreto ).
    Importante: você deve inserir o nome secreto como " elm-tls-certs-secret para criar a instância Engineering Lifecycle Management.
  • Digite " oidc-ssl-certificate no campo Key (chave ).
  • Clique em Browse (Procurar ) e selecione o certificado SSL do seu servidor OIDC.
  • Clique em Create para salvar o segredo " elm-tls-certs-secret.
    O segredo " elm-tls-certs-secret é criado e listado na página Secrets.
    Importante: Você deve criar o segredo elm-tls-certs-secret na seção Red Hat OpenShift antes de criar a instância Engineering Lifecycle Management instância. Se não estiver configurado ou for criado incorretamente no cluster, a criação da instância Engineering Lifecycle Management poderá falhar.

Red Hat OpenShift Método CLI

Procedimento

  • Faça login na linha de comando Red Hat OpenShift.
    1. Execute o seguinte comando para fazer login no cluster.
      oc create --filename=<folder-path>/<oidc-file-name>
    2. Execute o seguinte comando para definir a área do projeto.
      oc create --filename=/usr/example/elm-saml-idp-metadata.yaml
    Para obter mais informações sobre o OIDC, consulte YAML de exemplo totalmente preenchido do OIDC elm-tls-certs-secret
  • Crie o arquivo ' OIDC_CONFIG no diretório ' configmaps. O bloco de código a seguir fornece um exemplo de configuração do provedor de autenticação OIDC. Você deve substituir os valores dos atributos de acordo com a configuração do provedor de autenticação do OIDC. Para obter mais informações sobre os atributos configuráveis, consulte Login social do OIDC ( oidcLogin ).
    <oidcLogin id="OIDCOCP" clientId="${com.ibm.team.oidc.clientid}" displayName="Liberty OIDC"
    	  clientSecret="${com.ibm.team.oidc.clientsecret}"
    	  <!-- clientId and clientSecret field inputs are mapped from ELM instance secret elm-auth-secret. -->
    	  inboundPropagation="required"
    	  authorizationEndpoint="https://example.com:9898/oidc/endpoint/OP/authorize"
    	  tokenEndpoint="https://example.com:9898/oidc/endpoint/OP/token"
    	  jwksUri="https://example.com:9898/oidc/endpoint/OP/jwk"
    	  issuer="https://example.com:9898/oidc/endpoint/OP"
    	  scope="openid profile email general"
    	  userNameAttribute="sub"
    	  signatureAlgorithm="RS256"
    	  authFilterRef="OCPAuthFilter"
    	  mapToUserRegistry="true" >
    </oidcLogin>
    
    <authFilter id="OCPAuthFilter">
    	<requestUrl id="OCPRequestUrl" urlPattern="/authorize|/personalTokenManagement|/usersTokenManagement" matchType="contains" />
    	<userAgent id="OCPUserAgent" agent="Mozilla|Opera|app-password-enabled" matchType="contains"/>
    </authFilter>
    Importante: Os campos " clientId e " clientSecret não são preenchidos no arquivo " OIDC_CONFIG. Eles são referenciados a partir da instância secreta " elm-auth-secret Engineering Lifecycle Management. Para obter mais informações, consulte Criação do segredo da instância Engineering Lifecycle Management.
  • Execute o seguinte comando para criar o Config Map ' elm-auth-type-config no cluster. Para obter mais informações, consulte Criação de um ConfigMap a partir de um arquivo.
    oc create configmap elm-auth-type-config --from-file=configmaps/
    O Config Map ' elm-auth-type-config é criado. As informações fornecidas no Config Map são usadas para a configuração do JAS. A disponibilidade do Config Map ' elm-auth-type-config e as entradas fornecidas são validadas durante a criação da instância Engineering Lifecycle Management. Se a validação falhar, a instância Engineering Lifecycle Management não poderá ser criada e uma mensagem de erro será exibida.

Criação do segredo " elm-tls-certs-secret para certificados SSL

  • Faça o download do certificado SSL de seu provedor de autenticação OIDC..
    Observação: o certificado SSL do servidor OIDC deve estar no formato Base-64 X.509.

Kubernetes CLI

Procedimento

Crie um segredo para o provedor de autenticação OIDC usando o seguinte comando
kubectl create --filename=<folder-path>/<secret-file-name>
kubectl create --filename=/usr/example/elm-tls-certs-secret.yaml
Para obter mais informações sobre o OIDC, consulte YAML de exemplo totalmente preenchido do OIDC elm-tls-certs-secret