Ativar autenticação do Cassandra

Por padrão, o Cassandra é instalado sem a autenticação ativada. Isso significa que qualquer pessoa com acesso ao seu servidor do Cassandra pode consultar o banco de dados do Cassandra sem precisar de autenticação. É possível ativar a autenticação depois de instalar o Edge ou como parte do processo de instalação.

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

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

Use essa conta de usuário, defina uma senha diferente para essa conta ou crie 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 seja possível ativar a autenticação ao instalar o Cassandra, use sempre o nome de usuário e a senha padrão do Cassandra (‘cassandra’:’cassandra’) durante a instalação. Se quiser usar credenciais não padrão do Cassandra, reative a autenticação do Cassandra após a instalação seguindo as etapas listadas aqui.

Se você quiser ativar a autenticação do Cassandra durante uma nova instalação do Cassandra, inclua as propriedades abaixo no arquivo de configuração para todos os nós do Cassandra:

CASS_AUTH=y
CASS_USERNAME=cassandra
CASS_PASSWORD=cassandra

A instalação vai configurar o Cassandra com a autenticação ativada e com as credenciais cassandra:cassandra padrão.

Após a conclusão da instalação inicial, você pode seguir uma ou mais das seguintes etapas:

  • Crie um usuário alternativo a ser usado para a autenticação do Cassandra seguindo o procedimento aqui.
  • Altere a senha do usuário padrão do Cassandra seguindo estas etapas.
  • Instale os componentes do Edge (em inglês) que usam o Cassandra para utilizar as credenciais definidas acima.

Componentes da borda que se conectam ao Cassandra

Os seguintes componentes do Edge acessam o Cassandra:

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

Instalar componentes do Edge quando a autenticação do Cassandra estiver ativada

Se você tiver ativado a autenticação do Cassandra ao instalar esses componentes do Edge pela primeira vez, será necessário fornecer as seguintes definições no arquivo de configuração silencioso:

CASS_AUTH=Y
CASS_USERNAME=<valid username in Cassandra>
CASS_PASSWORD=<password for the above username>

É possível alterar as credenciais do Cassandra depois de instalar o Cassandra. 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, conforme descrito na próxima seção.

Atualizar os componentes do Edge que se conectam 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ê precisa concluir 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 contendo o novo nome de usuário e senha para o comando:

    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 characters.

    Esse comando reinicia automaticamente o servidor de gerenciamento.

  2. Repita a etapa 1 para cada um dos seguintes serviços:
    • 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 Router, use o seguinte comando:

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

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

    As seções a seguir explicam como ativar a autenticação do Cassandra após a instalação.

    Ativar a autenticação do Cassandra em uma única configuração de data center

    Para uma única configuração da Apigee baseada em data center que já tenha o Cassandra instalado, é possível:

    Observação:o usuário "Cassandra" é um usuário especial no Cassandra. A autenticação que usa esse usuário requer consistência com o QUORUM. Consulte Sobre os níveis de consistência do Cassandra.

    Ativar a autenticação do Cassandra quando houver vários data centers

    Ao expandir os data centers, siga as etapas em um dos cenários a seguir, dependendo da configuração.

    Cenário 1: o data center atual tem a autenticação do Cassandra ativada

    Se a autenticação do Cassandra já estiver ativada em um data center atual com credenciais cassandra:cassandra padrão, siga as etapas abaixo:

    1. Configurar um novo data center com as credenciais padrão do Cassandra:Cassandra e CASS_AUTH=y. Consulte Ativar a autenticação do Cassandra pela primeira vez.
    2. Instale os componentes do Edge no novo data center usando as credenciais padrão do Cassandra.

    Se a autenticação do Cassandra já estiver ativada no data center atual com credenciais não padrão, siga as etapas abaixo:

    1. Configurar um novo data center com as credenciais padrão Cassandra:Cassandra e CASS_AUTH=y. Consulte Ativar a autenticação do Cassandra pela primeira vez.
    2. Siga as etapas Ativar a autenticação do Cassandra pela primeira vez para reutilizar a credencial de um data center atual (se o atual estiver usando uma credencial não padrão).
    3. Instale os componentes do Edge no novo data center usando a credencial não padrão do Cassandra.

    Cenário 2: o data center atual não tem a autenticação do Cassandra ativada

    Se a autenticação do cassandra não estiver ativada, siga estas etapas:

    1. Configurar um novo data center sem a autenticação Cassandra.
    2. Siga as etapas Ativar a autenticação do Cassandra pela primeira vez para ativar a autenticação do Cassandra em todo o cluster (pós-expansão).
    3. Para atualizar os componentes do Edge que se conectam ao Cassandra, siga estas etapas.

    Ativar a autenticação do Cassandra pela primeira vez

    Use o procedimento a seguir para ativar a autenticação do Cassandra pela primeira vez ou criar um novo nome de usuário e senha do Cassandra:

    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 # Default value is cassandra
      # Cassandra Password. If CASS_USERNAME does not exist, create SUPERUSER with this as password
      CASS_PASSWORD=cassandra # Default value is cassandra
      
      # 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 change details of the default cassandra user(‘cassandra’)
      CASS_EXISTING_USERNAME=cassandra  # The default username is cassandra
      # Password of an existing C* user. Only needed if you have disabled or change password of the default cassandra user(‘cassandra’)
      CASS_EXISTING_PASSWORD=cassandra  # The default password is cassandra
      
      # 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

      Se quiser, é possível transmitir as propriedades como argumentos de comando para o script, conforme mostrado no exemplo a seguir:

      CASS_AUTH=y HOSTIP=$(hostname -i) CASS_PORT=9042 CASS_EXISTING_USERNAME=cassandra CASS_EXISTING_PASSWORD=cassandra CASS_USERNAME=cassandra CASS_PASSWORD=cassandra  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 credenciais padrão do Cassandra, o comando acima ativa a autenticação do Cassandra e reinicia o Cassandra.
      • Para credenciais não padrão, o comando também altera o fator de replicação, cria um superusuário e executa um reparo no keyspace system_auth.
    3. Repita as etapas 1 e 2 em todos os nós do Cassandra.

    Alterar as credenciais do Cassandra após a instalação do Cassandra

    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.