Ativar autenticação do Cassandra

Por padrão, o Cassandra é instalado sem a autenticação ativada. Isso significa que qualquer pessoa pode acessar Cassandra. Você pode ativar a autenticação depois de instalar o Edge ou como parte da instalação de desenvolvimento de software.

É possível adicionar, remover e modificar usuários usando o Cassandra CREATE/ALTER/DROP USER declarações. Para mais informações, consulte Comandos SQL shell do Cassandra.

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

Você pode ativar a autenticação do Cassandra no momento da instalação.

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

Ao instalar esses componentes, você deve definir um nome de usuário e uma senha no de configuração do Terraform:

CASS_USERNAME=cassandra_username
CASS_PASSWORD=cassandra_password

É possível alterar as credenciais do Cassandra depois de instalá-lo. No entanto, se você tiver já tiver instalado o servidor de gerenciamento, processadores de mensagens, roteadores, servidores Qpid ou Postgres; você também precisa atualizar esses componentes para usar as novas 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 o credenciais. Você só precisa alterar a senha em um nó e ela será transmitida a todos Nós do Cassandra no círculo:
    /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra_username -p cassandra_password

    Em que:

    1. cassIP é o endereço IP do nó do Cassandra.
    2. 9042 é a porta padrão do Cassandra.
  2. Execute o seguinte comando no prompt cqlsh> para atualizar a senha:
    ALTER USER cassandra_username/var> WITH PASSWORD 'new_cassandra_password';
  3. Saia da ferramenta cqlsh, como mostra o exemplo a seguir:
    exit
  4. Se você ainda não tiver instalado o servidor de gerenciamento, os processadores de mensagens, Roteadores, servidores Qpid ou servidores Postgres, defina as seguintes propriedades na de configuração e instale esses componentes:
    CASS_USERNAME=cassandra_username
    CASS_PASSWORD=new_cassandra_password
  5. Se você já tiver instalado o Management Server, Processadores, roteadores, servidores Qpid ou servidores Postgres, em seguida, consulte Redefinir senhas de borda para conferir o procedimento de atualização dessas senhas. para usar a nova senha.

Ativar postagem de autenticação do Cassandra instalação

Para ativar a autenticação após uma instalação:

Atualizar os componentes do Edge conectados ao Cassandra

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ê realiza esta etapa antes de realmente atualizar o Cassandra credenciais:

  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

    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_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 na acima pelo nome do serviço apropriado. Por exemplo, quando você executa a etapa para um serviço Roteador, use o seguinte comando:

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

Ativar a autenticação

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

  1. Crie um arquivo de configuração silenciosa com o conteúdo mostrado abaixo:
    # Specify IP address or DNS name of cassandra node
    IP1=192.168.1.1
    IP2=192.168.1.2
    IP3=192.168.1.3
    # Must resolve to IP address or DNS name of host
    HOSTIP=$(hostname -i)
    # Set to ‘y’ to enable Cassandra authentication.
    CASS_AUTH=y # Possible values are ‘y/n’
    # Cassandra username. If it does not exist, this user would be created as a SUPERUSER
    CASS_USERNAME=cassandra_username # Default value is cassandra - don't use for production
    # Cassandra Password. If CASS_USERNAME does not exist, create SUPERUSER with this as password
    CASS_PASSWORD=cassandra_password # Default value is cassandra - don't use for production
    # Space-separated IP/DNS names of the Cassandra hosts
    CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1"
    
    # Username of an existing C* user. Only needed if you have disabled or changed details of the default cassandra user(‘cassandra’)
    CASS_EXISTING_USERNAME=existing_cassandra_username
    # Password of an existing C* user. Only needed if you have disabled or change password of the default cassandra user(‘cassandra’)
    CASS_EXISTING_PASSWORD=existing_cassandra_password
    # Cassandra port
    CASS_PORT=9042 # The default port is 9042.
  2. Faça login no primeiro nó do Cassandra e execute o seguinte comando:

    apigee-service apigee-cassandra enable_cassandra_authentication -f CONFIG

    Opcionalmente, você pode passar as propriedades como argumentos de comando para o script, como mostrado nas exemplo a seguir:

    CASS_AUTH=y HOSTIP=$(hostname -i) CASS_PORT=9042 CASS_EXISTING_USERNAME=existing_cassandra_username CASS_EXISTING_PASSWORD=existing_cassandra_password CASS_USERNAME=cassandra_username CASS_PASSWORD=cassandra_password  CASS_HOSTS="192.168.1.1:1,1 192.168.1.2:1,1 192.168.1.3:1,1" apigee-service apigee-cassandra enable_cassandra_authentication

    Observações:

    • Para o padrão credenciais do Cassandra, o comando acima ativa a autenticação e reinicializações do Cassandra Cassandra.
    • Para credenciais não padrão, o comando também altera o fator de replicação, cria uma superusuário e executa um reparo em system_auth keyspace.
  3. Repita as etapas 1 e 2 em todos os nós do Cassandra.