Modelo de segurança

Instâncias serverless IBM Analytics Engine fornecem uma arquitetura de segurança projetada para permitir que os administradores e desenvolvedores criem clusters de Spark seguros.

As seções a seguir descrevem como o modelo de segurança das instâncias serverless IBM Analytics Engine gerencia o acesso e o controle das instâncias seguras.

Controlando o acesso

às atividades do IBM Analytics Engine

O acesso a instâncias serverless IBM Analytics Engine é controlado pela autenticação e autorização do IAM. O IAM é o serviço de gerenciamento de acesso e de identidade do IBM Cloud®. A autenticação do usuário e o controle de acesso acontecem por meio do IAM quando você efetua login com o seu IBMId. Veja como recuperar o token do IAM.

Como administrador ou criador da instância de serviço, você pode conceder ou negar o acesso a outros usuários com os quais você pode querer compartilhar a instância de serviço. Todas as atividades no gerenciamento do ciclo de vida da instância de serviço, como modificar a configuração da instância, enviar e rastrear os aplicativos Spark ou customizar a instância com conjuntos de bibliotecas personalizados, são controladas por meio de autenticação e autorização do IAM. Consulte Concedendo permissões aos usuários para entender quais operações são suportadas e qual é o nível de acesso necessário para cada uma dessas operações.

Criptografando dados inativos

IBM Cloud Object Storage é o armazenamento de dados recomendado para armazenar os dados necessários para executar tarefas do Spark no cluster. IBM Cloud Object Storage vem com a criptografia integrada padrão. Consulte Criptografando seus dados.

Além disso, ou como alternativa ao uso da criptografia de armazenamento do IBM Cloud Object Storage em cenários analíticos para dados de grande escala, é possível usar a criptografia modular do Parquet, especialmente quando o controle de acesso de baixa granularidade é importante. Consulte Trabalhando com a criptografia modular do Parquet.

Criptografando terminais

Todos os terminais de serviço para o cluster são criptografados por SSL (TLS 1.2 ativado). Além disso, quando você usa IBM Analytics Engine com IBM Cloud Object Storage, o link entre a instância de serviço Object Storage e IBM Analytics Engine é criptografado.

Isolamento e acesso à rede

Cada instância serverless IBM Analytics Engine obtém seu próprio ambiente de simulação isolado, que é desconectado de outras instâncias de um ponto de vista de rede e segurança.

As cargas de trabalho o Spark implementadas em uma instância podem:

  • Comunicar-se com outras cargas de trabalho do Spark implementadas em uma mesma instância.
  • Comunicar-se com internet pública
  • Conectar-se com outros serviços IBM Cloud® em terminais privados

As cargas de trabalho do Spark em uma instância IBM Analytics Engine não podem se comunicar com as cargas de trabalho do Spark em outra instância. Consulte Arquitetura de instância para saber mais sobre o isolamento de instância.

Garantindo a segurança de código

Tome cuidado ao aplicar bibliotecas ou customização de pacotes à instância. Somente um código seguro de fontes confiáveis deve ser usado para não comprometer a segurança geral das instâncias.

A IBM recomenda que seja feita a varredura de qualquer código-fonte, biblioteca e pacote utilizado antes de transferi-los por upload para a instância. Embora o uso de código não confiável não impacte as pessoas, ele pode impactar você.

Criptografando dados de rede internos para carga de trabalho do Spark

IBM Analytics Engine permite criptografar a comunicação interna entre os componentes do aplicativo Spark. Para ativar a criptografia na rede privada, especifique a configuração de uma das duas maneiras a seguir:

  • No momento do fornecimento de uma instância do IBM Analytics Engine, especifique a configuração no atributo default_config.

    Exemplo:

    
    "default_config": {
        "spark.ssl.enabled":"true"
    }
    
  • No momento do envio de uma tarefa, especifique as opções na carga útil em conf

    Exemplo:

    
    {
     "conf": {
    "spark.ssl.enabled":"true"
     }
    }