Configurando SASL/SCRAM

O OCI Streaming com Apache Kafka suporta o SCRAM-SHA-512.

A autenticação SASL/SCRAM garante a segurança usando credenciais de nome de usuário e senha. O SCRAM usa senhas salgadas e algoritmos de hash criptográficos para proteger as credenciais do usuário. As credenciais não são armazenadas ou transmitidas em texto sem formatação.

Crie as políticas obrigatórias do IAM e conclua as tarefas a seguir para configurar a autenticação SASL/SCRAM para um cluster do Kafka.

  1. Criar credenciais de acesso no OCI Vault
  2. Atualizar cluster do Kafka com credenciais criadas
  3. Configurar clientes Kafka para usar as credenciais seguras

Políticas Obrigatórias do IAM

Adicione as seguintes instruções de política antes de configurar a autenticação SASL/SCRAM para um cluster do Kafka.

allow service rawfka to {SECRET_UPDATE} in compartment <compartment>
allow service rawfka to use secrets in compartment <compartment> where request.operation = 'UpdateSecret'

Criando Credenciais no Vault

Use o serviço OCI Vault para criar credenciais de usuário seguras.

  1. Crie um vault, se você ainda não tiver um.
  2. Crie uma chave de criptografia mestra no vault a ser usado para criptografar o segredo.
  3. Crie um segredo no vault. Para o cluster do Kafka, o segredo deve ser criado com o método de geração manual de segredo. Sempre que você rotacionar manualmente o segredo, também deverá atualizar o SCRAM SASL para o cluster. Além disso, o cluster Kafka continua a usar o segredo antigo, pois não pode detectar ou sincronizar automaticamente versões de segredo atualizadas, levando a falhas de autenticação.

Atualizando SASL/SCRAM para o Cluster Kafka

Atualize o cluster do Kafka com as credenciais seguras criadas ou atualizadas.

    1. Na página da lista clusters Kafka, selecione o cluster com o qual você deseja trabalhar.
    2. Na página de detalhes, selecione o menu Ações e selecione Atualizar SCRAM SASL.
    3. No painel Atualizar SCRAM SASL, selecione o vault com as credenciais seguras.
    4. Selecione o segredo no vault.
    5. Selecione Atualizar.
  • Use o comando cluster enable-superuser e os parâmetros necessários para adicionar propriedades SASL/SCRAM em uma configuração de cluster:

    oci kafka cluster enable-superuser --compartment-id <compartment-ocid> --kafka-cluster-id <cluster-ocid> --secret-id <secret-ocid>

    Opções Obrigatórias

    <ocid-compartimento>
    O OCID do compartimento no qual o segredo do vault é criado.
    <cluster-ocid>
    O OCID do cluster Kafka no qual as credenciais SASL/SCRAM precisam ser atualizadas.
    <id-secreto>
    O OCID do segredo do vault no qual as novas credenciais precisam ser atualizadas.

    Use o comando cluster disable-superuser e os parâmetros necessários para remover propriedades SASL/SCRAM em uma configuração de cluster:

    oci kafka cluster disable-superuser  --kafka-cluster-id <cluster-ocid>

    Para obter uma lista completa de parâmetros e valores para comandos da CLI, consulte a Referência de Comandos da CLI.

  • Execute a operação enableSuperuser para adicionar ou atualizar as credenciais SASL/SCRAM do cluster Kafka.

Configurando Clientes Kafka

Para estabelecer conexão com um cluster Kafka usando SASL/SCRAM, você precisa atualizar o arquivo de propriedades do cliente Kafka.

Crie um arquivo client.properties com as seguintes informações:
security.protocol=SASL_SSL
sasl.mechanism=SCRAM-SHA-512
ssl.truststore.location=/path/to/truststore.jks
ssl.truststore.password=<your-truststore-password>
sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="<your-username>" password="<your-password>";