Criar uma configuração de segurança - Amazon EMR

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Criar uma configuração de segurança

Este tópico aborda os procedimentos gerais para criar uma configuração de segurança com o EMR console da Amazon e o AWS CLI, seguido por uma referência para os parâmetros que incluem criptografia, autenticação e IAM funções paraEMRFS. Para obter mais informações sobre esses recursos, consulte os tópicos a seguir:

Para criar uma configuração de segurança usando o console
  1. Abra o EMR console da Amazon em https://console.aws.amazon.com/emr.

  2. No painel de navegação, escolha Security Configurations (Configurações de segurança), Create security configuration (Criar configuração de segurança).

  3. Digite um nome em Name (Nome) para a configuração de segurança.

  4. Escolha opções Criptografia e Autenticação conforme descrito nas seções abaixo e escolha Criar.

Para criar uma configuração de segurança usando o AWS CLI
  • Use o comando create-security-configuration conforme mostrado no exemplo a seguir.

    • Para SecConfigName, especifique o nome da configuração de segurança. Trata-se do nome especificado por você ao criar um cluster que usa essa configuração de segurança.

    • ParaSecConfigDef, especifique uma JSON estrutura embutida ou o caminho para um JSON arquivo local, comofile://MySecConfig.json. Os JSON parâmetros definem opções de criptografia, IAMfunções para EMRFS acesso ao Amazon S3 e autenticação, conforme descrito nas seções abaixo.

    aws emr create-security-configuration --name "SecConfigName" --security-configuration SecConfigDef

Configurar criptografia de dados

Antes de configurar a criptografia em uma configuração de segurança, crie as chaves e os certificados usados na criptografia. Para ter mais informações, consulte Fornecendo chaves para criptografar dados em repouso com a Amazon EMR e Fornecendo certificados para criptografar dados em trânsito com a criptografia da Amazon EMR.

Ao criar uma configuração de segurança, você especifica dois conjuntos de opções de criptografia: a criptografia de dados em repouso e a criptografia de dados em trânsito. As opções para criptografia de dados em repouso incluem o Amazon S3 EMRFS com criptografia de disco local e a criptografia de disco local. As opções de criptografia em trânsito habilitam os recursos de criptografia de código aberto para determinados aplicativos que oferecem suporte ao Transport Layer Security ()TLS. Opções em repouso e opções em trânsito podem ser habilitadas juntas ou separadamente. Para obter mais informações, consulte Criptografar dados em repouso e em trânsito.

nota

Quando você usa AWS KMS, cobranças são cobradas pelo armazenamento e uso de chaves de criptografia. Para obter mais informações, consulte Preços do AWS KMS.

Especificar opções de criptografia usando o console

Escolha as opções em Encryption (Criptografia) de acordo com as diretrizes a seguir.

  • Escolha opções em At rest encryption (Criptografia em repouso) para criptografar os dados armazenados no sistema de arquivos.

    Você pode optar por criptografar dados no Amazon S3, em discos locais ou em ambos.

  • Em Criptografia de dados do S3, em Modo de criptografia, escolha um valor para determinar como a Amazon EMR criptografa os dados do Amazon S3. EMRFS

    O que fazer em seguida depende do modo de criptografia escolhido:

  • Em Local disk encryption (Criptografia de disco local), escolha um valor para Key provider type (Tipo de provedor de chave).

    • AWS KMS key

      Selecione essa opção para especificar uma AWS KMS key. Em AWS KMS key, selecione uma chave. A chave deve existir na mesma região do seu EMR cluster. Para obter mais informações sobre requisitos de chaves, consulte Usando AWS KMS keys para criptografia.

      EBSCriptografia

      Ao especificar AWS KMS como seu provedor de chaves, você pode ativar a EBS criptografia para criptografar o dispositivo EBS raiz e os volumes de armazenamento. Para habilitar essa opção, você deve conceder à função EMR EMR_DefaultRole de serviço da Amazon permissões para usar o AWS KMS key que você especificar. Para obter mais informações sobre requisitos de chaves, consulte Ativando a EBS criptografia fornecendo permissões adicionais para KMS chaves.

    • Custom (Personalizado)

      Selecione essa opção para especificar um provedor de chaves personalizado. Para o objeto S3, insira a localização no Amazon S3, ou no Amazon S3, do seu arquivo personalizado de ARN provedor de chaves. JAR Em Key provider class, insira o nome completo da classe declarada em seu aplicativo que implementa a EncryptionMaterialsProvider interface. O nome da classe que você fornece aqui deve ser diferente do nome da classe fornecido para CSE -Custom.

  • Escolha a criptografia em trânsito para ativar os recursos de TLS criptografia de código aberto para dados em trânsito. Escolha um tipo de provedor certificado em Certificate provider type (Tipo de provedor de certificados), de acordo com as seguintes diretrizes:

    • PEM

      Selecione essa opção para usar PEM os arquivos que você fornece em um arquivo zip. Dois artefatos são necessários no arquivo zip: privateKey .pem e .pem. certificateChain Um terceiro arquivo, trustedCertificates .pem, é opcional. Para mais detalhes, consulte Fornecendo certificados para criptografar dados em trânsito com a criptografia da Amazon EMR. Para o objeto S3, especifique a localização no Amazon S3, ou no Amazon ARN S3, do campo do arquivo zip.

    • Custom (Personalizado)

      Selecione essa opção para especificar um provedor de certificado personalizado e, em seguida, para o objeto S3, insira a localização no Amazon S3, ou no Amazon S3, do seu arquivo de provedor de certificado personalizado. ARN JAR Em Key provider class, insira o nome completo da classe declarada em seu aplicativo que implementa a TLSArtifactsProvider interface.

