Ativar autenticação do Cassandra

Edge para nuvem privada v. 4.16.05

Por padrão, o Cassandra é instalado sem a autenticação ativada. Isso significa que qualquer pessoa pode acessar o Cassandra. É possível ativar a autenticação após a instalação do Edge ou como parte do processo de instalação.

Se você decidir ativar a autenticação no Cassandra, ele usará o seguinte padrão: credenciais:

  • nome de usuário = 'cassandra'
  • password = 'cassandra'

Você pode usar essa conta, definir uma senha diferente para ela ou criar um novo usuário do Cassandra. Adicione, remova e modifique usuários usando as instruções CREATE/ALTER/DROP USER do Cassandra.

Para mais informações, consulte http://www.datastax.com/documentation/cql/3.0/cql/cql_reference/cqlCommandsTOC.html (em inglês).

Ativar a autenticação do Cassandra durante a instalação

É possível ativar a autenticação do Cassandra no momento da instalação. No entanto, embora seja possível ativar ao instalar o Cassandra, não é possível alterar o nome de usuário e a senha padrão. É necessário executar essa etapa manualmente após a conclusão da instalação do Cassandra.

Observação: use este procedimento ao instalar o Cassandra com as chaves "-p c", "-p" ds", "-p sa", "-p aio", "-p asa" e "-p ebp" .

Para ativar a autenticação do Cassandra no momento da instalação, inclua a propriedade CASS_AUTH no arquivo de configuração para todos os nós do Cassandra:

CASS_AUTH=y # The default value is n.

Os seguintes componentes do Edge acessam o Cassandra:

  • Servidor de gerenciamento
  • Processadores de mensagens
  • Roteadores
  • Servidores Qpid
  • Servidores Postgres
  • Pilha BaaS

Portanto, ao instalar esses componentes, defina as seguintes propriedades no arquivo de configuração para especificar as credenciais do Cassandra:

CASS_USERNAME=cassandra 
CASS_PASSWORD=cassandra

É possível alterar as credenciais do Cassandra depois de instalá-lo. No entanto, se você tiver já instalou o Management Server, os processadores de mensagens, os roteadores, os servidores Qpid, o Postgres ou pilha de BaaS, você também deve atualizar esses componentes para usar o novo credenciais.

Para alterar as credenciais do Cassandra depois de instalar o Cassandra:

  1. Faça login em qualquer nó do Cassandra usando a ferramenta cqlsh e as credenciais padrão. Você só precisa mudar a senha em um nó, e ela será transmitida para todos os nós do Cassandra no anel:
    > /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p cassandra
    Onde:
    1. cassIP é o endereço IP do nó do Cassandra.
    2. 9042 é a porta padrão do Cassandra.
    3. O usuário padrão é cassandra.
    4. A senha padrão é cassandra. Se você mudou a senha antes, use a senha atual.
  2. Execute o comando abaixo como o comando cqlsh> para atualizar a senha:
    cqlsh> ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
  3. Saia da ferramenta cqlsh:
    cqlsh> sair
  4. Se você ainda não tiver instalado o servidor de gerenciamento, os processadores de mensagens, Roteadores, servidores Qpid, servidores Postgres ou pilha BaaS, definam as seguintes propriedades na de configuração e instale esses componentes:
    CASS_USERNAME=cassandra
    CASS_PASSWORD=NEW_PASSWORD
  5. Se você já tiver instalado o servidor de gerenciamento, os processadores de mensagens, os roteadores, os servidores Qpid, os servidores Postgres ou a pilha BaaS, consulte Redefinir senhas do Edge para saber como atualizar esses componentes para usar a nova senha.

Ativar a autenticação do Cassandra após a instalação

Para ativar a autenticação:

  • Atualize todos os componentes do Edge que se conectam ao Cassandra com o nome de usuário do Cassandra e senha.
  • Ative a autenticação em todos os nós do Cassandra.
  • Defina o nome de usuário e a senha do Cassandra em qualquer nó. Você só precisa alterar credenciais em um nó do Cassandra e elas serão transmitidas para todos os nós do Cassandra na anel

