Ativar autenticação do Cassandra

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 instalar o Edge ou como parte do processo de instalação.

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

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

É possível usar essa conta, definir uma senha diferente para a conta ou criar um novo usuário do Cassandra. adicionar, remover e modificar usuários usando as instruções CREATE/ALTER/DROP USER do Cassandra.

Para mais informações, consulte Comandos do shell do Cassandra SQL.

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 você possa ativar a autenticação 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.

Para ativar a autenticação do Cassandra no momento da instalação, inclua a propriedade CASS_AUTH no arquivo de configuração de 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

Portanto, ao instalar esses componentes, é preciso definir 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 instalar o aplicativo. No entanto, se você já instalou o servidor de gerenciamento, os processadores de mensagens, os roteadores, os servidores Qpid ou os servidores Postgres, também é necessário atualizar esses componentes para usar as novas credenciais.

Para alterar as credenciais do Cassandra após a instalação do 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

    Em que:

    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 anteriormente, use a atual. Se a senha tiver caracteres especiais, coloque-a entre aspas simples.
  2. Execute o seguinte comando no prompt cqlsh> para atualizar a senha:
    ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
  3. Saia da ferramenta cqlsh, conforme o exemplo a seguir:
    exit
  4. Se você ainda não instalou o servidor de gerenciamento, os processadores de mensagens, os roteadores, os servidores Qpid ou os servidores Postgres, defina as seguintes propriedades no arquivo de configuração e instale esses componentes:
    CASS_USERNAME=cassandra
    CASS_PASSWORD=NEW_PASSWORD
  5. Se você já instalou o servidor de gerenciamento, os processadores de mensagens, os roteadores, os servidores Qpid ou os servidores Postgres, consulte Como redefinir senhas de borda para ver o procedimento de atualização desses componentes para usar a nova senha.

Ativar pós-instalação da autenticação do Cassandra

Para ativar a autenticação:

  • Atualize todos os componentes do Edge que se conectam ao Cassandra com o nome de usuário e a senha do Cassandra.
  • 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 as credenciais em um nó do Cassandra, e elas serão transmitidas para todos os nós do Cassandra no anel.

Use o procedimento a seguir para atualizar todos os componentes do Edge que se comunicam com o Cassandra com as novas credenciais. Observe que você faz 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 cassandra_username -p cassandra_password

    Você também pode passar um arquivo para o comando que contém o novo nome de usuário e senha:

    apigee-service edge-management-server store_cassandra_credentials  -f configFile

    Em que configFile contém o seguinte:

    CASS_USERNAME=cassandra_username # Default is cassandra
    CASS_PASSWORD='cassandra_password' # Default is cassandra; wrap in single quotes if it includes special chars

    Esse comando reinicia automaticamente o servidor de gerenciamento.

  2. Para cada um dos serviços a seguir, repita a etapa 1:
    • Todos os processadores de mensagens
    • Todos os roteadores
    • Todos os servidores Qpid (edge-qpid-server)
    • Servidores Postgres (edge-postgres-server)

    Ao repetir a Etapa 1 para cada serviço, substitua edge-management-server no comando acima pelo nome de serviço apropriado. Por exemplo, ao executar a etapa para um serviço de roteador, use o seguinte comando:

    /opt/apigee/apigee-service/bin/apigee-service edge-router
      store_cassandra_credentials -u cassandra -p cassandra

Use o procedimento a seguir para ativar a autenticação do Cassandra e definir o nome de usuário e a 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ê mudou a senha anteriormente, use a atual.
  5. Execute o seguinte comando no prompt cqlsh> para atualizar a senha:
    ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
  6. Execute o seguinte comando no prompt cqlsh> para garantir que o keyspace esteja sempre disponível.

    Para um único data center:

    ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-1': '3'};

    Para 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, como no exemplo a seguir:
    /opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw 'password'] repair system_auth

    Você só precisará passar seu nome de usuário e senha se ativar a autenticação JMX para o Cassandra.