Especificando as opções de criptografia usando o AWS CLI

As seções a seguir usam exemplos de cenários para ilustrar o formato adequado --security-configuration JSON para diferentes configurações e provedores de chaves, seguidos por uma referência para os JSON parâmetros e valores apropriados.

Exemplo de opções de criptografia de dados em trânsito

O exemplo abaixo ilustra o seguinte cenário:

aws emr create-security-configuration --name "MySecConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": true, "EnableAtRestEncryption": false, "InTransitEncryptionConfiguration": { "TLSCertificateConfiguration": { "CertificateProviderType": "PEM", "S3Object": "s3://MyConfigStore/artifacts/MyCerts.zip" } } } }'

O exemplo abaixo ilustra o seguinte cenário:

aws emr create-security-configuration --name "MySecConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": true, "EnableAtRestEncryption": false, "InTransitEncryptionConfiguration": { "TLSCertificateConfiguration": { "CertificateProviderType": "Custom", "S3Object": "s3://MyConfig/artifacts/MyCerts.jar", "CertificateProviderClass": "com.mycompany.MyCertProvider" } } } }'

Exemplo de opções de criptografia de dados em repouso

O exemplo abaixo ilustra o seguinte cenário:

  • A criptografia de dados em trânsito está desabilitada, e a criptografia de dados em repouso está habilitada.

  • SSE-S3 é usado para criptografia Amazon S3.

  • A criptografia de disco local é usada AWS KMS como provedor de chaves.

aws emr create-security-configuration --name "MySecConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": false, "EnableAtRestEncryption": true, "AtRestEncryptionConfiguration": { "S3EncryptionConfiguration": { "EncryptionMode": "SSE-S3" }, "LocalDiskEncryptionConfiguration": { "EncryptionKeyProviderType": "AwsKms", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" } } } }'

O exemplo abaixo ilustra o seguinte cenário:

  • A criptografia de dados em trânsito está habilitada e faz referência a um arquivo zip com PEM certificados no Amazon S3, usando o. ARN

  • SSE- KMS é usado para criptografia do Amazon S3.

  • A criptografia de disco local é usada AWS KMS como provedor de chaves.

aws emr create-security-configuration --name "MySecConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": true, "EnableAtRestEncryption": true, "InTransitEncryptionConfiguration": { "TLSCertificateConfiguration": { "CertificateProviderType": "PEM", "S3Object": "arn:aws:s3:::MyConfigStore/artifacts/MyCerts.zip" } }, "AtRestEncryptionConfiguration": { "S3EncryptionConfiguration": { "EncryptionMode": "SSE-KMS", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" }, "LocalDiskEncryptionConfiguration": { "EncryptionKeyProviderType": "AwsKms", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" } } } }'

O exemplo abaixo ilustra o seguinte cenário:

  • A criptografia de dados em trânsito está habilitada e faz referência a um arquivo zip com PEM certificados no Amazon S3.

  • CSE- KMS é usado para criptografia do Amazon S3.

  • A criptografia de disco local usa um provedor de chave personalizado referenciado por itsARN.

aws emr create-security-configuration --name "MySecConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": true, "EnableAtRestEncryption": true, "InTransitEncryptionConfiguration": { "TLSCertificateConfiguration": { "CertificateProviderType": "PEM", "S3Object": "s3://MyConfigStore/artifacts/MyCerts.zip" } }, "AtRestEncryptionConfiguration": { "S3EncryptionConfiguration": { "EncryptionMode": "CSE-KMS", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" }, "LocalDiskEncryptionConfiguration": { "EncryptionKeyProviderType": "Custom", "S3Object": "arn:aws:s3:::artifacts/MyKeyProvider.jar", "EncryptionKeyProviderClass": "com.mycompany.MyKeyProvider" } } } }'

O exemplo abaixo ilustra o seguinte cenário:

  • A criptografia de dados em trânsito está habilitada com um provedor de chaves personalizado.

  • CSE-Custom é usado para dados do Amazon S3.

  • A criptografia do disco local usa um provedor de chaves personalizado.

aws emr create-security-configuration --name "MySecConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": "true", "EnableAtRestEncryption": "true", "InTransitEncryptionConfiguration": { "TLSCertificateConfiguration": { "CertificateProviderType": "Custom", "S3Object": "s3://MyConfig/artifacts/MyCerts.jar", "CertificateProviderClass": "com.mycompany.MyCertProvider" } }, "AtRestEncryptionConfiguration": { "S3EncryptionConfiguration": { "EncryptionMode": "CSE-Custom", "S3Object": "s3://MyConfig/artifacts/MyCerts.jar", "EncryptionKeyProviderClass": "com.mycompany.MyKeyProvider" }, "LocalDiskEncryptionConfiguration": { "EncryptionKeyProviderType": "Custom", "S3Object": "s3://MyConfig/artifacts/MyCerts.jar", "EncryptionKeyProviderClass": "com.mycompany.MyKeyProvider" } } } }'