Use o procedimento a seguir para atualizar todos os componentes do Edge que se comunicam com o Cassandra com as novas credenciais. Faça esta etapa antes de atualizar as credenciais do Cassandra:

  1. No nó do servidor de gerenciamento, execute o seguinte comando:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-management-server store_cassandra_credentials -u CASS_USERNAME -p CASS_PASSWORD

    Também é possível transmitir um arquivo para o comando contendo o novo nome de usuário e a senha:
    > apigee-service Edge-management-server store_cassandra_credentials -f configFile

    Em que configFile contém o seguinte:
    CASS_USERNAME=cassandra
    CASS_PASSWORD=CASS_PASSWROD


    Esse comando reinicia automaticamente o servidor de gerenciamento.
  2. Repita a etapa 1 em:
    • Todos os processadores de mensagens
    • Todos os roteadores
    • Todos os servidores Qpid (edge-qpid-server)
    • Servidores Postgres (edge-postgres-server)
  3. No nó da pilha BaaS para a versão 4.16.05.04 e mais recentes:
    1. Execute o comando a seguir para gerar uma senha criptografada:
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid secure_password

      Esse comando solicita a senha de texto simples e retorna a senha criptografada no formato:
      SECURE:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505c239e43bc09f8050
    2. Defina os tokens a seguir em /opt/apigee/customer/application/usergrid.properties. Se esse arquivo não existir, crie-o:
      usergrid-deployment_cassandra.username=cassandra
      usergrid-deployment_cassandra.password=SECURE:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505c239e43bc09f8050


      Este exemplo usa o nome de usuário padrão do Cassandra. Se você tiver mudado o nome de usuário, defina o valor de usergrid-deployment_cassandra.username de acordo.

      Não se esqueça de incluir a "SEGURANÇA:" da senha. Caso contrário, a pilha BaaS interpreta o valor como não criptografado.

      Observação: cada nó da pilha BaaS tem uma chave exclusiva usada para criptografar a senha. Portanto, é necessário gerar o valor criptografado em cada nó da pilha BaaS separadamente.
    3. Mude a propriedade do arquivo usergrid.properties para o usuário "apigee":
      > chown apigee:apigee /opt/apigee/customer/application/usergrid.properties
    4. Configure o nó da pilha:
      &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid configurar
    5. Reinicie a pilha BaaS:
      > /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid restart
    6. Repita essas etapas para todos os nós da pilha BaaS.

Use o procedimento a seguir para ativar a autenticação do Cassandra e definir o nome de usuário e senha:

  1. Faça login no primeiro nó do Cassandra.
  2. Execute este comando:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra
      enable_cassandra_authentication -e y

    Esse comando ativa a autenticação e reinicia o Cassandra.

  3. Repita as etapas 1 e 2 em todos os nós do Cassandra.
  4. Faça login em qualquer nó do Cassandra usando a ferramenta cqlsh e as credenciais padrão. Você só precisa mudar a senha em um nó do Cassandra, e ela será transmitida para todos os nós do Cassandra no anel:
    /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p cassandra

    Onde

    • cassIP é o endereço IP do nó do Cassandra.
    • 9042 é a porta do Cassandra.
    • O usuário padrão é cassandra.
    • A senha padrão é cassandra. Se você já mudou a senha, use a senha atual.
  5. Execute o comando abaixo no prompt cqlsh> para atualizar a senha:
    ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
  6. Execute o comando abaixo no prompt cqlsh> para garantir que o espaço de chaves esteja sempre disponível. Para um único data center:
    ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-1': '3'};
    No caso de dois data centers:
    ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-1': '3', 'dc-2': '3'};
  7. Saia da ferramenta cqlsh:
    exit
  8. Execute nodetool repair para garantir que a mudança seja propagada para todos os nós do Cassandra:
    /opt/apigee/apigee-cassandra/bin/nodetool repair system_auth