Introdução
O Pérola Negra, um notório navio pirata, acaba de atracar nas margens de uma ilha misteriosa, que se diz ser o local de descanso de um tesouro antigo. O Capitão Jack Sparrow, o astuto e carismático líder pirata, recrutou a ajuda de Tia Dalma, uma poderosa mística voodoo, para guiá-los pelas traiçoeiras selvas da ilha e desvendar os segredos da localização do tesouro. No entanto, a jornada não será fácil, pois eles devem navegar por uma série de desafios que testam seus conhecimentos e habilidades na segurança do Hadoop Hive, um componente crucial das defesas místicas da ilha.
O objetivo é superar esses desafios e garantir o acesso ao tesouro, provando seu domínio sobre as medidas de segurança do Hadoop Hive. Somente desvendando os mistérios da ilha e demonstrando sua proeza na segurança do Hive, eles poderão reivindicar as lendárias riquezas que os aguardam.
Estabelecendo um Hive Metastore Seguro
Nesta etapa, você aprenderá como configurar um Hive Metastore seguro, um componente crucial que armazena os metadados para bancos de dados, tabelas e partições do Hive. Ao proteger o Metastore, você garantirá que informações sensíveis sejam protegidas contra acesso não autorizado.
- Primeiro, certifique-se de estar logado como o usuário
hadoopexecutando o seguinte comando no terminal:
su - hadoop
- Crie um novo diretório chamado
hive-secureem seu diretório home:
mkdir ~/hive-secure
- Navegue até o diretório
hive-secure:
cd ~/hive-secure
- Crie um novo arquivo chamado
hive-site.xmle adicione a seguinte configuração:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hive.metastore.uris</name>
<value>thrift://localhost:9083</value>
<description>Metastore URI to connect to</description>
</property>
<property>
<name>hive.metastore.sasl.enabled</name>
<value>true</value>
<description>Enable SASL for Metastore</description>
</property>
<property>
<name>hive.metastore.kerberos.principal</name>
<value>hive/_HOST@EXAMPLE.COM</value>
<description>Kerberos principal for Metastore</description>
</property>
</configuration>
Esta configuração configura um Metastore seguro usando autenticação Kerberos. A propriedade hive.metastore.sasl.enabled habilita SASL (Simple Authentication and Security Layer) para o Metastore, enquanto a propriedade hive.metastore.kerberos.principal especifica o principal Kerberos para o serviço Metastore.
- Copie o arquivo
hive-site.xmlpara o diretório de configuração do Hive:
cp hive-site.xml /usr/local/hive/conf/
Após concluir estas etapas, você terá configurado com sucesso um Hive Metastore seguro usando autenticação Kerberos.
Habilitando a Autorização do Hive com Apache Ranger
Nesta etapa, você aprenderá como proteger o Hive, habilitando a autorização usando o Apache Ranger, uma solução de segurança abrangente para clusters Hadoop.
- Crie um novo diretório chamado
ranger-hiveem seu diretório home:
mkdir ~/ranger-hive
- Navegue até o diretório
ranger-hive:
cd ~/ranger-hive
- Crie um novo arquivo chamado
ranger-hive-security.xmle adicione a seguinte configuração:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hive.security.authorization.manager</name>
<value>org.apache.ranger.authorization.hive.authorizer.RangerHiveAuthorizerFactory</value>
<description>Hive authorization manager</description>
</property>
<property>
<name>hive.security.authorization.enabled</name>
<value>true</value>
<description>Enable Hive authorization</description>
</property>
<property>
<name>hive.security.authenticator.manager</name>
<value>org.apache.hadoop.hive.ql.security.SessionStateUserAuthenticator</value>
<description>Hive authenticator manager</description>
</property>
</configuration>
Esta configuração habilita a autorização do Hive usando o Apache Ranger. A propriedade hive.security.authorization.manager especifica a fábrica de autorização do Ranger Hive, enquanto a propriedade hive.security.authorization.enabled habilita a autorização do Hive. A propriedade hive.security.authenticator.manager define o gerenciador de autenticação para as sessões do Hive.
- Copie o arquivo
ranger-hive-security.xmlpara o diretório de configuração do Hive:
cp ranger-hive-security.xml /usr/local/hive/conf/
Após concluir estas etapas, você terá habilitado com sucesso a autorização do Hive usando o Apache Ranger.
Configurando a Criptografia do Hive
Nesta etapa, você aprenderá como configurar a criptografia do Hive para proteger dados sensíveis armazenados em tabelas e partições do Hive.
- Crie um novo diretório chamado
hive-encryptionem seu diretório home:
mkdir ~/hive-encryption
- Navegue até o diretório
hive-encryption:
cd ~/hive-encryption
- Crie um novo arquivo chamado
hive-encryption.xmle adicione a seguinte configuração:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hive.server2.enable.doAs</name>
<value>false</value>
<description>Enable impersonation for HiveServer2</description>
</property>
<property>
<name>hive.exec.dynamic.partition.mode</name>
<value>nonstrict</value>
<description>Hive dynamic partition mode</description>
</property>
<property>
<name>hive.crypto.codec</name>
<value>com.my.codec.AesCodec</value>
<description>Codec for Hive encryption</description>
</property>
<property>
<name>hive.crypto.codec.implementation</name>
<value>com.my.codec.AesCodecImplementation</value>
<description>Implementation for Hive encryption codec</description>
</property>
</configuration>
Esta configuração habilita a criptografia do Hive usando uma implementação de codec personalizada. A propriedade hive.crypto.codec especifica a classe codec para criptografia, enquanto a propriedade hive.crypto.codec.implementation especifica a classe de implementação para o codec de criptografia.
A propriedade hive.server2.enable.doAs desabilita a impersonação para o HiveServer2, e a propriedade hive.exec.dynamic.partition.mode define o modo de partição dinâmica como não estrito para compatibilidade com a criptografia.
- Copie o arquivo
hive-encryption.xmlpara o diretório de configuração do Hive:
cp hive-encryption.xml /usr/local/hive/conf/
Após concluir estas etapas, você terá configurado com sucesso a criptografia do Hive usando uma implementação de codec personalizada.
Resumo
Neste laboratório, você embarcou em uma aventura com o Capitão Jack Sparrow e Tia Dalma, navegando pelos desafios de proteger o Hadoop Hive em uma ilha misteriosa. Você aprendeu como configurar um Hive Metastore seguro usando a autenticação Kerberos, habilitando a autorização do Hive com Apache Ranger e implementando a criptografia do Hive para proteger dados sensíveis.
Ao longo do laboratório, você não apenas dominou as habilidades técnicas necessárias para proteger o Hive, mas também adquiriu experiência valiosa em resolução de problemas e atenção aos detalhes. Ao seguir as instruções passo a passo e concluir com sucesso os verificadores, você demonstrou sua proficiência em proteger o Hive, um componente crucial das defesas místicas da ilha.
O design deste laboratório foi inspirado no mundo cativante dos piratas, misturando aventura e conhecimento técnico em uma experiência de aprendizado envolvente. Ao superar cada desafio, você desvendou os segredos de proteger o Hive, provando, em última análise, seu valor para reivindicar o tesouro lendário que o aguardava na ilha.