O exemplo abaixo ilustra o seguinte cenário:

  • A criptografia de dados em trânsito está desabilitada, e a criptografia de dados em repouso está habilitada.

  • A criptografia do Amazon S3 está habilitada com SSE -. KMS

  • Várias AWS KMS chaves são usadas, uma por cada bucket do S3, e exceções de criptografia são aplicadas a esses buckets individuais do S3.

  • A criptografia do disco local está desabilitada.

aws emr create-security-configuration --name "MySecConfig" --security-configuration '{ "EncryptionConfiguration": { "AtRestEncryptionConfiguration": { "S3EncryptionConfiguration": { "EncryptionMode": "SSE-KMS", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012", "Overrides": [ { "BucketName": "sse-s3-bucket-name", "EncryptionMode": "SSE-S3" }, { "BucketName": "cse-kms-bucket-name", "EncryptionMode": "CSE-KMS", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" }, { "BucketName": "sse-kms-bucket-name", "EncryptionMode": "SSE-KMS", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" } ] } }, "EnableInTransitEncryption": false, "EnableAtRestEncryption": true } }'

O exemplo abaixo ilustra o seguinte cenário:

  • A criptografia de dados em trânsito está desabilitada, e a criptografia de dados em repouso está habilitada.

  • A criptografia do Amazon S3 está habilitada com SSE -S3 e a criptografia de disco local está desativada.

aws emr create-security-configuration --name "MyS3EncryptionConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": false, "EnableAtRestEncryption": true, "AtRestEncryptionConfiguration": { "S3EncryptionConfiguration": { "EncryptionMode": "SSE-S3" } } } }'

O exemplo abaixo ilustra o seguinte cenário:

  • A criptografia de dados em trânsito está desabilitada, e a criptografia de dados em repouso está habilitada.

  • A criptografia de disco local é ativada AWS KMS como provedor de chaves e a criptografia do Amazon S3 está desativada.

