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á.
Crie uma configuração de segurança com o console do Amazon EMR ou com o AWS CLI
Este tópico aborda os procedimentos gerais para criar uma configuração de segurança com o console do Amazon EMR e o AWS CLI, seguido por uma referência para os parâmetros que incluem criptografia, autenticação e funções do IAM para o EMRFS. 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
Abra o console do Amazon EMR em https://console.aws.amazon.com/emr
. -
No painel de navegação, escolha Security Configurations (Configurações de segurança), Create security configuration (Criar configuração de segurança).
-
Digite um nome em Name (Nome) para a configuração de segurança.
-
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-configurationconforme 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. -
Para
, especifique uma estrutura JSON em linha ou o caminho para um arquivo JSON local, comoSecConfigDef. Os parâmetros JSON definem opções de Criptografia, Perfis do IAM para acesso do EMRFS ao Amazon S3 e Autenticação conforme descrito nas seções abaixo.file://MySecConfig.json
aws emr create-security-configuration --name "SecConfigName" --security-configurationSecConfigDef -
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 obter mais informações, consulte Fornecimento de chaves para criptografia de dados em repouso e Fornecer certificados para criptografia de dados em trânsito com a criptografia do 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 com EMRFS e a criptografia de disco local. In-transitas opções de criptografia habilitam os recursos de criptografia de código aberto para determinados aplicativos que oferecem suporte ao Transport Layer Security (TLS). At-rest opções e opções em trânsito podem ser ativadas juntas ou separadamente. Para obter mais informações, consulte Criptografia de dados em repouso e em trânsito com o Amazon EMR.
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 AWS KMS Preço
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, para Modo de criptografia, escolha um valor para determinar como o Amazon EMR criptografa dados do Amazon S3 com o EMRFS.
O que fazer em seguida depende do modo de criptografia escolhido:
-
SSE-S3
Especifica a Server-sidecriptografia com as chaves de S3-managed criptografia da Amazon. Você não precisa fazer mais nada, pois o Amazon S3 manipula as chaves para você.
-
SSE-KMS ou CSE-KMS
Especifica a criptografia do lado do servidor com chaves AWS KMS gerenciadas (SSE-KMS) ou criptografia do lado do cliente com chaves gerenciadas (). AWS KMS CSE-KMS Em AWS KMS key, selecione uma chave. A chave deve existir na mesma região que o seu cluster do EMR. Para conhecer os requisitos de chaves, consulte Usando AWS KMS keys para criptografia.
-
CSE-Custom
Especifica a criptografia do lado do cliente usando uma chave raiz personalizada do lado do cliente (). CSE-custom Em Objeto do S3, insira o local no Amazon S3, ou o ARN do Amazon S3, do arquivo JAR de provedor de chaves personalizado. Em seguida, em Key provider class, insira o nome completo da classe declarada em seu aplicativo que implementa a EncryptionMaterialsProvider interface.
-
-
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 que o seu cluster do EMR. Para obter mais informações sobre requisitos de chaves, consulte Usando AWS KMS keys para criptografia.
Criptografia do EBS
Ao especificar AWS KMS como seu provedor de chaves, você pode ativar a criptografia do EBS para criptografar o dispositivo raiz e os volumes de armazenamento do EBS. Para habilitar essa opção, você deve conceder ao perfil de serviço do Amazon EMR
EMR_DefaultRolepermissões para usar a AWS KMS key especificada. Para obter mais informações sobre requisitos de chaves, consulte Habilitar a criptografia do EBS fornecendo permissões adicionais para chaves do KMS. -
Personalizado
Selecione essa opção para especificar um provedor de chaves personalizado. Em Objeto do S3, insira o local no Amazon S3, ou o ARN do Amazon S3, do arquivo JAR de provedor de chaves personalizado. 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 CSE-Custom.
-
-
Escolha a In-transit criptografia para ativar os recursos de criptografia TLS 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:
-
EMR-managed
Selecione essa opção para que o Amazon EMR crie e armazene certificados privados para você. Ao selecionar essa opção, o Amazon EMR carregará o PEM-encoded certificado da autoridade de certificação criada AWS Secrets Manager em sua conta para você usar em suas lojas fiduciárias. Opcionalmente, você pode configurar a chave KMS e as tags usadas para esse segredo. Você também pode especificar opcionalmente uma duração de validade personalizada para os certificados criados e um sufixo curinga personalizado para o certificado SAN, além do curinga DNS privado padrão (*.ec2.internal em us-east-1 e *).
region.compute.internal em todas as outras regiões). -
PEM
Selecione essa opção para usar arquivos PEM que você fornece dentro de um arquivo zip. Dois artefatos são necessários no arquivo zip: privado Key.pem e certificadoChain.pem. Um terceiro arquivo, confiávelCertificates.pem, é opcional. Para mais detalhes, consulte Fornecer certificados para criptografia de dados em trânsito com a criptografia do Amazon EMR. Em Objeto do S3, especifique o local no Amazon S3, ou o ARN do Amazon S3, do campo do arquivo zip.
-
Personalizado
Selecione essa opção para especificar um provedor de certificados personalizado. Em Objeto do S3, insira o local do Amazon S3, ou o ARN do Amazon S3, do seu arquivo JAR de provedor de certificados personalizado. 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 os exemplos de cenários para ilustrar um JSON --security-configuration bem-formado para configurações e provedores de chaves diferentes, seguido de uma referência dos parâmetros JSON e valores apropriados.
Exemplo de opções de criptografia de dados em trânsito
O exemplo abaixo ilustra o seguinte cenário:
-
In-transit a criptografia de dados está ativada e a criptografia de dados em repouso está desativada.
-
O Amazon EMR criará e gerenciará certificados privados para você, com um curinga confiando no sufixo DNS privado do EC2 para a região. O ARN do segredo criado é adicionado ao CACertificateSecretARN campo visível na resposta da API describe-security-configuration.
aws emr create-security-configuration --name "MySecConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": true, "EnableAtRestEncryption": false, "InTransitEncryptionConfiguration": { "TLSCertificateConfiguration": { "CertificateProviderType": "EMR" } } } }'
O exemplo abaixo ilustra o seguinte cenário:
-
In-transit a criptografia de dados é habilitada com EMR-managed certificados da Amazon, especificando uma chave KMS do cliente e tags para criação de segredos e adicionando o sufixo DNS público do EC2 para a região à lista SAN dos certificados criados. O certificado CA gerado expirará em 30 dias. Nesse momento, a configuração de segurança precisará ser excluída e recriada para continuar sendo usada.
aws emr create-security-configuration --name "MySecConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": true, "EnableAtRestEncryption": false, "InTransitEncryptionConfiguration": { "TLSCertificateConfiguration": { "CertificateProviderType": "EMR", "AwsKmsKey": "arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012", "SecretTags": [{"Key": "cluster-type", "Value": "test"}], "WildcardDnsSuffix": "us-east-2.compute.amazonaws.com", "ValidityInDays": 30 } } } }'
O exemplo abaixo ilustra o seguinte cenário:
-
In-transit a criptografia de dados está ativada e a criptografia de dados em repouso está desativada.
-
Um arquivo zip com certificados no Amazon S3 é usado como o provedor de chaves (consulte Fornecer certificados para criptografia de dados em trânsito com a criptografia do Amazon EMR para conhecer os requisitos de certificados).
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:
-
In-transit a criptografia de dados está ativada e a criptografia de dados em repouso está desativada.
-
Um provedor de chaves personalizado é usado (consulte Fornecer certificados para criptografia de dados em trânsito com a criptografia do Amazon EMR para conhecer os requisitos de certificados).
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:
-
In-transit a criptografia de dados está desativada e a criptografia de dados em repouso está ativada.
-
SSE-S3 é 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": 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:
-
In-transit a criptografia de dados está ativada e faz referência a um arquivo zip com certificados PEM 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:
-
In-transit a criptografia de dados é habilitada com EMR-managed certificados da Amazon, especificando uma chave KMS do cliente e tags para criação de segredos e adicionando
*.mydomain.comà lista SAN dos certificados criados. -
CSE-KMS é usado para criptografia do Amazon S3.
-
A criptografia do disco local usa um provedor de chaves personalizado referenciado por seu ARN.
aws emr create-security-configuration --name "MySecConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": true, "EnableAtRestEncryption": true, "InTransitEncryptionConfiguration": { "TLSCertificateConfiguration": { "CertificateProviderType": "EMR", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012", "SecretTags": [{"Key": "cluster-type", "Value": "test"}], "WildcardDnsSuffix": "mydomain.com" } }, "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:
-
In-transit a criptografia de dados é ativada 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:
-
In-transit a criptografia de dados está desativada e a criptografia de dados em repouso está ativada.
-
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": "amzn-s3-demo-bucket1", "EncryptionMode": "SSE-S3" }, { "BucketName": "amzn-s3-demo-bucket2", "EncryptionMode": "CSE-KMS", "AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012" }, { "BucketName": "amzn-s3-demo-bucket3", "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:
-
In-transit a criptografia de dados está desativada e a criptografia de dados em repouso está ativada.
-
A criptografia do Amazon S3 está habilitada 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:
-
In-transit a criptografia de dados está desativada e a criptografia de dados em repouso está ativada.
-
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:
-
In-transit a criptografia de dados está desativada e a criptografia de dados em repouso está ativada.
-
A criptografia de disco local é ativada AWS KMS como provedor de chaves e a criptografia do Amazon S3 está desativada.
-
A criptografia do EBS está habilitada.
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 criptografia EMR WAL
aws emr create-security-configuration --name "MySecConfig" \ --security-configuration '{ "EncryptionConfiguration": { "EMRWALEncryptionConfiguration":{ }, "EnableInTransitEncryption":false, "EnableAtRestEncryption":false } }'
EnableInTransitEncryption e EnableAtRestEncryption ainda podem ser verdadeiros, se quiser habilitar a criptografia relacionada.
O exemplo abaixo ilustra o seguinte cenário:
SSE-KMS-WAL é usado para criptografia EMR WAL
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 } }'
EnableInTransitEncryption e EnableAtRestEncryption ainda podem ser verdadeiros, se quiser habilitar a criptografia relacionada.
Referência JSON para configurações de criptografia
A tabela a seguir lista os parâmetros JSON para configurações de criptografia e fornece uma descrição dos valores aceitáveis para cada parâmetro.
| Parâmetro | Description |
|---|---|
"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. |
| In-transit parâmetros de criptografia | |
"InTransitEncryptionConfiguration" : |
Especifica uma coleção de valores usados para configurar a criptografia em trânsito quando EnableInTransitEncryption é true. |
"CertificateProviderType": "EMR" |
"PEM" |
"Custom" |
Especifica se devem ser usados certificados EMR criados e gerenciados, PEM certificados referenciados com um arquivo compactado 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 Custom for especificado, S3Object deve ser uma referência à localização no Amazon S3 de um arquivo JAR, seguida por uma CertificateProviderClass entrada. |
"S3Object" :
" |
" |
Fornece a localização no Amazon S3 para um arquivo zip quando PEM especificado ou para um arquivo JAR 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" :
" |
Obrigatório somente se Custom for especificado paraCertificateProviderType. especifica um nome de classe completo declarado no arquivo JAR, que implementa a TLSArtifactsProvider interface. Por exemplo, .com.mycompany.MyCertProvider |
"AwsKmsKey" :
" |
Opcional, somente se EMR for especificado paraCertificateProviderType. Uma chave gerenciada pelo cliente para carregar o certificado CA criado para. AWS Secrets Managerdeve ser um ARN totalmente especificado para uma chave (por exemplo,arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-456789012123). |
"SecretTags" :
[{"Key":"mykey","Value":"myvalue"}] |
Opcional, somente se EMR for especificado paraCertificateProviderType. Tags a serem adicionadas ao certificado CA criado em AWS Secrets Manager. Para incluir esse campo, o chamador deve ter secretsmanager:TagResource permissões. |
"ValidityInDays" :
|
Opcional, somente se EMR for especificado paraCertificateProviderType. Por quantos dias os certificados criados serão válidos, a partir da data de criação da configuração de segurança. Se não for especificado, o padrão é 20 anos. |
"WildcardDnsSuffix" :
"mydomain.com" |
Opcional, somente se EMR for especificado paraCertificateProviderType. Um domínio a ser adicionado com um prefixo curinga à lista SAN dos certificados criados. Independentemente de isso ser especificado ou não, o certificado sempre será incluído *.ec2.internal em us-east-1 *. e em todas as outras regiões. |
| At-rest parâmetros de criptografia | |
"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 Amazon EMR 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, um 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" :
" |
Necessário apenas quando SSE-KMS ou CSE-KMS é especificado para EncryptionMode. deve ser um ARN totalmente especificado para uma chave (por exemplo, arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012). |
"S3Object" :
" |
Obrigatório somente quando CSE-Custom é especificado paraCertificateProviderType. fornece a localização no Amazon S3 para um arquivo JAR. 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" :
" |
Obrigatório somente quando CSE-Custom é especificado paraEncryptionMode. especifica o nome completo de uma classe declarada no aplicativo que implementa a EncryptionMaterialsProvider interface; por exemplo,. |
| 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": |
Especifique true para ativar a criptografia do EBS. A criptografia do EBS criptografa o volume do dispositivo raiz do EBS e os volumes de armazenamento conectados. Para usar a criptografia EBS, você deve especificar AwsKms como seuEncryptionKeyProviderType. |
"EncryptionKeyProviderType": "AwsKms" |
"Custom" |
Especifica o provedor de chaves. Se AwsKms for especificado, um ARN da chave KMS deverá ser especificado como AwsKmsKey o valor. Se Custom for especificado, os valores S3Object e EncryptionKeyProviderClass deverão ser especificados. |
"AwsKmsKey :
" |
Obrigatório somente quando AwsKms é especificado paraType. deve ser um ARN totalmente especificado para uma chave (por exemplo,arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-456789012123). |
"S3Object" :
" |
Obrigatório somente quando CSE-Custom é especificado paraCertificateProviderType. fornece a localização no Amazon S3 para um arquivo JAR. O formato pode ser um caminho (por exemplo, s3://MyConfig/artifacts/MyKeyProvider.jar) ou um ARN (por exemplo, arn:aws:s3:::Code/MyKeyProvider.jar)). |
|
|
Obrigatório somente quando Custom é especificado paraType. especifica o nome completo de uma classe declarada no aplicativo que implementa a EncryptionMaterialsProvider interface; por exemplo,. |
| Parâmetros de criptografia do EMR WAL | |
"EMRWALEncryptionConfiguration"
|
Especifica o valor da criptografia EMR WAL. |
"AwsKmsKey"
|
Especifica a ID da chave CMK 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 Usar o Kerberos para autenticação com o Amazon EMR. O Kerberos somente está disponível no Amazon EMR 5.10.0 e versões posteriores.
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 | Description | ||
|---|---|---|---|
|
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 |
Cluster-dedicated KDC |
Especifica que o Amazon EMR criará um KDC no nó primário de qualquer cluster que usar essa configuração de segurança. Você especifica o nome do realm e a senha de administrador do KDC ao criar o cluster. Você pode referenciar esse KDC por outros clusters, se necessário. Crie esses clusters usando outra configuração de segurança, especifique um KDC externo e use o nome do território e a senha de administrador do KDC que você especificar para o KDC dedicado ao cluster. |
|
|
KDC externo |
Disponível apenas no Amazon EMR 5.20.0 e versões posteriores. Especifica que os clusters que usam essa configuração de segurança autenticarão as entidades principais do Kerberos usando um servidor do KDC fora do cluster. O KDC não é criado no cluster. Ao criar o cluster, especifique o nome do realm e a senha de administrador do KDC para o KDC externo. |
||
|
Vida útil do tíquete |
Opcional. Especifica o período de validade de um tíquete do Kerberos emitido pelo KDC 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 via SSH usando credenciais do Kerberos precisam executar |
||
|
Cross-realm confiança |
Especifica uma relação de confiança entre regiões entre um KDC dedicado ao cluster em clusters que usam essa configuração de segurança e um KDC em outro realm do Kerberos. 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. |
||
| Cross-realm propriedades de confiança |
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 endereço IP do servidor de administrador no outro realm da relação de confiança. O servidor de administração e o servidor de KDC normalmente são executados na mesma máquina com o mesmo FQDN, mas se comunicam por diferentes portas. Se nenhuma porta especificada, a porta 749 será usada, que é o padrão do Kerberos. Opcionalmente, você pode especificar a porta (por exemplo, |
||
|
Servidor do KDC |
Especifica o nome de domínio totalmente qualificado (FQDN) ou endereço IP do servidor do KDC no outro realm da relação de confiança. O servidor de KDC e o servidor de administração normalmente são executados na mesma máquina com o mesmo FQDN, mas usam diferentes portas. Se nenhuma porta especificada, a porta 88 será usada, que é o padrão do Kerberos. Opcionalmente, você pode especificar a porta (por exemplo, |
||
|
KDC externo |
Especifica que o KDC externo do cluster será usado pelo cluster. |
||
| Propriedades do KDC externo |
Servidor do administrador |
Especifica o nome de domínio totalmente qualificado (FQDN) ou o endereço IP do servidor do administrador externo. O servidor de administração e o servidor de KDC normalmente são executados na mesma máquina com o mesmo FQDN, mas se comunicam por diferentes portas. Se nenhuma porta especificada, a porta 749 será usada, que é o padrão do Kerberos. Opcionalmente, você pode especificar a porta (por exemplo, |
|
|
Servidor do KDC |
Especifica o nome de domínio totalmente qualificado (FQDN) do servidor do KDC externo. O servidor de KDC e o servidor de administração normalmente são executados na mesma máquina com o mesmo FQDN, mas usam diferentes portas. Se nenhuma porta especificada, a porta 88 será usada, que é o padrão do Kerberos. Opcionalmente, você pode especificar a porta (por exemplo, |
||
|
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 os parâmetros JSON para configurações do Kerberos em uma configuração de segurança. Para exemplos de configuração, consulte Exemplos de configuração.
| Parâmetro | Description | |||||
|---|---|---|---|---|---|---|
|
|
Obrigatório para o Kerberos. Especifica que uma configuração de autenticação faz parte dessa configuração de segurança. |
|||||
|
|
Obrigatório para o Kerberos. Especifica as propriedades de configuração do Kerberos. |
||||
|
|
|
||||
"ClusterDedicatedKdcConfiguration": { |
Obrigatório quando |
|||||
|
Opcional. Especifica o período de validade de um tíquete do Kerberos emitido pelo KDC 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 via SSH usando credenciais do Kerberos precisam executar |
|||||
|
|
Especifica uma relação de confiança entre regiões entre um KDC dedicado ao cluster em clusters que usam essa configuração de segurança e um KDC em outro realm do Kerberos. 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. |
|||||
|
|
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. |
|||||
|
|
Especifica o nome de domínio de outro realm na relação de confiança. |
|||||
|
|
Especifica o nome de domínio totalmente qualificado (FQDN) ou endereço IP do servidor de administrador no outro realm da relação de confiança. O servidor de administração e o servidor de KDC normalmente são executados na mesma máquina com o mesmo FQDN, mas se comunicam por diferentes portas. Se nenhuma porta especificada, a porta 749 será usada, que é o padrão do Kerberos. Opcionalmente, você pode especificar a porta (por exemplo, |
|||||
|
|
Especifica o nome de domínio totalmente qualificado (FQDN) ou endereço IP do servidor do KDC no outro realm da relação de confiança. O servidor de KDC e o servidor de administração normalmente são executados na mesma máquina com o mesmo FQDN, mas usam diferentes portas. Se nenhuma porta especificada, a porta 88 será usada, que é o padrão do Kerberos. Opcionalmente, você pode especificar a porta (por exemplo, |
|||||
|
|
||||||
|
|
||||||
|
"ExternalKdcConfiguration": { |
Obrigatório quando |
|||||
|
Opcional. Especifica o período de validade de um tíquete do Kerberos emitido pelo KDC 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 via SSH usando credenciais do Kerberos precisam executar |
|||||
|
Especifica que um único servidor do KDC é referenciado. |
|||||
|
"AdminServer": " |
Especifica o nome de domínio totalmente qualificado (FQDN) ou o endereço IP do servidor do administrador externo. O servidor de administração e o servidor de KDC normalmente são executados na mesma máquina com o mesmo FQDN, mas se comunicam por diferentes portas. Se nenhuma porta especificada, a porta 749 será usada, que é o padrão do Kerberos. Opcionalmente, você pode especificar a porta (por exemplo, |
|||||
|
"KdcServer": " |
Especifica o nome de domínio totalmente qualificado (FQDN) do servidor do KDC externo. O servidor de KDC e o servidor de administração normalmente são executados na mesma máquina com o mesmo FQDN, mas usam diferentes portas. Se nenhuma porta especificada, a porta 88 será usada, que é o padrão do Kerberos. Opcionalmente, você pode especificar a porta (por exemplo, |
|||||
|
|
Especifica que a autenticação da entidade principal do Kerberos está integrada a um domínio do Microsoft 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. |
||||
|
|
Especifica o nome de domínio do Active Directory. |
|||||
|
|
Especifica o nome de domínio totalmente qualificado (FQDN) do controlador de domínio do Microsoft Active Directory. |
|||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Configurar perfis do IAM para solicitações do EMRFS para o Amazon S3
Os perfis do IAM para EMRFS permitem que você forneça diferentes permissões para os dados do EMRFS no Amazon S3. Você cria mapeamentos que especificam um perfil do IAM que é usado para permissões quando uma solicitação de acesso contém um identificador especificado. 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 perfis do IAM para solicitações do EMRFS para o Amazon S3.
Especificando funções do IAM para o EMRFS usando o AWS CLI
Veja a seguir um exemplo de trecho JSON para especificar perfis do IAM personalizados para o 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_demo_s3_buckets", "IdentifierType": "Prefix", "Identifiers": [ "s3://amzn-s3-demo-bucket1/","s3://amzn-s3-demo-bucket2/" ] },{ "Role": "arn:aws:iam::123456789101:role/allow_EMRFS_access_for_AdminGroup", "IdentifierType": "Group", "Identifiers": [ "AdminGroup" ] }] } } }
| Parâmetro | Description |
|---|---|
|
|
Obrigatório. |
|
|
Obrigatório. Contém mapeamentos de perfil. |
|
|
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 o mapeamento de perfil for avaliado como true para uma chamada do EMRFS para dados no Amazon S3, nenhum outro mapeamento de perfil será avaliado, e o EMRFS usará o perfil do IAM especificado para a solicitação. O mapeamento de perfil tem os seguintes parâmetros obrigatórios: |
|
Especifica o identificador ARN de um perfil do IAM no formato |
|
Pode ser um dos seguintes:
|
|
|
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 do 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 Version 1 (IMDSv1) — um método request/response
-
Serviço de metadados da instância versão 2 (IMDSv2): um método orientado a sessões
Enquanto o Amazon EC2 oferece suporte ao IMDSv1 e ao IMDSv2, o Amazon EMR oferece suporte ao IMDSv2 no Amazon EMR 5.23.1, 5.27.1, 5.32 ou versões posteriores e 6.2 ou versões posteriores. Nessas versões, os componentes do Amazon EMR usam o IMDSv2 em todas as chamadas do IMDS. Para chamadas do IMDS no código da aplicação, você pode usar IMDSv1 e IMDSv2 ou configurar o IMDS para usar somente IMDSv2 para segurança adicional. Quando você especifica que o IMDSv2 deve ser usado, o IMDSv1 não funciona mais.
Para obter mais informações, consulte Configurar serviço de metadados de instância no Guia do usuário do Amazon EC2.
nota
Nas versões anteriores do Amazon EMR 5.x ou 6.x, desativar o IMDSv1 causará falha na inicialização do cluster, pois os componentes do Amazon EMR usam o IMDSv1 em todas as chamadas do IMDS. Ao desativar o IMDSv1, verifique se todos os softwares personalizados que utilizam o IMDSv1 estão atualizados para o IMDSv2.
Especificando a configuração do serviço de metadados da instância usando o AWS CLI
Veja a seguir um exemplo de trecho do JSON para especificar o serviço de metadados de instância (IMDS) do Amazon EC2 em uma configuração de segurança. O uso de uma configuração de segurança personalizada é opcional.
{ "InstanceMetadataServiceConfiguration" : { "MinimumInstanceMetadataServiceVersion": integer, "HttpPutResponseHopLimit": integer } }
| Parâmetro | Description |
|---|---|
|
|
Se você não especificar o IMDS em uma configuração de segurança e usar uma versão do Amazon EMR que exija o IMDSv1, o Amazon EMR usará como padrão o IMDSv1 como a versão mínima do serviço de metadados da instância. Se quiser usar sua própria configuração, os dois parâmetros a seguir serão obrigatórios. |
|
|
Obrigatório. Especifique |
|
|
Obrigatório. O limite de salto de resposta HTTP PUT desejado para solicitações de metadados de instância. Quanto maior o número, mais as solicitações de metadados de instância podem viajar. Padrão: |
Especificar a configuração do serviço de metadados da instância usando o console
É possível configurar o uso do IMDS para um cluster ao iniciá-lo no console do Amazon EMR.
Para configurar o uso do IMDS usando o console:
-
Ao criar uma nova configuração de segurança na página Configurações de segurança, selecione Configurar serviço de metadados de instância do EC2 na configuração Serviço de metadados de instância do EC2. Essa configuração é compatível somente com o Amazon EMR 5.23.1, 5.27.1, 5.32 ou posteriores e 6.2 ou posteriores.
-
Na opção Versão mínima do serviço de metadados de instância, selecione:
-
Desativar o IMDSv1 e permitir somente o IMDSv2, se quiser permitir somente o IMDSv2 no cluster. Consulte Transition to using instance metadata service version 2 no Guia do usuário do Amazon EC2.
-
Permitir o IMDSv1 e o IMDSv2 no cluster, se quiser permitir o IMDSv1 e o IMDSv2 orientado por sessão no cluster.
-
-
Para IMDSv2, também é possível 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 de
1a64.
Para obter mais informações, consulte Configurar serviço de metadados de instância no Guia do usuário do Amazon EC2.
Consulte Configure instance details e Configure the instance metadata service no Guia do usuário do Amazon EC2.