Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Cree una configuración de seguridad con la consola Amazon EMR o con AWS CLI
En este tema se describen los procedimientos generales para crear una configuración de seguridad con la consola de Amazon EMR y la AWS CLI, seguido de una referencia sobre los parámetros que comprenden las funciones de cifrado, autenticación e IAM para EMRFS. Para obtener más información sobre estas características, consulte los siguientes temas:
Creación de una configuración de seguridad utilizando la consola
Abra la consola de Amazon EMR en https://console.aws.amazon.com/emr
. -
En el panel de navegación, elija Security Configurations (Configuraciones de seguridad), Create security configuration (Crear configuración de seguridad).
-
Escriba un nombre para la configuración de seguridad en el campo Name (Nombre).
-
Elija opciones de Cifrado y Autenticación, tal y como se describe en las secciones siguientes y, a continuación, elija Crear.
Para crear una configuración de seguridad mediante el AWS CLI
-
Utilice el comando
create-security-configuration, tal y como se muestra en el ejemplo siguiente.-
Para
SecConfigName, especifique el nombre de la configuración de seguridad. Este es el nombre que especifica cuando crea un clúster que usa esta configuración de seguridad. -
En
, especifique una estructura JSON en línea o la ruta a un archivo JSON local, como por ejemplo,SecConfigDef. Los parámetros de JSON definen opciones de Cifrado, Roles de IAM para el acceso de EMRFS a Amazon S3 y Autenticación, tal como se describe en las secciones siguientes.file://MySecConfig.json
aws emr create-security-configuration --name "SecConfigName" --security-configurationSecConfigDef -
Configuración del cifrado de datos
Antes de configurar el cifrado en una configuración de seguridad, cree las claves y los certificados que se utilizan para el cifrado. Para obtener más información, consulte Proporcionar claves para cifrado de datos en reposo y Proporcionar certificados para el cifrado de datos en tránsito con el cifrado de Amazon EMR.
Al crear una configuración de seguridad, debe especificar dos conjuntos de opciones de cifrado: cifrado de datos en reposo y cifrado de datos en tránsito. Las opciones para el cifrado de datos en reposo incluyen Amazon S3 con EMRFS y el cifrado de disco local. In-transitlas opciones de cifrado habilitan las funciones de cifrado de código abierto para determinadas aplicaciones compatibles con Transport Layer Security (TLS). At-rest las opciones y las opciones en tránsito se pueden habilitar juntas o por separado. Para obtener más información, consulte Cifrar datos en reposo y en tránsito con Amazon EMR.
nota
Al utilizarlas AWS KMS, se cobran cargos por el almacenamiento y el uso de las claves de cifrado. Para obtener más información, consulte AWS KMS Precios
Especificación de las opciones de cifrado con la consola
Elija opciones en Encryption (Cifrado) de acuerdo con las siguientes directrices.
-
Elija las opciones en At rest encryption (Cifrado en reposo) para cifrar los datos almacenados en el sistema de archivos.
Puede elegir cifrar datos en Amazon S3, discos locales o ambas opciones.
-
En Cifrado de datos de S3, para Modo de cifrado, seleccione un valor para determinar cómo Amazon EMR cifra los datos de Amazon S3 con EMRFS.
Lo que haga a continuación depende del modo de cifrado que haya elegido:
-
SSE-S3
Especifica el Server-sidecifrado con las claves S3-managed de cifrado de Amazon. No necesita hacer nada más, ya que Amazon S3 se encarga de gestionar las claves.
-
SSE-KMS o CSE-KMS
Especifica el cifrado del lado del servidor con claves AWS KMS administradas (SSE-KMS) o el cifrado del lado del cliente con AWS KMS claves administradas (). CSE-KMS En AWS KMS key, seleccione una clave. La clave debe existir en la misma región que su clúster de EMR. Para los requisitos de clave, consulte Utilización AWS KMS keys para el cifrado.
-
CSE-Custom
Especifica el cifrado del lado del cliente mediante una clave raíz personalizada del lado del cliente (). CSE-custom En Objeto de S3, especifique la ubicación en Amazon S3 o el ARN de Amazon S3 del archivo JAR del proveedor de claves personalizadas. A continuación, en Clase de proveedor de claves, introduzca el nombre completo de la clase declarada en la aplicación que implementa la interfaz. EncryptionMaterialsProvider
-
-
En Local disk encryption (Cifrado de disco local), seleccione un valor para Key provider type (Tipo de proveedor de clave).
-
AWS KMS key
Seleccione esta opción para especificar una AWS KMS key. En AWS KMS key, seleccione una clave. La clave debe existir en la misma región que su clúster de EMR. Para obtener más información sobre los requisitos de claves, consulte Utilización AWS KMS keys para el cifrado.
Cifrado de EBS
Si lo especifica AWS KMS como proveedor de claves, puede habilitar el cifrado de EBS para cifrar los volúmenes de almacenamiento y los dispositivos raíz de EBS. Para habilitar esta opción, debe conceder el rol de servicio de Amazon EMR
EMR_DefaultRolecon permisos para utilizar la AWS KMS key que especifique. Para obtener más información sobre los requisitos de claves, consulte Habilitación del cifrado de EBS proporcionando permisos adicionales para las claves de KMS. -
Personalizada
Seleccione esta opción para especificar un proveedor de claves personalizadas. En Objeto de S3, especifique la ubicación en Amazon S3 o el ARN de Amazon S3 del archivo JAR del proveedor de claves personalizadas. En Clase de proveedor de claves, introduzca el nombre completo de la clase declarada en la aplicación que implementa la interfaz. EncryptionMaterialsProvider El nombre de clase que proporcione aquí debe ser diferente del nombre de clase indicado CSE-Custom.
-
-
Elija el In-transit cifrado para habilitar las funciones de cifrado TLS de código abierto para los datos en tránsito. Elija un Certificate provider type (Tipo de proveedor de certificados) de acuerdo con las directrices siguientes:
-
EMR-managed
Seleccione esta opción para que Amazon EMR cree y almacene certificados privados por usted. Al seleccionar esta opción, Amazon EMR cargará el PEM-encoded certificado de la autoridad de certificación creada AWS Secrets Manager en tu cuenta para que lo utilices en tus almacenes de confianza. Si lo desea, puede configurar la clave y las etiquetas de KMS utilizadas para este secreto. Si lo desea, también puede especificar una duración de validez personalizada para los certificados creados y un sufijo comodín personalizado para la SAN del certificado, además del comodín DNS privado predeterminado (*.ec2.internal en us-east-1 y *).
region.compute.internal en todas las demás regiones). -
PEM
Seleccione esta opción para utilizar los archivos PEM que proporcione dentro de un archivo zip. Se requieren dos artefactos en el archivo zip: privado y certificado. Key.pem Chain.pem Un tercer archivo, de confianzaCertificates.pem, es opcional. Para obtener más información, consulte Proporcionar certificados para el cifrado de datos en tránsito con el cifrado de Amazon EMR. En Objeto de S3, especifique la ubicación en Amazon S3 o el ARN de Amazon S3 del campo del archivo ZIP.
-
Personalizada
Seleccione esta opción para especificar un proveedor de certificados personalizado y, a continuación, en Objeto de S3, especifique la ubicación en Amazon S3 o el ARN de Amazon S3 del archivo JAR del proveedor de certificados personalizado. En Clase de proveedor de claves, introduzca el nombre completo de la clase declarada en la aplicación que implementa la TLSArtifactsProvider interfaz.
-
Para especificar las opciones de cifrado mediante el AWS CLI
Las secciones que aparecen a continuación utilizan escenarios de ejemplo para ilustrar una estructura JSON --security-configuration con el formato correcto para diferentes configuraciones y proveedores de claves, así como una referencia para los parámetros JSON y sus valores adecuados.
Opciones de cifrado de datos en tránsito de ejemplo
El ejemplo siguiente ilustra el supuesto siguiente:
-
In-transit el cifrado de datos está activado y el cifrado de datos en reposo está desactivado.
-
Amazon EMR creará y gestionará los certificados privados por usted, con un comodín que se basará en el sufijo de DNS privado de EC2 de la región. El ARN del secreto creado se agrega al CACertificateSecretARN campo visible en la respuesta de la API describe-security-configuration.
aws emr create-security-configuration --name "MySecConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": true, "EnableAtRestEncryption": false, "InTransitEncryptionConfiguration": { "TLSCertificateConfiguration": { "CertificateProviderType": "EMR" } } } }'
El ejemplo siguiente ilustra el supuesto siguiente:
-
In-transit el cifrado de datos se habilita con EMR-managed los certificados de Amazon, especificando una clave KMS y etiquetas del cliente para la creación de secretos y añadiendo el sufijo DNS público de EC2 para la región a la lista SAN de los certificados creados. El certificado de CA generado caducará en 30 días, momento en el que será necesario eliminar la configuración de seguridad y volver a crearla para poder seguir utilizándola.
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 } } } }'
El ejemplo siguiente ilustra el supuesto siguiente:
-
In-transit el cifrado de datos está activado y el cifrado de datos en reposo está desactivado.
-
Un archivo ZIP con certificados en Amazon S3 se utiliza como proveedor de claves (consulte Proporcionar certificados para el cifrado de datos en tránsito con el cifrado de Amazon EMR para conocer los requisitos de los 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" } } } }'
El ejemplo siguiente ilustra el supuesto siguiente:
-
In-transit el cifrado de datos está activado y el cifrado de datos en reposo está desactivado.
-
Se utiliza un proveedor de claves personalizadas (consulte Proporcionar certificados para el cifrado de datos en tránsito con el cifrado de Amazon EMR para requisitos de certificado).
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" } } } }'
Opciones de cifrado de datos en reposo de ejemplo
El ejemplo siguiente ilustra el supuesto siguiente:
-
In-transit el cifrado de datos está desactivado y el cifrado de datos en reposo está activado.
-
SSE-S3 se utiliza para el cifrado de Amazon S3.
-
El cifrado del disco local AWS KMS se utiliza como proveedor de claves.
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" } } } }'
El ejemplo siguiente ilustra el supuesto siguiente:
-
In-transit el cifrado de datos está activado y hace referencia a un archivo zip con certificados PEM en Amazon S3, mediante el ARN.
-
SSE-KMS se utiliza para el cifrado de Amazon S3.
-
El cifrado del disco local AWS KMS se utiliza como proveedor de claves.
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" } } } }'
El ejemplo siguiente ilustra el supuesto siguiente:
-
In-transit el cifrado de datos se habilita con EMR-managed los certificados de Amazon, especificando una clave KMS y etiquetas del cliente para la creación de secretos y añadiéndolas
*.mydomain.coma la lista SAN de los certificados creados. -
CSE-KMS se utiliza para el cifrado de Amazon S3.
-
El cifrado en disco local utiliza un proveedor de claves personalizadas al que hace referencia su 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" } } } }'
El ejemplo siguiente ilustra el supuesto siguiente:
-
In-transit el cifrado de datos está habilitado con un proveedor de claves personalizadas.
-
CSE-Custom se utiliza para los datos de Amazon S3.
-
El cifrado de disco local utiliza un proveedor de claves personalizadas.
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" } } } }'
El ejemplo siguiente ilustra el supuesto siguiente:
-
In-transit el cifrado de datos está desactivado y el cifrado de datos en reposo está activado.
-
El cifrado de Amazon S3 está habilitado con SSE-KMS.
-
Se utilizan varias AWS KMS claves, una por cada depósito de S3, y se aplican excepciones de cifrado a estos depósitos de S3 individuales.
-
El cifrado de disco local se ha deshabilitado.
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 } }'
El ejemplo siguiente ilustra el supuesto siguiente:
-
In-transit el cifrado de datos está desactivado y el cifrado de datos en reposo está activado.
-
El cifrado de Amazon S3 está habilitado SSE-S3 y el cifrado de disco local está deshabilitado.
aws emr create-security-configuration --name "MyS3EncryptionConfig" --security-configuration '{ "EncryptionConfiguration": { "EnableInTransitEncryption": false, "EnableAtRestEncryption": true, "AtRestEncryptionConfiguration": { "S3EncryptionConfiguration": { "EncryptionMode": "SSE-S3" } } } }'
El ejemplo siguiente ilustra el supuesto siguiente:
-
In-transit el cifrado de datos está desactivado y el cifrado de datos en reposo está activado.
-
El cifrado del disco local está habilitado AWS KMS como proveedor de claves y el cifrado de Amazon S3 está deshabilitado.
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" } } } }'
El ejemplo siguiente ilustra el supuesto siguiente:
-
In-transit el cifrado de datos está desactivado y el cifrado de datos en reposo está activado.
-
El cifrado del disco local está habilitado AWS KMS como proveedor de claves y el cifrado de Amazon S3 está deshabilitado.
-
El cifrado de la EBS está habilitado.
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" } } } }'
El ejemplo siguiente ilustra el supuesto siguiente:
SSE-EMR-WAL se utiliza para el cifrado EMR WAL
aws emr create-security-configuration --name "MySecConfig" \ --security-configuration '{ "EncryptionConfiguration": { "EMRWALEncryptionConfiguration":{ }, "EnableInTransitEncryption":false, "EnableAtRestEncryption":false } }'
EnableInTransitEncryption y EnableAtRestEncryption aún podrían ser verdaderos, si desea habilitar el cifrado relacionado.
El ejemplo siguiente ilustra el supuesto siguiente:
SSE-KMS-WAL se utiliza para el cifrado EMR WAL
El cifrado del lado del servidor AWS Key Management Service se utiliza como proveedor de claves
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 y EnableAtRestEncryption aún podrían ser verdaderos, si desea habilitar el cifrado relacionado.
Referencia de JSON para la configuración de cifrado
En la siguiente tabla se muestran los parámetros JSON de configuración de cifrado y se ofrece una descripción de valores aceptados para cada parámetro.
| Parámetro | Description (Descripción) |
|---|---|
"EnableInTransitEncryption" :
true | false |
Especifique true para habilitar el cifrado en tránsito y false para deshabilitarlo. Si se omite, se supone el valor false y el cifrado en tránsito está deshabilitado. |
"EnableAtRestEncryption": true |
false |
Especifique true para habilitar el cifrado en reposo y false para deshabilitarlo. Si se omite, se supone el valor false y el cifrado en reposo está deshabilitado. |
| In-transit parámetros de cifrado | |
"InTransitEncryptionConfiguration" : |
Especifica un conjunto de valores que se utiliza para configurar el cifrado en tránsito cuando EnableInTransitEncryption es true. |
"CertificateProviderType": "EMR" |
"PEM" |
"Custom" |
Especifica si se van a utilizar certificados EMR creados y gestionados, PEM certificados a los que se hace referencia en un archivo comprimido o un proveedor de Custom certificados. Si PEM se especifica, S3Object debe ser una referencia a la ubicación en Amazon S3 de un archivo zip que contenga los certificados. Si Custom se especifica, S3Object debe ser una referencia a la ubicación en Amazon S3 de un archivo JAR, seguida de una CertificateProviderClass entrada. |
"S3Object" :
" |
" |
Proporciona la ubicación en Amazon S3 a un archivo zip cuando PEM se especifica o a un archivo JAR cuando Custom se especifica. El formato puede ser una ruta (por ejemplo, s3://MyConfig/artifacts/CertFiles.zip) o un ARN (por ejemplo, arn:aws:s3:::Code/MyCertProvider.jar). Si se especifica un archivo zip, debe contener archivos denominados exactamente privateKey.pem y certificateChain.pem. Un archivo denominado trustedCertificates.pem es opcional. |
"CertificateProviderClass" :
" |
Necesario solo si Custom se especifica paraCertificateProviderType. especifica un nombre de clase completo declarado en el archivo JAR, que implementa la TLSArtifactsProvider interfaz. Por ejemplo, com.mycompany.MyCertProvider. |
"AwsKmsKey" :
" |
Opcional, solo si EMR se especifica paraCertificateProviderType. Una clave administrada por el cliente para cargar el certificado de CA creado. AWS Secrets Managerdebe ser un ARN completamente especificado para una clave (por ejemplo,arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-456789012123). |
"SecretTags" :
[{"Key":"mykey","Value":"myvalue"}] |
Opcional, solo si EMR se especifica paraCertificateProviderType. Etiquetas para añadir al certificado de CA creado AWS Secrets Manager. Para incluir este campo, la persona que llama debe tener secretsmanager:TagResource permisos. |
"ValidityInDays" :
|
Opcional, solo si EMR está especificado paraCertificateProviderType. Durante cuántos días serán válidos los certificados creados, a partir de la fecha de creación de la configuración de seguridad. Si no se especifica, el valor predeterminado es de 20 años. |
"WildcardDnsSuffix" :
"mydomain.com" |
Opcional, solo si EMR se especifica paraCertificateProviderType. Un dominio para agregar con un prefijo comodín a la lista de certificados creados de la SAN. Se especifique o no, el certificado siempre se incluirá *.ec2.internal en us-east-1 *. y en todas las demás regiones. |
| At-rest parámetros de cifrado | |
"AtRestEncryptionConfiguration" : |
Especifica un conjunto de valores para el cifrado en reposo cuando EnableAtRestEncryption estátrue, incluido el cifrado de Amazon S3 y el cifrado de disco local. |
| Parámetros de cifrado de Amazon S3 | |
"S3EncryptionConfiguration" : |
Especifica un conjunto de valores utilizados para el cifrado de Amazon S3 con el sistema de archivos EMR de Amazon (EMRFS). |
"EncryptionMode": "SSE-S3" |
"SSE-KMS" | "CSE-KMS" |
"CSE-Custom" |
Especifica el tipo de cifrado de Amazon S3 que se va a utilizar. Si SSE-S3 se especifica, no se requieren más valores de cifrado de Amazon S3. Si CSE-KMS se especifica uno SSE-KMS o, se debe especificar un AWS KMS key ARN como valor. AwsKmsKey Si se especifica CSE-Custom, se deben especificar los valores S3Object y EncryptionKeyProviderClass. |
"AwsKmsKey" :
" |
Necesario solo cuando se especifica CSE-KMS o SSE-KMS para EncryptionMode. debe ser un ARN totalmente especificado para una clave (por ejemplo, arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012). |
"S3Object" :
" |
Se requiere solo cuando CSE-Custom se especifica paraCertificateProviderType. proporciona la ubicación en Amazon S3 a un archivo JAR. El formato puede ser una ruta (por ejemplo, s3://MyConfig/artifacts/MyKeyProvider.jar) o un ARN (por ejemplo, arn:aws:s3:::Code/MyKeyProvider.jar). |
"EncryptionKeyProviderClass" :
" |
Se requiere solo cuando CSE-Custom se especifica paraEncryptionMode. especifica el nombre completo de una clase declarada en la aplicación que implementa la EncryptionMaterialsProvider interfaz; por ejemplo,. |
| Parámetros de cifrado de disco local | |
"LocalDiskEncryptionConfiguration" |
Especifica el proveedor de claves y valores correspondientes que utilizar para el cifrado de disco local. |
"EnableEbsEncryption": |
Especifique si true desea habilitar el cifrado EBS. El cifrado de EBS cifra el volumen del dispositivo raíz de EBS y los volúmenes de almacenamiento adjuntos. Para utilizar el cifrado de EBS, debe especificarlo como su. AwsKms EncryptionKeyProviderType |
"EncryptionKeyProviderType": "AwsKms" |
"Custom" |
Especifica el proveedor de claves. Si AwsKms se especifica, se debe especificar un ARN de clave KMS como valor. AwsKmsKey Si se especifica Custom, se deben especificar los valores S3Object y EncryptionKeyProviderClass. |
"AwsKmsKey :
" |
Se requiere solo cuando AwsKms se especifica paraType. debe ser un ARN completamente especificado para una clave (por ejemplo,arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-456789012123). |
"S3Object" :
" |
Se requiere solo cuando CSE-Custom se especifica paraCertificateProviderType. proporciona la ubicación en Amazon S3 a un archivo JAR. El formato puede ser una ruta (por ejemplo, s3://MyConfig/artifacts/MyKeyProvider.jar) o un ARN (por ejemplo, arn:aws:s3:::Code/MyKeyProvider.jar). |
|
|
Se requiere solo cuando Custom se especifica paraType. especifica el nombre completo de una clase declarada en la aplicación que implementa la EncryptionMaterialsProvider interfaz; por ejemplo,. |
| Parámetros de cifrado EMR WAL | |
"EMRWALEncryptionConfiguration"
|
Especifica el valor del cifrado EMR WAL. |
"AwsKmsKey"
|
Especifica el ID de clave CMK Arn. |
Configuración de la autenticación de Kerberos
Una configuración de seguridad con la configuración de Kerberos solo se puede utilizar en un clúster que se crea con los atributos de Kerberos o si se produce un error. Para obtener más información, consulte Uso de Kerberos para la autenticación con Amazon EMR. Kerberos solo está disponible en la versión 5.10.0 y posteriores de Amazon EMR.
Especificación de la configuración de Kerberos con la consola
Elija opciones en Autenticación de Kerberos de acuerdo con las siguientes directrices.
| Parámetro | Description (Descripción) | ||
|---|---|---|---|
|
Kerberos |
Especifica que Kerberos está habilitado para los clústeres que utilizan esta configuración de seguridad. Si un clúster usa esta configuración de seguridad, también debe tener la configuración de Kerberos especificada o se producirá un error. |
||
|
Proveedor |
Cluster-dedicated KDC |
Especifica que Amazon EMR crea un KDC en el nodo principal de cualquier clúster que utilice esta configuración de seguridad. Al crear el clúster, debe especificar el nombre del dominio y la contraseña de administrador del KDC. Si es necesario, puede hacer referencia a este KDC desde otros clústeres. Cree esos clústeres con una configuración de seguridad diferente, especifique un KDC externo y utilice el nombre de dominio y la contraseña de administrador del KDC que especifique para el KDC dedicado al clúster. |
|
|
KDC externo |
Solo está disponible en la versión de Amazon EMR 5.20.0 y posteriores. Especifica que los clústeres que utilizan esta configuración de seguridad autentican las entidades principales de Kerberos mediante un servidor de KDC externo al clúster. No se crea un KDC en el clúster. Al crear el clúster, debe especificar el nombre de dominio y la contraseña de administrador del KDC para el KDC externo. |
||
|
Ciclo de vida del ticket |
Opcional. Especifica el período durante el que un ticket de Kerberos emitido por el KDC es válido en los clústeres que utilizan esta configuración de seguridad. El ciclo de vida de los tickets es limitado por motivos de seguridad. Las aplicaciones de clúster y los servicios renuevan automáticamente los tickets después de que expiren. Los usuarios que se conecten al clúster mediante SSH utilizando las credenciales de Kerberos tienen que ejecutar el comando |
||
|
Cross-realm confianza |
Especifica una relación de confianza entre ámbitos entre un KDC dedicado a un clúster en los clústeres que utilizan esta configuración de seguridad y un KDC situado en un ámbito de Kerberos diferente. Las entidades principales (normalmente los usuarios) de otro ámbito se autentican en los clústeres que utilizan esta configuración. Se requiere una configuración adicional en el otro ámbito de Kerberos. Para obtener más información, consulte Tutorial: Configuración de una relación de confianza entre ámbitos con un dominio de Active Directory. |
||
| Cross-realm propiedades de confianza |
Ámbito |
Especifica el nombre de ámbito de Kerberos del otro ámbito en la relación de confianza. Por convención, los nombres de ámbito de Kerberos son los mismos que los nombres de dominio, pero en mayúsculas. |
|
|
Dominio |
Especifica el nombre de dominio del otro ámbito en la relación de confianza. |
||
|
Servidor de administración |
Especifica el nombre de dominio completo (FQDN) o dirección IP del servidor de administración del otro ámbito de la relación de confianza. El servidor de administración y el servidor de KDC suelen ejecutarse en el mismo equipo con el mismo FQDN, pero utilizan puertos distintos para comunicarse. Si no se especifica ningún puerto, se usa el puerto predeterminado de Kerberos: el 749. También se puede especificar el puerto (por ejemplo, |
||
|
Servidor de KDC |
Especifica el nombre de dominio completo (FQDN) o dirección IP del servidor de KDC del otro ámbito de la relación de confianza. El servidor de KDC y el servidor de administración suelen ejecutarse en el mismo equipo con el mismo FQDN, pero utilizan puertos distintos. Si no se especifica ningún puerto, se usa el puerto predeterminado de Kerberos: el 88. También se puede especificar el puerto (por ejemplo, |
||
|
KDC externo |
Especifica que el clúster utiliza el KDC externo del clúster. |
||
| Propiedades de KDC externo |
Servidor de administración |
Especifica el nombre de dominio completo (FQDN) o la dirección IP del servidor de administración externo. El servidor de administración y el servidor de KDC suelen ejecutarse en el mismo equipo con el mismo FQDN, pero utilizan puertos distintos para comunicarse. Si no se especifica ningún puerto, se usa el puerto predeterminado de Kerberos: el 749. También se puede especificar el puerto (por ejemplo, |
|
|
Servidor de KDC |
Especifica el nombre de dominio completo (FQDN) del servidor de KDC externo. El servidor de KDC y el servidor de administración suelen ejecutarse en el mismo equipo con el mismo FQDN, pero utilizan puertos distintos. Si no se especifica ningún puerto, se usa el puerto predeterminado de Kerberos: el 88. También se puede especificar el puerto (por ejemplo, |
||
|
Integración de Active Directory |
Especifica que la autenticación de la entidad principal de Kerberos está integrada en un dominio de Microsoft Active Directory. |
||
|
Propiedades de la integración de Active Directory |
Ámbito de Active Directory |
Especifica el nombre de ámbito de Kerberos del dominio de Active Directory. Por convención, los nombres de ámbito de Kerberos suelen ser los mismos que los nombres de dominio, pero en mayúsculas. |
|
|
Dominio de Active Directory |
Especifica el nombre de dominio de Active Directory. |
||
|
Servidor de Active Directory |
Especifica el nombre de dominio completo (FQDN) del controlador de dominio de Microsoft Active Directory. |
||
Especificar la configuración de Kerberos mediante AWS CLI
En la siguiente tabla de referencia, se muestran los parámetros JSON para la configuración de Kerberos en una configuración de seguridad. Para ver configuraciones de ejemplo, consulte Ejemplos de configuraciones.
| Parámetro | Description (Descripción) | |||||
|---|---|---|---|---|---|---|
|
|
Obligatorio para Kerberos. Especifica que una configuración de autenticación forma parte de esta configuración de seguridad. |
|||||
|
|
Obligatorio para Kerberos. Especifica las propiedades de configuración de Kerberos. |
||||
|
|
|
||||
"ClusterDedicatedKdcConfiguration": { |
Es obligatorio cuando se especifica |
|||||
|
Opcional. Especifica el período durante el que un ticket de Kerberos emitido por el KDC es válido en los clústeres que utilizan esta configuración de seguridad. El ciclo de vida de los tickets es limitado por motivos de seguridad. Las aplicaciones de clúster y los servicios renuevan automáticamente los tickets después de que expiren. Los usuarios que se conecten al clúster mediante SSH utilizando las credenciales de Kerberos tienen que ejecutar el comando |
|||||
|
|
Especifica una relación de confianza entre ámbitos entre un KDC dedicado a un clúster en los clústeres que utilizan esta configuración de seguridad y un KDC situado en un ámbito de Kerberos diferente. Las entidades principales (normalmente los usuarios) de otro ámbito se autentican en los clústeres que utilizan esta configuración. Se requiere una configuración adicional en el otro ámbito de Kerberos. Para obtener más información, consulte Tutorial: Configuración de una relación de confianza entre ámbitos con un dominio de Active Directory. |
|||||
|
|
Especifica el nombre de ámbito de Kerberos del otro ámbito en la relación de confianza. Por convención, los nombres de ámbito de Kerberos son los mismos que los nombres de dominio, pero en mayúsculas. |
|||||
|
|
Especifica el nombre de dominio del otro ámbito en la relación de confianza. |
|||||
|
|
Especifica el nombre de dominio completo (FQDN) o dirección IP del servidor de administración del otro ámbito de la relación de confianza. El servidor de administración y el servidor de KDC suelen ejecutarse en el mismo equipo con el mismo FQDN, pero utilizan puertos distintos para comunicarse. Si no se especifica ningún puerto, se usa el puerto predeterminado de Kerberos: el 749. También se puede especificar el puerto (por ejemplo, |
|||||
|
|
Especifica el nombre de dominio completo (FQDN) o dirección IP del servidor de KDC del otro ámbito de la relación de confianza. El servidor de KDC y el servidor de administración suelen ejecutarse en el mismo equipo con el mismo FQDN, pero utilizan puertos distintos. Si no se especifica ningún puerto, se usa el puerto predeterminado de Kerberos: el 88. También se puede especificar el puerto (por ejemplo, |
|||||
|
|
||||||
|
|
||||||
|
"ExternalKdcConfiguration": { |
Es obligatorio cuando se especifica |
|||||
|
Opcional. Especifica el período durante el que un ticket de Kerberos emitido por el KDC es válido en los clústeres que utilizan esta configuración de seguridad. El ciclo de vida de los tickets es limitado por motivos de seguridad. Las aplicaciones de clúster y los servicios renuevan automáticamente los tickets después de que expiren. Los usuarios que se conecten al clúster mediante SSH utilizando las credenciales de Kerberos tienen que ejecutar el comando |
|||||
|
Especifica que se hace referencia a un único servidor de KDC. |
|||||
|
"AdminServer": " |
Especifica el nombre de dominio completo (FQDN) o la dirección IP del servidor de administración externo. El servidor de administración y el servidor de KDC suelen ejecutarse en el mismo equipo con el mismo FQDN, pero utilizan puertos distintos para comunicarse. Si no se especifica ningún puerto, se usa el puerto predeterminado de Kerberos: el 749. También se puede especificar el puerto (por ejemplo, |
|||||
|
"KdcServer": " |
Especifica el nombre de dominio completo (FQDN) del servidor de KDC externo. El servidor de KDC y el servidor de administración suelen ejecutarse en el mismo equipo con el mismo FQDN, pero utilizan puertos distintos. Si no se especifica ningún puerto, se usa el puerto predeterminado de Kerberos: el 88. También se puede especificar el puerto (por ejemplo, |
|||||
|
|
Especifica que la autenticación de la entidad principal de Kerberos está integrada en un dominio de Microsoft Active Directory. |
|||||
|
|
Especifica el nombre de ámbito de Kerberos del dominio de Active Directory. Por convención, los nombres de ámbito de Kerberos suelen ser los mismos que los nombres de dominio, pero en mayúsculas. |
||||
|
|
Especifica el nombre de dominio de Active Directory. |
|||||
|
|
Especifica el nombre de dominio completo (FQDN) del controlador de dominio de Microsoft Active Directory. |
|||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Configuración de roles de IAM para solicitudes de EMRFS a Amazon S3
Los roles de IAM para EMRFS le permiten proporcionar diferentes permisos a los datos de EMRFS en Amazon S3. Puede crear asignaciones que especifiquen un rol de IAM que se use para obtener permisos cuando una solicitud de acceso contenga un identificador que haya especificado. El identificador puede ser un usuario o un rol de Hadoop o un prefijo de Amazon S3.
Para obtener más información, consulte Configuración de roles de IAM para solicitudes de EMRFS a Amazon S3.
Especificar las funciones de IAM para EMRFS mediante AWS CLI
A continuación, se muestra un ejemplo de fragmento de JSON para especificar roles de IAM personalizados para EMRFS dentro de una configuración de seguridad. Muestra las asignaciones de roles para los tres tipos de identificadores diferentes, seguidas de una referencia de parámetros.
{ "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 (Descripción) |
|---|---|
|
|
Obligatorio. |
|
|
Obligatorio. Contiene asignaciones de roles. |
|
|
Obligatorio. Contiene una o más definiciones de asignación de roles. Las asignaciones de roles se evalúan de forma descendente por orden de aparición. Si una asignación de roles se evalúa como true en una invocación de datos de EMRFS en Amazon S3, no se evalúan más asignaciones de roles y EMRFS utiliza el rol de IAM especificado para la solicitud. Las asignaciones de roles tienen los siguientes parámetros obligatorios: |
|
Especifica el identificador de ARN de un rol de IAM en el formato |
|
Puede ser uno de los siguientes:
|
|
|
Especifica uno o más identificadores del tipo de identificador adecuado. Separe varios identificadores con comas sin espacios. |
Configuración de las solicitudes de servicios de metadatos a las instancias de Amazon EC2
Los metadatos de instancia son datos sobre una instancia que se pueden utilizar para configurar o administrar la instancia en ejecución. Para acceder a los metadatos de instancia desde una instancia en ejecución puede utilizar uno de los métodos siguientes:
-
Instance Metadata Service, versión 1 (IMDSv1): un método request/response
-
Servicio de metadatos de instancia, versión 2 (IMDSv2): un método orientado a la sesión
Si bien Amazon EC2 admite IMDSv1 e IMDSv2, Amazon EMR admite IMDSv2 en Amazon EMR 5.23.1, 5.27.1, 5.32 o versiones posteriores y 6.2 o versiones posteriores. En estas versiones, los componentes de Amazon EMR utilizan IMDSv2 para todas las llamadas al IMDS. Para las llamadas al IMDS en el código de la aplicación, puede utilizar IMDSv1 e IMDSv2, o configurar el IMDS para que utilice solo IMDSv2 para mayor seguridad. Si especifica que debe usarse IMDSv2, IMDSv1 dejará de funcionar.
Para obtener más información, consulte Configuración del servicio de metadatos de instancia en la Guía del usuario de Amazon EC2.
nota
En versiones anteriores de Amazon EMR 5.x o 6.x, la desactivación de IMDSv1 provocaba un error en el arranque del clúster, ya que los componentes de Amazon EMR utilizaban IMDSv1 para todas las llamadas al IMDS. Al desactivar IMDSv1, asegúrese de que cualquier software personalizado que utilice IMDSv1 esté actualizado para usar IMDSv2.
Especificar la configuración del servicio de metadatos de la instancia mediante el AWS CLI
A continuación, se muestra un ejemplo de un fragmento de JSON para especificar el servicio de metadatos de instancias (IMDS) de Amazon EC2 dentro de una configuración de seguridad. El uso de una configuración de seguridad personalizada es opcional.
{ "InstanceMetadataServiceConfiguration" : { "MinimumInstanceMetadataServiceVersion": integer, "HttpPutResponseHopLimit": integer } }
| Parámetro | Description (Descripción) |
|---|---|
|
|
Si no especifica el IMDS en una configuración de seguridad y utiliza una versión de Amazon EMR que requiera IMDSv1, Amazon EMR utilizará IMDSv1 de forma predeterminada como la versión de servicio de metadatos de instancia mínima. Si desea utilizar su propia configuración, se requieren los dos parámetros siguientes. |
|
|
Obligatorio. Indique |
|
|
Obligatorio. Límite de saltos de respuesta HTTP PUT deseado para las solicitudes de metadatos de instancia. Cuanto mayor sea el número, más solicitudes de metadatos de instancia pueden viajar. Predeterminado: |
Especificación la configuración del servicio de metadatos de la instancia con la consola
Puede configurar el uso del IMDS para un clúster al lanzarlo desde la consola de Amazon EMR.
Para configurar el uso del IMDS mediante la consola:
-
Al crear una nueva configuración de seguridad en la página Configuraciones de seguridad, seleccione Configurar el servicio de metadatos de instancias de EC2 en la configuración del servicio de metadatos de instancias de EC2. Esta configuración solo se admite en Amazon EMR 5.23.1, 5.27.1, 5.32 o versiones posteriores y 6.2 o versiones posteriores.
-
Para ver la opción Versión mínima del servicio de metadatos de instancias, seleccione una de las siguientes opciones:
-
Desactivar IMDSv1 y permitir solo IMDSv2 si quiere permitir únicamente el uso de IMDSv2 en este clúster. Consulte Transición al uso del servicio de metadatos de instancias, versión 2 en la Guía del usuario de Amazon EC2.
-
Permitir tanto IMDSv1 como IMDSv2 en el clúster si quiere permitir el uso de IMDSv1 e IMDSv2 orientado a la sesión en este clúster.
-
-
En IMDSv2, también puede configurar el número permitido de saltos de red para el token de metadatos configurando un número entero entre
1y64en Límite de saltos de respuesta de HTTP PUT.
Para obtener más información, consulte Configuración del servicio de metadatos de instancia en la Guía del usuario de Amazon EC2.
Consulte Configuración de los detalles de la instancia y Configuración del servicio de metadatos de instancia en la Guía del usuario de Amazon EC2.