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 el 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 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 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 tanto Amazon S3 con EMRFS y el cifrado de disco local. Las opciones de cifrado en tránsito habilitan las características de cifrado de código abierto para determinadas aplicaciones que admiten Transport Layer Security (TLS). Las opciones en reposo y 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 cifrado del servidor con claves de cifrado administradas por Amazon S3. 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 claves administradas (CSE-KMS). AWS 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 cliente utilizando una clave raíz 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_DefaultRole
con 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 distinto al nombre de clase proporcionado para CSE-Custom.
-
-
Seleccione In-transit encryption (Cifrado en tránsito.) para habilitar las características 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:
-
PEM
Seleccione esta opción para utilizar los archivos PEM que proporcione dentro de un archivo zip. Se requieren dos artefactos dentro del archivo zip: privateKey.pem y certificateChain.pem. Un tercer archivo, trustedCertificates.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 interfaz TLSArtifacts de proveedor.
-
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:
-
El cifrado de datos en tránsito está habilitado y el cifrado de datos en reposo está deshabilitado.
-
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:
-
El cifrado de datos en tránsito está habilitado y el cifrado de datos en reposo está deshabilitado.
-
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:
-
El cifrado de datos en tránsito está deshabilitado y el cifrado de datos en reposo está habilitado.
-
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:
-
El cifrado de datos en tránsito está habilitado y hace referencia a un archivo ZIP con certificados PEM en Amazon S3 utilizando 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:
-
El cifrado de datos en tránsito está habilitado y hace referencia a un archivo ZIP con certificados PEM en Amazon S3.
-
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": "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" } } } }'
El ejemplo siguiente ilustra el supuesto siguiente:
-
El cifrado de datos en tránsito 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:
-
El cifrado de datos en tránsito está deshabilitado y el cifrado de datos en reposo está habilitado.
-
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:
-
El cifrado de datos en tránsito está deshabilitado y el cifrado de datos en reposo está habilitado.
-
El cifrado de Amazon S3 se habilita con SSE-S3 y el cifrado de disco local se deshabilita.
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:
-
El cifrado de datos en tránsito está deshabilitado y el cifrado de datos en reposo está habilitado.
-
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:
-
El cifrado de datos en tránsito está deshabilitado y el cifrado de datos en reposo está habilitado.
-
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 | 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. |
Parámetros de cifrado en tránsito | |
"InTransitEncryptionConfiguration" : |
Especifica un conjunto de valores que se utiliza para configurar el cifrado en tránsito cuando EnableInTransitEncryption es true . |
"CertificateProviderType": "PEM" |
"Custom" |
Especifica si se deben utilizar certificados PEM a los que se hace referencia con un archivo comprimido o un proveedor de certificados Custom . 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 se especifica Custom, 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 interfaz del TLSArtifacts proveedor. Por ejemplo, com.mycompany.MyCertProvider . |
Parámetros de cifrado en reposo | |
"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 que se utiliza 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 | 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 |
KDC dedicado del clúster |
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 |
||
Relación de confianza entre ámbitos |
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. |
||
Propiedades de la relación de confianza entre ámbitos |
Á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 | 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 | 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. |
Configurar las solicitudes de servicios de metadatos a las EC2 instancias de Amazon
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:
-
Versión 1 (IMDSv1) del servicio de metadatos de instancias: un método de solicitud/respuesta
-
Versión 2 (IMDSv2) del servicio de metadatos de instancia: un método orientado a la sesión
Si bien Amazon EC2 admite ambas IMDSv1 opciones IMDSv2, Amazon EMR admite IMDSv2 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 se utilizan IMDSv2 para todas las llamadas del IMDS. Para las llamadas de IMDS en el código de su aplicación, puede utilizar ambos IMDSv1 o configurar el IMDS para que se utilice únicamente IMDSv2 con fines de seguridad adicionales. IMDSv2 Si especificas que IMDSv2 debe usarse, ya IMDSv1 no funciona.
Para obtener más información, consulta Cómo configurar el servicio de metadatos de la instancia en la Guía del EC2 usuario de Amazon.
nota
En versiones anteriores de Amazon EMR 5.x o 6.x, la desactivación provocaba un error en el inicio del clúster, ya que los componentes de Amazon EMR se utilizaban para todas IMDSv1 las llamadas de IMDS. IMDSv1 Al apagarlo IMDSv1, asegúrese de que cualquier software personalizado que utilice esté actualizado a. IMDSv1 IMDSv2
Especificación de la configuración del servicio de metadatos de la instancia mediante AWS CLI
A continuación, se muestra un ejemplo de fragmento de JSON para especificar el servicio de metadatos de EC2 instancias de Amazon (IMDS) 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 | Descripción |
---|---|
|
Si no especifica el IMDS en una configuración de seguridad y utiliza una versión de Amazon EMR que lo requiera IMDSv1, Amazon EMR IMDSv1 utilizará de forma predeterminada la versión mínima del servicio de metadatos de la instancia. 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 de configuraciones de seguridad, seleccione Configurar el servicio de metadatos de la EC2 instancia en la configuración del servicio de metadatos de la EC2 instancia. 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:
-
Desactive IMDSv1 y permita IMDSv2 solo si desea permitir solo IMDSv2 en este clúster. Consulte Transición al uso del servicio de metadatos de instancias, versión 2, en la Guía del EC2 usuario de Amazon.
-
Permita ambas IMDSv1 opciones y IMDSv2 en el clúster, si quiere permitir que IMDSv1 este clúster esté orientado a IMDSv2 las sesiones.
-
-
Por IMDSv2 ejemplo, también puede configurar el número permitido de saltos de red para el token de metadatos estableciendo el límite de saltos de respuesta HTTP put en un número entero comprendido entre y.
1
64
Para obtener más información, consulta Cómo configurar el servicio de metadatos de la instancia en la Guía del EC2 usuario de Amazon.
Consulte Configurar los detalles de la instancia y Configurar el servicio de metadatos de la instancia en la Guía del EC2 usuario de Amazon.