Depois de instalar o componente apigee-mtls
em cada nó no cluster, faça o seguinte:
precisa configurá-lo e inicializá-lo. Para isso, gere um par certificado/chave e atualize o
de configuração do Terraform na sua máquina de administração. Em seguida, você implanta
os mesmos arquivos gerados para todos os nós no cluster e inicializa o servidor
Componente apigee-mtls
.
Configurar apigee-mtls (após a instalação inicial)
Esta seção descreve como configurar o mTLS da Apigee para um único data center imediatamente após durante a instalação inicial. Para mais informações sobre como atualizar uma instalação existente do Apigee mTLS, consulte Alterar uma configuração atual apigee-mtls. Para informações sobre a configuração de vários data centers, consulte Configurar vários data centers para mTLS da Apigee.
Confira a seguir o processo geral de configuração
apigee-mtls
:
- Atualize o arquivo de configuração:no
máquina de administração, atualize o arquivo de configuração para incluir o
apigee-mtls
configurações. - Instalar o Consul e gerar credenciais: instalar
Consul e use-o para gerar as credenciais TLS (apenas uma vez).
Além disso, edite o arquivo de configuração mTLS da Apigee para:
- Adicionar as informações de credenciais
- Definir a topologia do cluster
É possível usar suas credenciais ou gere-as com o Consul.
- Distribua o arquivo de configuração e as credenciais: Distribuir o mesmo par de certificado/chave gerado e o arquivo de configuração atualizado para todos os nós no cluster.
- Initialize apigee-mtls:inicialize o
Componente
apigee-mtls
em cada nó.
Cada uma dessas etapas é descrita nas seções a seguir.
Etapa 1: atualizar o arquivo de configuração
Esta seção descreve como modificar seu arquivo de configuração para incluir a configuração mTLS propriedades. Para mais informações gerais sobre o arquivo de configuração, consulte Como criar uma configuração arquivo.
Depois de atualizar o arquivo de configuração com as propriedades relacionadas ao mTLS, copie-o para
todos os nós do cluster antes de inicializar o componente apigee-mtls
nessas
nós.
Os comandos que fazem referência ao arquivo de configuração usam o arquivo "config_file" para indicar que location é variável, dependendo de onde você o armazena em cada nó.
Para atualizar o arquivo de configuração:
- Na máquina de administração, abra o arquivo de configuração.
- Copie o seguinte conjunto de propriedades de configuração de mTLS e cole na configuração
arquivo:
ALL_IP="ALL_PRIVATE_IPS_IN_CLUSTER" ZK_MTLS_HOSTS="ZOOKEEPER_PRIVATE_IPS" CASS_MTLS_HOSTS="CASSANDRA_PRIVATE_IPS" PG_MTLS_HOSTS="POSTGRES_PRIVATE_IPS" RT_MTLS_HOSTS="ROUTER_PRIVATE_IPS" MS_MTLS_HOSTS="MGMT_SERVER_PRIVATE_IPS" MP_MTLS_HOSTS="MESSAGE_PROCESSOR_PRIVATE_IPS" QP_MTLS_HOSTS="QPID_PRIVATE_IPS" LDAP_MTLS_HOSTS="OPENLDAP_PRIVATE_IPS" MTLS_ENCAPSULATE_LDAP="y" ENABLE_SIDECAR_PROXY="y" ENCRYPT_DATA="BASE64_GOSSIP_MESSAGE" PATH_TO_CA_CERT="PATH/TO/consul-agent-ca.pem" PATH_TO_CA_KEY="PATH/TO/consul-agent-ca-key.pem" APIGEE_MTLS_NUM_DAYS_CERT_VALID_FOR="NUMBER_OF_DAYS"
Defina o valor de cada propriedade de acordo com sua configuração.
A tabela a seguir descreve essas propriedades de configuração:
Propriedade Descrição ALL_IP
Uma lista separada por espaços dos endereços IP de host particular de todos os nós no cluster. A ordem dos endereços IP não importa, mas deve ser a mesma em todas de configuração do Terraform em todo o cluster.
Se você configurar o mTLS da Apigee para vários data centers, liste endereços IP de todos os hosts em todas as regiões.
LDAP_MTLS_HOSTS
O endereço IP do host particular do nó do OpenLDAP no cluster. ZK_MTLS_HOSTS
Uma lista separada por espaços de endereços IP de host particulares em que os nós do ZooKeeper estão hospedados no cluster.
Com base nos requisitos, é necessário pelo menos três nós do ZooKeeper.
CASS_MTLS_HOSTS
Uma lista separada por espaços de endereços IP de host particular em que os servidores do Cassandra estão hospedados no cluster. PG_MTLS_HOSTS
Uma lista separada por espaços de endereços IP de host particular em que os servidores Postgres estão hospedados no cluster. RT_MTLS_HOSTS
Uma lista separada por espaços de endereços IP de hosts privados em que os roteadores estão hospedados aglomerado. MTLS_ENCAPSULATE_LDAP
Criptografa tráfego LDAP entre o processador de mensagens e o servidor LDAP. Definir como y
:MS_MTLS_HOSTS
Uma lista separada por espaços de endereços IP de hosts particulares em que os nós do servidor de gerenciamento estão hospedados no cluster. MP_MTLS_HOSTS
Uma lista separada por espaços de endereços IP de host privados em que os processadores de mensagens estão hospedados no cluster. QP_MTLS_HOSTS
Uma lista separada por espaços de endereços IP de hosts privados em que os servidores Qpid estão hospedados no cluster. ENABLE_SIDECAR_PROXY
Determina se o Cassandra e o Postgres devem reconhecer a malha de serviço. Você deve definir esse valor como "y".
ENCRYPT_DATA
A chave de criptografia codificada em base64 usada pelo Consul . Você gerou essa chave usando consul keygen
na Etapa 2: instalar o Consul e gerar credenciais.Esse valor precisa ser o mesmo em todos os nós do cluster.
PATH_TO_CA_CERT
O local do arquivo de certificado no nó. Você gerou este arquivo em Etapa 2: instalar o Consul e gerar credenciais. Esse local deve ser o mesmo em todos os nós do cluster para que os arquivos de configuração são os mesmos.
O certificado precisa ser codificado em X509v3.
PATH_TO_CA_KEY
O local do arquivo de chave no nó. Você gerou este arquivo em Etapa 2: instalar o Consul e gerar credenciais. Esse local deve ser o mesmo em todos os nós do cluster para que os arquivos de configuração são os mesmos.
O arquivo de chave precisa ser codificado em X509v3.
APIGEE_MTLS_NUM_DAYS_CERT_VALID_FOR
O número de dias que um certificado é válido quando você gerar um certificado personalizado.
O valor padrão é 365. O valor máximo é de 7.865 dias (5 anos).
Além das propriedades listadas acima, o mTLS da Apigee usa várias outras propriedades ao instalá-lo em uma configuração de vários data centers. Para mais informações, consulte Configurar vários data centers.
- Defina a propriedade
ENABLE_SIDECAR_PROXY
como "y". - Atualize os endereços IP nas propriedades relacionadas ao host. Use o parâmetro
endereços IP privados quando se referirem a cada nó, não ao endereço IP público
usando os endereços IP internos.
Nas etapas posteriores, você definirá os valores de outras propriedades, como
ENCRYPT_DATA
,PATH_TO_CA_CERT
ePATH_TO_CA_KEY
. Você ainda não definiram seus valores.Ao editar as propriedades de configuração do
apigee-mtls
, observe o seguinte:- Todas as propriedades são strings. você precisa unir os valores de todas as propriedades em single ou double aspas.
- Se um valor relacionado ao host tiver mais de um endereço IP particular, separe cada endereço IP com um espaço.
- Use endereços IP particulares e não nomes de host ou endereços IP públicos para todos os endereços IP no arquivo de configuração.
- A ordem dos endereços IP em um valor de propriedade deve estar na mesma ordem em todos de configuração do Terraform em todo o cluster.
- Salve suas alterações no arquivo de configuração.
Etapa 2: instalar o Consul e gerar credenciais
Esta seção descreve como instalar o Consul e gerar credenciais.
Escolha um dos seguintes métodos para gerar credenciais:
- Crie sua própria AC usando o Consul, conforme descrito nesta seção (recomendado)
- Usar as credenciais de uma AC atual com o mTLS da Apigee (avançado)
Sobre as credenciais
As credenciais consistem no seguinte:
- Certificado: o certificado TLS hospedado em cada nó
- Chave: a chave pública TLS hospedada em cada nó
- Mensagem de fofoca:uma chave de criptografia codificada em base64.
Você gera uma única versão de cada um desses arquivos apenas uma vez. Você copia a chave e o certificado a todos os nós do cluster e adicionar a chave de criptografia ao arquivo de configuração que que também é copiado para todos os nós.
Para mais informações sobre a implementação da criptografia do Consul, acesse:
Instalar o Consul e gerar credenciais
Use um binário do Consul local para gerar credenciais que o mTLS da Apigee usa para autenticar comunicações seguras entre os nós no cluster de nuvem privada; Como resultado, precisa instalar o Consul na sua máquina de administração para poder gerar credenciais.
Para instalar o Consul e gerar credenciais mTLS:
- Na máquina de administração, faça o download do binário do Consul 1.6.2 no Site HashiCorp.
- Extraia o conteúdo do arquivo transferido por download. Por exemplo, extraia o conteúdo para
/opt/consul/
: - Na máquina de administração, crie uma nova autoridade certificadora (CA) executando o
seguinte comando:
/opt/consul/consul tls ca create
O Consul cria os seguintes arquivos, que são um par certificado/chave:
consul-agent-ca.pem
(certificado)consul-agent-ca-key.pem
(chave)
Por padrão, os arquivos de certificado e de chave são codificados em X509v3.
Depois, você copiará esses arquivos para todos os nós no cluster. No entanto, você precisa decida apenas onde nos nós você colocará esses arquivos. Eles devem estar no mesmo em cada nó. Por exemplo,
/opt/apigee/
. - No arquivo de configuração, defina o valor de
PATH_TO_CA_CERT
como o local como em que você vai copiar o arquivoconsul-agent-ca.pem
no nó. Exemplo:PATH_TO_CA_CERT="/opt/apigee/consul-agent-ca.pem"
- Defina o valor de
PATH_TO_CA_KEY
como o local para onde o arquivo será copiado.consul-agent-ca-key.pem
no nó. Exemplo:PATH_TO_CA_KEY="/opt/apigee/consul-agent-ca-key.pem"
- Crie uma chave de criptografia para o Consul executando o seguinte comando:
/opt/consul/consul keygen
O Consul gera uma string aleatória, parecida com esta:
QbhgD+EXAMPLE+Y9u0742X/IqX3X429/x1cIQ+JsQvY=
- Copie e defina a string como o valor da propriedade
ENCRYPT_DATA
no seu de configuração do Terraform. Exemplo:ENCRYPT_DATA="
QbhgD+EXAMPLE+Y9u0742X
/IqX3X429/x1cIQ+JsQvY=" - Salve o arquivo de configuração.
O exemplo a seguir mostra as configurações relacionadas ao mTLS em um arquivo de configuração (com exemplos de valor):
... IP1=10.126.0.121 IP2=10.126.0.124 IP3=10.126.0.125 IP4=10.126.0.127 IP5=10.126.0.130 ALL_IP="$IP1 $IP2 $IP3 $IP4 $IP5" LDAP_MTLS_HOSTS="$IP3" ZK_MTLS_HOSTS="$IP3 $IP4 $IP5" CASS_MTLS_HOSTS="$IP3 $IP4 $IP5" PG_MTLS_HOSTS="$IP2 $IP1" RT_MTLS_HOSTS="$IP4 $IP5" MS_MTLS_HOSTS="$IP3" MP_MTLS_HOSTS="$IP4 $IP5" QP_MTLS_HOSTS="$IP2 $IP1" ENABLE_SIDECAR_PROXY="y" ENCRYPT_DATA="QbhgD+EXAMPLE+Y9u0742X/IqX3X429/x1cIQ+JsQvY=" PATH_TO_CA_CERT="/opt/apigee/consul-agent-ca.pem" PATH_TO_CA_KEY="/opt/apigee/consul-agent-ca-key.pem" ...
Etapa 3: distribuir o arquivo de configuração e as credenciais
Copie os arquivos a seguir para os nós que executam o ZooKeeper usando uma ferramenta como
scp
:
- Arquivo de configuração:copie a versão atualizada deste arquivo e substitua as versão atual em todos os nós (não apenas nos nós que executam o ZooKeeper).
- consul-agent-ca.pem::copie para o local especificado como o valor de
PATH_TO_CA_CERT
no arquivo de configuração. - consul-agent-ca-key.pem::copie para o local especificado como o valor de
PATH_TO_CA_KEY
no arquivo de configuração.
Verifique se os locais para os quais você copiou o certificado e os arquivos de chave correspondem aos valores que você definido no arquivo de configuração na Etapa 2: instalar o Consul e gerar credenciais.
Etapa 4: inicializar a Apigee-mtls
Depois de atualizar seu arquivo de configuração, copiá-lo e as credenciais para todos os nós da
cluster e instalou apigee-mtls
em cada nó, está tudo pronto para inicializar o
Componente apigee-mtls
em cada nó.
Para inicializar apigee-mtls:
- Faça login em um nó do cluster como usuário raiz. É possível executar essas etapas nos nós do na ordem que você quiser.
- Torne o usuário
apigee:apigee
o proprietário do arquivo de configuração atualizado, conforme o exemplo a seguir mostra:chown apigee:apigee config_file
- Configure o componente
apigee-mtls
executando o seguinte comando:/opt/apigee/apigee-service/bin/apigee-service apigee-mtls setup -f config_file
- (Opcional) Execute o seguinte comando para verificar se a configuração foi concluída:
/opt/apigee/apigee-mtls/lib/actions/iptables.sh validate
- Inicie o mTLS da Apigee executando o seguinte comando:
/opt/apigee/apigee-service/bin/apigee-service apigee-mtls start
Após instalar o mTLS da Apigee, inicie esse componente antes de qualquer outro no nó.
- (Somente nós do Cassandra) O Cassandra exige argumentos adicionais para funcionar na
e da rede mesh de segurança. Como resultado, você precisa executar os seguintes comandos em cada nó do Cassandra:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra setup -f config_file
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- (Somente nós do Postgres) O Postgres exige argumentos adicionais para funcionar no
e da rede mesh de segurança. Como resultado, você precisa fazer o seguinte nos nós do Postgres:
(somente mestre)
- Execute os seguintes comandos no nó mestre do Postgres:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup -f config_file
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql configure
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
(Apenas em espera)
- Faça backup dos seus dados do Postgres. Para instalar o mTLS da Apigee, reinicialize o nós mestres/de espera, então haverá perda de dados. Para mais informações, consulte Configure a replicação mestre/em espera para Postgres.
- Excluir todos os dados do Postgres:
rm -rf /opt/apigee/data/apigee-postgresql/pgdata
- Configure e reinicie o Postgres, conforme o exemplo a seguir:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup -f config_file
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql configure
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
Se você estiver instalando em uma topologia de vários data centers, use um caminho absoluto para o de configuração do Terraform.
- Execute os seguintes comandos no nó mestre do Postgres:
- Inicie os componentes restantes da Apigee no nó na
pedido de início, como o
o exemplo a seguir mostra:
/opt/apigee/apigee-service/bin/apigee-service component_name start
- Repita esse processo para cada nó do cluster.
- (Opcional) Verifique se a inicialização do
apigee-mtls
foi concluída com um ou mais dos seguintes métodos:- Validar a configuração do iptables
- Verificar o status do proxy remoto
- Verificar o status de quórum
Cada um desses métodos é descrito em Verifique do Terraform.
Alterar uma configuração atual da apigee-mtls
Para personalizar uma configuração do apigee-mtls
, desinstale e
reinstale o apigee-mtls
.
Para reforçar esse ponto, ao alterar uma configuração mTLS da Apigee:
- Se você mudar um arquivo de configuração, primeiro desinstale o
apigee-mtls
e Executesetup
ouconfigure
novamente:# DO THIS:
/opt/apigee/apigee-service/bin/apigee-service apigee-mtls uninstall
# BEFORE YOU DO THIS:/opt/apigee/apigee-service/bin/apigee-service apigee-mtls setup -f file
OR/opt/apigee/apigee-service/bin/apigee-service apigee-mtls configure
- É necessário desinstalar e executar novamente
setup
ouconfigure
em todos os nós da e não apenas um nó.