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.
É possível adicionar, remover e modificar usuários com 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.
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
Ao instalar esses componentes, é preciso definir um nome de usuário e uma senha no arquivo de configuração:
CASS_USERNAME=cassandra_username CASS_PASSWORD=cassandra_password
É 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:
- 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_username -p cassandra_password
Em que:
- cassIP é o endereço IP do nó do Cassandra.
- 9042 é a porta padrão do Cassandra.
- Execute o seguinte comando no prompt
cqlsh>
para atualizar a senha:ALTER USER cassandra_username/var> WITH PASSWORD 'new_cassandra_password';
- Saia da ferramenta
cqlsh
, conforme o exemplo a seguir:exit
- 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_username CASS_PASSWORD=new_cassandra_password
- 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 após uma instalaçã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 e 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.
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ê faz esta etapa antes de atualizar as credenciais do Cassandra:
- 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.
- 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
Ativar a autenticação
Use o procedimento a seguir para ativar a autenticação do Cassandra e definir o nome de usuário e a senha:
- 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.
Faça login no primeiro nó do Cassandra e execute o seguinte comando:
apigee-service apigee-cassandra enable_cassandra_authentication -f CONFIG
Outra opção é 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=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
Notes:
- Como credenciais padrão do Cassandra, o comando acima ativa a autenticação 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 em
system_auth keyspace
.
- Repita as etapas 1 e 2 em todos os nós do Cassandra.