Como configurar o portal para usar o SAML na comunicação com o Edge

Edge para nuvem privada v4.18.05

O portal de serviços para desenvolvedores da Apigee (ou simplesmente o portal) atua como um cliente do Apigee Edge. Isso significa que o portal não funciona como um sistema independente. Em vez disso, muitas das informações usadas pelo portal são armazenadas no Edge. Quando necessário, o portal faz uma solicitação para recuperar informações do Edge ou para enviar informações para o Edge.

O portal é sempre associado a uma única organização do Edge. Ao configurar o portal, você pode especificar as credenciais de autenticação básicas (nome de usuário e senha) de uma conta na organização que o portal usa para se comunicar com o Edge.

Se você ativar o SAML para a autenticação do Edge, poderá configurar o portal para usar a autenticação SAML ao fazer solicitações para o Edge. Configurar o portal para usar o SAML cria automaticamente uma nova conta de usuário da máquina na organização do Edge que o portal usa para fazer solicitações ao Edge. Para saber mais sobre usuários de máquinas, consulte Como usar o SAML com tarefas automatizadas.

O suporte a SAML para o portal exige que você já tenha instalado e configurado o módulo de SSO do Edge no nó do servidor de gerenciamento do Edge. O processo geral de ativação do SAML para o portal é o seguinte:

  1. Configure o SAML no Edge, conforme descrito em Instalação e configuração do SAML para Edge. Observação: a autenticação básica ainda precisa estar ativada no Edge para instalar o portal. Não desative a autenticação básica no Edge até configurar o portal para usar o SAML.
  2. Instale o portal e verifique se a instalação está funcionando corretamente. Consulte Como instalar o portal do Edge para nuvem privada.
  3. Configure o SAML no portal.
  4. Agora é possível desativar a autenticação básica no Edge.

Criar um usuário de máquina para o portal

Quando o SAML está ativado, o Edge oferece suporte à geração automática de tokens OAuth2 usando usuários de máquina. Um usuário de máquina pode receber tokens OAuth2 sem precisar especificar uma senha. Isso significa que você pode automatizar completamente o processo de recebimento e atualização de tokens OAuth2.

O processo de configuração SAML do portal cria automaticamente um usuário de máquina na organização associada ao portal. O portal usa essa conta de usuário da máquina para se conectar ao Edge. Para saber mais sobre usuários de máquinas, consulte Como usar SAML com tarefas automatizadas.

Sobre a autenticação para contas de desenvolvedor do portal

Ao configurar o portal para usar o SAML, você permite que ele use o SAML para autenticar com o Edge, para que possa fazer solicitações ao Edge. No entanto, o portal também oferece suporte a um tipo de usuário chamado desenvolvedores.

Os desenvolvedores compõem a comunidade de usuários que criam apps usando suas APIs. Os desenvolvedores de apps usam o portal para saber mais sobre suas APIs, registrar apps que as usam, interagir com a comunidade de desenvolvedores e conferir informações estatísticas sobre o uso do app em um painel.

Quando um desenvolvedor faz login no portal, ele é responsável por autenticar o desenvolvedor e aplicar as permissões baseadas em função. O portal continua usando a autenticação básica com os desenvolvedores, mesmo depois de ativar o SAML entre o portal e o Edge. Para mais informações, consulte Como fazer a comunicação entre o portal e o Edge.

Também é possível configurar o portal para usar SAML na autenticação de desenvolvedores. Para um exemplo de como ativar o SAML usando módulos Drupal de terceiros, consulte Integração de SSO via SAML com o portal para desenvolvedores.

Configurar o SAML no portal para se comunicar com o Edge

Para configurar o SAML para o portal, você precisa criar um arquivo de configuração:

# IP address of Edge Management Server and apigee-sso node.
IP1=22.222.22.222

# URL of Edge management API.
MGMT_URL=http://$IP1:8080/v1

# Org associated with the portal.
EDGE_ORG=myorg

# Information about apigee-sso.
# Externally accessible IP or DNS of apigee-sso.
SSO_PUBLIC_URL_HOSTNAME=$IP1
SSO_PUBLIC_URL_PORT=9099
# Default is http. Set to https if you enabled TLS on apigee-sso.
SSO_PUBLIC_URL_SCHEME=http

# SSO admin credentials as set when you installed apigee-sso.
SSO_ADMIN_NAME=ssoadmin
SSO_ADMIN_SECRET=Secret123

# Default is "n" to disable SAML support.
DEVPORTAL_SSO_ENABLED=y

# The name of the OAuth client used to connect to apigee-sso. 
# The default client name is portalcli.
PORTALCLI_SSO_CLIENT_NAME=portalcli
# Oauth client password using uppercase, lowercase, number, and special chars. 
PORTALCLI_SSO_CLIENT_SECRET=Abcdefg@1

# Email address and user info for the machine user created in 
# the Edge org specified above by EDGE_ORG. 
# This account is used by the portal to make requests to Edge.
# Add this email as an org admin before configuring the portal to use SAML. 
DEVPORTAL_ADMIN_EMAIL=DevPortal_SAML@google.com
DEVPORTAL_ADMIN_FIRSTNAME=DevPortal
DEVPORTAL_ADMIN_LASTNAME=SAMLAdmin
DEVPORTAL_ADMIN_PWD=Abcdefg@1

# If set, the existing portal OAuth client is deleted and new one is created.
# The default value is "n".
# Set to "y" when you configure SAML and change the value of 
# any of the PORTALCLI_* properties.
PORTALCLI_SSO_CLIENT_OVERWRITE=y

Para ativar o suporte ao SAML no portal:

  1. Na interface do Edge, adicione o usuário da máquina especificado por DEVPORTAL_ADMIN_EMAIL à organização associada ao portal como Administrador da organização.
  2. Execute o comando abaixo para configurar o SAML no portal:
    /opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal configure-sso -f samlConfigFile

    em que samlConfigFile é o arquivo de configuração SAML.

  3. Faça login no portal como administrador.
  4. No menu principal do Drupal, selecione Configuração > Portal do desenvolvedor. A tela de configuração do portal vai aparecer, incluindo as configurações do SAML:

    A caixa Esta organização está ativada para SAML está marcada, o endpoint do módulo de SSO do Edge está preenchido, os campos Chave da API e Secreto do consumidor do cliente Oauth do portal estão preenchidos e a mensagem Conexão bem-sucedida aparece no botão Testar conexão.

  5. Você pode pressionar o botão Testar conexão para testar a conexão novamente a qualquer momento.

Para mudar esses valores mais tarde, atualize o arquivo de configuração e execute o comando novamente.

Desativar o SAML no portal

Se você desativar o SAML para comunicações entre o portal e o Edge, o portal não poderá mais fazer solicitações para o Edge. Os desenvolvedores podem fazer login no portal, mas não poderão acessar o produto nem criar apps.

Para desativar o SAML no portal:

  1. Edite o arquivo de configuração usado para configurar o SAM para definir:
    DEVPORTAL_SSO_ENABLED=n
  2. Configure o portal:
    /opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal configure-sso -f configFile