aws emr create-security-configuration --name "MyLocalDiskEncryptionConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": false, "EnableAtRestEncryption": true, "AtRestEncryptionConfiguration": { "LocalDiskEncryptionConfiguration": { "EncryptionKeyProviderType": "AwsKms", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" } } } }'

O exemplo abaixo ilustra o seguinte cenário:

  • A criptografia de dados em trânsito está desabilitada, e a criptografia de dados em repouso está habilitada.

  • A criptografia de disco local é ativada AWS KMS como provedor de chaves e a criptografia do Amazon S3 está desativada.

  • EBSa criptografia está ativada.

aws emr create-security-configuration --name "MyLocalDiskEncryptionConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": false, "EnableAtRestEncryption": true, "AtRestEncryptionConfiguration": { "LocalDiskEncryptionConfiguration": { "EnableEbsEncryption": true, "EncryptionKeyProviderType": "AwsKms", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" } } } }'

O exemplo abaixo ilustra o seguinte cenário:

SSE-EMR-WAL é usado para EMR WAL criptografia

aws emr create-security-configuration --name "MySecConfig" \ --security-configuration '{ "EncryptionConfiguration": { "EMRWALEncryptionConfiguration":{ }, "EnableInTransitEncryption":false, "EnableAtRestEncryption":false } }'

EnableInTransitEncryptione EnableAtRestEncryption ainda pode ser verdade, se quiser habilitar a criptografia relacionada.

O exemplo abaixo ilustra o seguinte cenário:

  • SSE-KMS-WAL é usado para EMR WAL criptografia

  • A criptografia do lado do servidor é usada AWS Key Management Service como provedor principal

aws emr create-security-configuration --name "MySecConfig" \ --security-configuration '{ "EncryptionConfiguration": { "EMRWALEncryptionConfiguration":{ "AwsKmsKey":"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" }, "EnableInTransitEncryption":false, "EnableAtRestEncryption":false } }'

EnableInTransitEncryptione EnableAtRestEncryption ainda pode ser verdade, se quiser habilitar a criptografia relacionada.

JSONreferência para configurações de criptografia

A tabela a seguir lista os JSON parâmetros das configurações de criptografia e fornece uma descrição dos valores aceitáveis para cada parâmetro.

Parâmetro Descrição
"EnableInTransitEncryption" : true | false Especifique true para habilitar a criptografia em trânsito e false para desabilitá-la. Se omitido, false é assumido, e a criptografia em trânsito é desabilitada.
"EnableAtRestEncryption": true | false Especifique true para habilitar a criptografia em repouso e false para desabilitá-la. Se omitido, false é assumido, e a criptografia em repouso é desabilitada.
Parâmetros de criptografia em trânsito
"InTransitEncryptionConfiguration" : Especifica uma coleção de valores usados para configurar a criptografia em trânsito quando EnableInTransitEncryption é true.
"CertificateProviderType": "PEM" | "Custom" Especifica se é necessário usar PEMcertificados referenciados com um arquivo compactado em zip ou um provedor de certificados Custom. Se PEM for especificado, S3Object deve ser uma referência à localização no Amazon S3 de um arquivo zip contendo os certificados. Se Personalizado for especificado, S3Object deve ser uma referência à localização de um JAR arquivo no Amazon S3, seguida por uma CertificateProviderClass entrada.
"S3Object" : "ZipLocation" | "JarLocation" Fornece a localização no Amazon S3 para um arquivo zip quando PEM especificado ou para um JAR arquivo quando Custom especificado. O formato pode ser um caminho (por exemplo,s3://MyConfig/artifacts/CertFiles.zip) ou um ARN (por exemplo,arn:aws:s3:::Code/MyCertProvider.jar). Se for especificado um arquivo zip, ele deverá conter arquivos exatamente denominados privateKey.pem e certificateChain.pem. Um arquivo denominado trustedCertificates.pem é opcional.
"CertificateProviderClass" : "MyClassID" Obrigatório somente se Custom for especificado paraCertificateProviderType. MyClassIDespecifica um nome de classe completo declarado no JAR arquivo, que implementa a TLSArtifactsProvider interface. Por exemplo, com.mycompany.MyCertProvider.
Parâmetros de criptografia em repouso
"AtRestEncryptionConfiguration" : Especifica uma coleção de valores para criptografia em repouso quando EnableAtRestEncryption estivertrue, incluindo criptografia Amazon S3 e criptografia de disco local.
Parâmetros de criptografia do Amazon S3
"S3EncryptionConfiguration" : Especifica uma coleção de valores usados para a criptografia do Amazon S3 com o EMR Amazon File System EMRFS ().
"EncryptionMode": "SSE-S3" | "SSE-KMS" | "CSE-KMS" | "CSE-Custom" Especifica o tipo de criptografia do Amazon S3 a ser usada. Se SSE-S3 for especificado, nenhum valor adicional de criptografia do Amazon S3 será necessário. Se um SSE-KMS ou CSE-KMS for especificado, an AWS KMS key ARN deverá ser especificado como o AwsKmsKey valor. Se CSE-Custom for especificado, os valores S3Object e EncryptionKeyProviderClass deverão ser especificados.
"AwsKmsKey" : "MyKeyARN" Obrigatório somente quando um SSE-KMS ou CSE-KMS está especificado paraEncryptionMode. MyKeyARNdeve ser totalmente especificado ARN para uma chave (por exemplo,arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012).
"S3Object" : "JarLocation" Obrigatório somente quando CSE-Custom é especificado paraCertificateProviderType. JarLocationfornece a localização no Amazon S3 para um JAR arquivo. O formato pode ser um caminho (por exemplo,s3://MyConfig/artifacts/MyKeyProvider.jar) ou um ARN (por exemplo,arn:aws:s3:::Code/MyKeyProvider.jar).
"EncryptionKeyProviderClass" : "MyS3KeyClassID" Obrigatório somente quando CSE-Custom é especificado paraEncryptionMode. MyS3KeyClassIDespecifica o nome completo de uma classe declarada no aplicativo que implementa a EncryptionMaterialsProvider interface; por exemplo,. com.mycompany.MyS3KeyProvider
Parâmetros de criptografia do disco local
"LocalDiskEncryptionConfiguration" Especifica o provedor de chaves e os valores correspondentes a serem usados para criptografia do disco local.
"EnableEbsEncryption": true | false Especifique true para ativar a EBS criptografia. EBSa criptografia criptografa o volume do dispositivo EBS raiz e os volumes de armazenamento conectados. Para usar a EBS criptografia, você deve especificar AwsKms como seuEncryptionKeyProviderType.
"EncryptionKeyProviderType": "AwsKms" | "Custom" Especifica o provedor de chaves. Se AwsKms for especificado, uma KMS chave ARN deverá ser especificada como AwsKmsKey valor. Se Custom for especificado, os valores S3Object e EncryptionKeyProviderClass deverão ser especificados.
"AwsKmsKey : "MyKeyARN" Obrigatório somente quando AwsKms é especificado paraType. MyKeyARNdeve ser totalmente especificado ARN para uma chave (por exemplo,arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-456789012123).
"S3Object" : "JarLocation" Obrigatório somente quando CSE-Custom é especificado paraCertificateProviderType. JarLocationfornece a localização no Amazon S3 para um JAR arquivo. O formato pode ser um caminho (por exemplo,s3://MyConfig/artifacts/MyKeyProvider.jar) ou um ARN (por exemplo,arn:aws:s3:::Code/MyKeyProvider.jar).

"EncryptionKeyProviderClass" : "MyLocalDiskKeyClassID"

Obrigatório somente quando Custom é especificado paraType. MyLocalDiskKeyClassIDespecifica o nome completo de uma classe declarada no aplicativo que implementa a EncryptionMaterialsProvider interface; por exemplo,. com.mycompany.MyLocalDiskKeyProvider
EMRWALparâmetros de criptografia
"EMRWALEncryptionConfiguration" Especifica o valor da EMR WAL criptografia.
"AwsKmsKey" Especifica a ID da CMK chave Arn.

Configurar a autenticação Kerberos

Uma configuração de segurança com definições Kerberos só pode ser usada por um cluster criado com atributos Kerberos, ou ocorrerá um erro. Para obter mais informações, consulte Use o Kerberos para autenticação com a Amazon EMR. O Kerberos só está disponível na EMR versão 5.10.0 e posterior da Amazon.

Especificar configurações do Kerberos usando o console

Escolha opções em Kerberos authentication (Autenticação Kerberos) de acordo com as diretrizes a seguir.

Parâmetro Descrição

Kerberos

Especifica que o Kerberos está habilitado em clusters que usam essa configuração de segurança. Ao usar essa configuração de segurança, o cluster também deverá ter configurações Kerberos especificadas ou ocorrerá um erro.

Provedor

Dedicado ao cluster KDC

Especifica que a Amazon EMR cria um KDC no nó primário de qualquer cluster que usa essa configuração de segurança. Você especifica o nome do território e a senha KDC do administrador ao criar o cluster.

Você pode referenciar isso KDC em outros clusters, se necessário. Crie esses clusters usando uma configuração de segurança diferente, especifique uma externa KDC e use o nome do território e a senha de KDC administrador que você especifica para o cluster KDC dedicado.

Externo KDC

Disponível somente com o Amazon EMR 5.20.0 e versões posteriores. Especifica que os clusters que usam essa configuração de segurança autentiquem os principais do Kerberos usando um KDC servidor fora do cluster. A não KDC é criado no cluster. Ao criar o cluster, você especifica o nome do território e a senha KDC do administrador para o externoKDC.

Vida útil do tíquete

Opcional. Especifica o período durante o qual um tíquete Kerberos emitido pelo KDC é válido em clusters que usam essa configuração de segurança.

Os ciclos de vida do tíquete são limitados por motivos de segurança. As aplicações e os serviços de cluster renovarão automaticamente os tíquetes quando perderem a validade. Os usuários que se conectam ao cluster SSH usando as credenciais do Kerberos precisam executar a kinit partir da linha de comando do nó primário para renovar após a expiração de um ticket.

Relação de confiança entre realms

Especifica uma relação de confiança entre regiões entre um cluster dedicado KDC em clusters que usam essa configuração de segurança e um em uma KDC região Kerberos diferente.

As entidades principais (normalmente usuários) de outro realm são autenticados em clusters que usam essa configuração. É necessário ter configuração adicional no outro realm do Kerberos. Para obter mais informações, consulte Tutorial: configurar uma relação de confiança entre realms com um controlador de domínio do Active Directory.

Propriedades de confiança entre realms

Realm

Especifica o nome de realm Kerberos de outro realm na relação de confiança. Por convenção, os nomes de realm do Kerberos são iguais ao nome do domínio, mas em letras maiúsculas.

Domínio

Especifica o nome de domínio de outro realm na relação de confiança.

Servidor do administrador

Especifica o nome de domínio totalmente qualificado (FQDN) ou o endereço IP do servidor administrativo no outro domínio da relação de confiança. O servidor administrativo e o KDC servidor normalmente são executados na mesma máquina com a mesmaFQDN, mas se comunicam em portas diferentes.

Se nenhuma porta especificada, a porta 749 será usada, que é o padrão do Kerberos. Opcionalmente, você pode especificar a porta (por exemplo, domain.example.com:749).

KDCservidor

Especifica o nome de domínio totalmente qualificado (FQDN) ou endereço IP do KDC servidor no outro domínio da relação de confiança. O KDC servidor e o servidor de administração normalmente são executados na mesma máquina com a mesma portaFQDN, mas usam portas diferentes.

Se nenhuma porta especificada, a porta 88 será usada, que é o padrão do Kerberos. Opcionalmente, você pode especificar a porta (por exemplo, domain.example.com:88).

Externo KDC

Especifica que clusters externos KDC sejam usados pelo cluster.

KDCPropriedades externas

Servidor do administrador

Especifica o nome de domínio totalmente qualificado (FQDN) ou o endereço IP do servidor administrativo externo. O servidor administrativo e o KDC servidor normalmente são executados na mesma máquina com a mesmaFQDN, mas se comunicam em portas diferentes.

Se nenhuma porta especificada, a porta 749 será usada, que é o padrão do Kerberos. Opcionalmente, você pode especificar a porta (por exemplo, domain.example.com:749).

KDCservidor

Especifica o nome de domínio totalmente qualificado (FQDN) do KDC servidor externo. O KDC servidor e o servidor de administração normalmente são executados na mesma máquina com a mesma portaFQDN, mas usam portas diferentes.

Se nenhuma porta especificada, a porta 88 será usada, que é o padrão do Kerberos. Opcionalmente, você pode especificar a porta (por exemplo, domain.example.com:88).

Integração do Active Directory

Especifica que a autenticação da entidade principal do Kerberos está integrada a um domínio do Microsoft Active Directory.

Propriedades de integração do Active Directory

Realm do Active Directory

Especifica o nome do realm do Kerberos do domínio do Active Directory. Por convenção, os nomes de realm do Kerberos geralmente são iguais ao nome do domínio, mas em letras maiúsculas.

Domínio do Active Directory

Especifica o nome de domínio do Active Directory.

Servidor do Active Directory

Especifica o nome de domínio totalmente qualificado (FQDN) do controlador de domínio do Microsoft Active Directory.

Especificando as configurações do Kerberos usando o AWS CLI

A tabela de referência a seguir mostra JSON os parâmetros das configurações do Kerberos em uma configuração de segurança. Para exemplos de configuração, consulte Exemplos de configuração.

Parâmetro Descrição

"AuthenticationConfiguration": {

Obrigatório para o Kerberos. Especifica que uma configuração de autenticação faz parte dessa configuração de segurança.

"KerberosConfiguration": {

Obrigatório para o Kerberos. Especifica as propriedades de configuração do Kerberos.

"Provider": "ClusterDedicatedKdc",

ou

"Provider: "ExternalKdc",

ClusterDedicatedKdcespecifica que a Amazon EMR cria um KDC no nó primário de qualquer cluster que usa essa configuração de segurança. Você especifica o nome do território e a senha KDC do administrador ao criar o cluster. Você pode referenciar isso KDC em outros clusters, se necessário. Crie esses clusters usando uma configuração de segurança diferente, especifique uma externa KDC e use o nome do território e a senha de KDC administrador que você especificou ao criar o cluster com o cluster KDC dedicado.

ExternalKdcespecifica que o cluster usa um externoKDC. EMRA Amazon não cria um KDC no nó primário. Um cluster que usa essa configuração de segurança deve especificar o nome do território e a senha de KDC administrador do externoKDC.

"ClusterDedicatedKdcConfiguration": {

Obrigatório quando ClusterDedicatedKdc for especificado.

"TicketLifetimeInHours": 24,

Opcional. Especifica o período durante o qual um tíquete Kerberos emitido pelo KDC é válido em clusters que usam essa configuração de segurança.

Os ciclos de vida do tíquete são limitados por motivos de segurança. As aplicações e os serviços de cluster renovarão automaticamente os tíquetes quando perderem a validade. Os usuários que se conectam ao cluster SSH usando as credenciais do Kerberos precisam executar a kinit partir da linha de comando do nó primário para renovar após a expiração de um ticket.

"CrossRealmTrustConfiguration": {

Especifica uma relação de confiança entre regiões entre um cluster dedicado KDC em clusters que usam essa configuração de segurança e um em uma KDC região Kerberos diferente.

As entidades principais (normalmente usuários) de outro realm são autenticados em clusters que usam essa configuração. É necessário ter configuração adicional no outro realm do Kerberos. Para obter mais informações, consulte Tutorial: configurar uma relação de confiança entre realms com um controlador de domínio do Active Directory.

"Realm": "KDC2.COM",

Especifica o nome de realm Kerberos de outro realm na relação de confiança. Por convenção, os nomes de realm do Kerberos são iguais ao nome do domínio, mas em letras maiúsculas.

"Domain": "kdc2.com",

Especifica o nome de domínio de outro realm na relação de confiança.

"AdminServer": "kdc.com:749",

Especifica o nome de domínio totalmente qualificado (FQDN) ou o endereço IP do servidor administrativo no outro domínio da relação de confiança. O servidor administrativo e o KDC servidor normalmente são executados na mesma máquina com a mesmaFQDN, mas se comunicam em portas diferentes.

Se nenhuma porta especificada, a porta 749 será usada, que é o padrão do Kerberos. Opcionalmente, você pode especificar a porta (por exemplo, domain.example.com:749).

"KdcServer": "kdc.com:88"

Especifica o nome de domínio totalmente qualificado (FQDN) ou endereço IP do KDC servidor no outro domínio da relação de confiança. O KDC servidor e o servidor de administração normalmente são executados na mesma máquina com a mesma portaFQDN, mas usam portas diferentes.

Se nenhuma porta especificada, a porta 88 será usada, que é o padrão do Kerberos. Opcionalmente, você pode especificar a porta (por exemplo, domain.example.com:88).

}

}

"ExternalKdcConfiguration": {

Obrigatório quando ExternalKdc for especificado.

"TicketLifetimeInHours": 24,

Opcional. Especifica o período durante o qual um tíquete Kerberos emitido pelo KDC é válido em clusters que usam essa configuração de segurança.

Os ciclos de vida do tíquete são limitados por motivos de segurança. As aplicações e os serviços de cluster renovarão automaticamente os tíquetes quando perderem a validade. Os usuários que se conectam ao cluster SSH usando as credenciais do Kerberos precisam executar a kinit partir da linha de comando do nó primário para renovar após a expiração de um ticket.

"KdcServerType": "Single",

Especifica que um único KDC servidor é referenciado. Singleatualmente é o único valor suportado.

"AdminServer": "kdc.com:749",

Especifica o nome de domínio totalmente qualificado (FQDN) ou o endereço IP do servidor administrativo externo. O servidor administrativo e o KDC servidor normalmente são executados na mesma máquina com a mesmaFQDN, mas se comunicam em portas diferentes.

Se nenhuma porta especificada, a porta 749 será usada, que é o padrão do Kerberos. Opcionalmente, você pode especificar a porta (por exemplo, domain.example.com:749).

"KdcServer": "kdc.com:88",

Especifica o nome de domínio totalmente qualificado (FQDN) do KDC servidor externo. O KDC servidor e o servidor de administração normalmente são executados na mesma máquina com a mesma portaFQDN, mas usam portas diferentes.

Se nenhuma porta especificada, a porta 88 será usada, que é o padrão do Kerberos. Opcionalmente, você pode especificar a porta (por exemplo, domain.example.com:88).

"AdIntegrationConfiguration": {

Especifica que a autenticação da entidade principal do Kerberos está integrada a um domínio do Microsoft Active Directory.

"AdRealm": "AD.DOMAIN.COM",

Especifica o nome do realm do Kerberos do domínio do Active Directory. Por convenção, os nomes de realm do Kerberos geralmente são iguais ao nome do domínio, mas em letras maiúsculas.

"AdDomain": "ad.domain.com"

Especifica o nome de domínio do Active Directory.

"AdServer": "ad.domain.com"

Especifica o nome de domínio totalmente qualificado (FQDN) do controlador de domínio do Microsoft Active Directory.

}

}

}

}

Configurar IAM funções para EMRFS solicitações ao Amazon S3

IAMAs funções para EMRFS permitem que você forneça permissões diferentes aos EMRFS dados no Amazon S3. Você cria mapeamentos que especificam uma IAM função usada para permissões quando uma solicitação de acesso contém um identificador que você especifica. O identificador pode ser um usuário ou um perfil do Hadoop ou um prefixo do Amazon S3.

Para obter mais informações, consulte Configurar IAM funções para EMRFS solicitações ao Amazon S3.

Especificando IAM funções para EMRFS usar o AWS CLI

Veja a seguir um exemplo de JSON trecho para especificar IAM funções personalizadas EMRFS em uma configuração de segurança. Ele demonstra mapeamentos de perfil para os três tipos diferentes de identificadores, seguidos por uma referência de parâmetro.

{ "AuthorizationConfiguration": { "EmrFsConfiguration": { "RoleMappings": [{ "Role": "arn:aws:iam::123456789101:role/allow_EMRFS_access_for_user1", "IdentifierType": "User", "Identifiers": [ "user1" ] },{ "Role": "arn:aws:iam::123456789101:role/allow_EMRFS_access_to_MyBuckets", "IdentifierType": "Prefix", "Identifiers": [ "s3://MyBucket/","s3://MyOtherBucket/" ] },{ "Role": "arn:aws:iam::123456789101:role/allow_EMRFS_access_for_AdminGroup", "IdentifierType": "Group", "Identifiers": [ "AdminGroup" ] }] } } }
Parâmetro Descrição

"AuthorizationConfiguration":

Obrigatório.

"EmrFsConfiguration":

Obrigatório. Contém mapeamentos de perfil.

  "RoleMappings":

Obrigatório. Contém uma ou mais definições de mapeamento de perfil. Os mapeamentos de perfil são avaliados na ordem em que aparecem, de cima para baixo. Se um mapeamento de função for avaliado como verdadeiro para uma EMRFS chamada de dados no Amazon S3, nenhum outro mapeamento de função será avaliado EMRFS e usará a função IAM especificada para a solicitação. O mapeamento de perfil tem os seguintes parâmetros obrigatórios:

   "Role":

Especifica o ARN identificador de uma IAM função no formatoarn:aws:iam::account-id:role/role-name. Essa é a IAM função que a Amazon EMR assume se a EMRFS solicitação para o Amazon S3 corresponder a qualquer uma das Identifiers especificadas.

   "IdentifierType":

Pode ser um dos seguintes:

  • "User" especifica que os identificadores são um ou mais usuários do Hadoop, que podem ser usuários de contas Linux ou entidades principais do Kerberos. Quando a EMRFS solicitação se origina com o usuário ou usuários especificados, a IAM função é assumida.

  • "Prefix" especifica que o identificador é um local do Amazon S3. A IAM função é assumida para chamadas para o local ou locais com os prefixos especificados. Por exemplo, o prefixo s3://mybucket/ corresponde a s3://mybucket/mydir e s3://mybucket/yetanotherdir.

  • "Group" especifica que os identificadores são um ou mais grupos do Hadoop. A IAM função é assumida se a solicitação for originada de um usuário no grupo ou grupos especificados.

   "Identifiers":

Especifica um ou mais identificadores do tipo de identificador adequado. Separe múltiplos identificadores por vírgulas sem espaços.

Configurar solicitações de serviço de metadados para instâncias da Amazon EC2

Os metadados da instância são dados sobre sua instância que é possível usar para configurar ou gerenciar a instância em execução. É possível acessar metadados de instância em uma instância em execução usando um dos seguintes métodos:

  • Instance Metadata Service versão 1 (IMDSv1) — um método de solicitação/resposta

  • Instance Metadata Service versão 2 (IMDSv2) — um método orientado a sessões

Enquanto a Amazon EC2 oferece suporte a ambos IMDSv1 eIMDSv2, a Amazon EMR oferece suporte IMDSv2 no Amazon EMR 5.23.1, 5.27.1, 5.32 ou posterior e 6.2 ou posterior. Nessas versões, EMR os componentes da Amazon são usados IMDSv2 para todas as IMDS chamadas. Para IMDS chamadas no código do seu aplicativo, você pode usar ambos IMDSv1 eIMDSv2, ou configurar o IMDS para uso somente IMDSv2 para aumentar a segurança. Quando você especifica que IMDSv2 deve ser usado, IMDSv1 não funciona mais.

Para obter mais informações, consulte Configurar o serviço de metadados da instância no Guia do EC2 usuário da Amazon.

nota

Nas versões anteriores do Amazon EMR 5.x ou 6.x, a desativação IMDSv1 causa falha na inicialização do cluster, pois os EMR componentes da Amazon são usados IMDSv1 para todas as IMDS chamadas. Ao desligarIMDSv1, certifique-se de que qualquer software personalizado utilizado IMDSv1 esteja atualizado para o. IMDSv2

Especificar a configuração do serviço de metadados da instância usando a AWS CLI

Veja a seguir um exemplo de JSON trecho para especificar o serviço de metadados de instância EC2 da Amazon IMDS () em uma configuração de segurança. Usar uma configuração de segurança personalizada é opcional.

{ "InstanceMetadataServiceConfiguration" : { "MinimumInstanceMetadataServiceVersion": integer, "HttpPutResponseHopLimit": integer } }
Parâmetro Descrição

"InstanceMetadataServiceConfiguration":

Se você não especificar IMDS em uma configuração de segurança e usar uma EMR versão da Amazon que exijaIMDSv1, a Amazon usará IMDSv1 como EMR padrão a versão mínima do serviço de metadados de instância. Se você quiser usar sua própria configuração, os dois parâmetros a seguir são necessários.

"MinimumInstanceMetadataServiceVersion":

Obrigatório. Especifique 1 ou 2. Um valor 1 de IMDSv1 permissões IMDSv2 e. Um valor de 2 somente permissõesIMDSv2.

"HttpPutResponseHopLimit":

Obrigatório. O limite de salto de HTTP PUT resposta desejado para solicitações de metadados da instância. Quanto maior o número, mais as solicitações de metadados de instância podem viajar. Padrão: 1. Especifique um número inteiro de 1 a 64.

Especificar a configuração do serviço de metadados da instância usando o console

Você pode configurar o uso de IMDS para um cluster ao iniciá-lo no EMR console da Amazon.

Para configurar o IMDS uso do console:
  1. Ao criar uma nova configuração de segurança na página Configurações de segurança, selecione Configurar serviço de metadados de EC2 instância na configuração Serviço de metadados de EC2 instância. Essa configuração é suportada somente no Amazon EMR 5.23.1, 5.27.1, 5.32 ou posterior e 6.2 ou posterior.

  2. Na opção Versão mínima do serviço de metadados de instância, selecione:

  3. ParaIMDSv2, você também pode configurar o número permitido de saltos de rede para o token de metadados definindo o limite de salto de resposta HTTP put como um número inteiro entre e. 1 64

Para obter mais informações, consulte Configurar o serviço de metadados da instância no Guia do EC2 usuário da Amazon.

Consulte Configurar detalhes da instância e Configurar o serviço de metadados da instância no Guia do EC2 usuário da Amazon.