Cree una configuración de seguridad con la consola de Amazon EMR o con la AWS CLI
En este tema, se abordan los procedimientos generales para crear una configuración de seguridad con la ayuda de la consola de Amazon EMR y la AWS CLI, así como una referencia para los parámetros de cifrado, autenticación y roles de 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 enhttps://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.
Creación de una configuración de seguridad utilizando la AWS CLI
-
Utilice el comando
create-security-configuration
, tal y como se muestra en el ejemplo siguiente.-
En
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
Cuando utilice AWS KMS, se aplican cargos por el almacenamiento y el uso de las claves de cifrado. Para más información, consulte Precios de AWS KMS
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 administradas por AWS KMS (SSE-KMS) o el cifrado del lado del cliente con claves administradas por AWS KMS (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 Uso de 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 Key provider class (Clase de proveedor de claves), escriba el nombre de clase completo de una 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 Uso de AWS KMS keys para el cifrado.
Cifrado de EBS
Cuando especifique AWS KMS como su proveedor de claves, puede habilitar el cifrado de EBS para cifrar los volúmenes de almacenamiento y de dispositivo 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 Key provider class (Clase de proveedor de claves), escriba el nombre de clase completo de una 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 Key provider class (Clase de proveedor de claves), escriba el nombre de clase completo de una clase declarada en la aplicación que implemente la interfaz TLSArtifactsProvider.
-
Especificación de las opciones de cifrado con 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 de disco local utiliza AWS KMS 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 de disco local utiliza AWS KMS 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 claves de AWS KMS, una por cada bucket de S3, y se aplican excepciones de cifrado a estos buckets 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 de disco local se habilita con AWS KMS como el proveedor de claves y el cifrado de Amazon S3 se deshabilita.
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 de disco local se habilita con AWS KMS como el proveedor de claves y el cifrado de Amazon S3 se deshabilita.
-
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 cifrado EMR WAL
El cifrado del lado del servidor utiliza AWS Key Management Service como el 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 |
Specify true to enable in-transit encryption
and false to disable it. If omitted,
false is assumed, and in-transit encryption
is disabled. |
"EnableAtRestEncryption": true |
false |
Specify true to enable at-rest encryption
and false to disable it. If omitted,
false is assumed and at-rest encryption is
disabled. |
Parámetros de cifrado en tránsito | |
"InTransitEncryptionConfiguration": |
Specifies a collection of values used to configure
in-transit encryption when
EnableInTransitEncryption is
true . |
"CertificateProviderType": "PEM" |
"Custom" |
Specifies whether to use PEM certificates
referenced with a zipped file, or a Personalizada
certificate provider. If PEM is specified,
S3Object must be a reference to the
location in Amazon S3 of a zip file containing the certificates.
If Custom is specified, S3Object must be a
reference to the location in Amazon S3 of a JAR file, followed by
a CertificateProviderClass entry. |
"S3Object": " |
" |
Provides the location in Amazon S3 to a zip file when
PEM is specified, or to a JAR file when
Personalizada is specified. The format can be a
path (for example,
s3://MyConfig/artifacts/CertFiles.zip ) or
an ARN (for example,
arn:aws:s3:::Code/MyCertProvider.jar) . If a
zip file is specified, it must contain files named exactly
privateKey.pem and
certificateChain.pem . A file named
trustedCertificates.pem is
optional. |
"CertificateProviderClass": " |
Required only if Personalizada is specified for
CertificateProviderType .
specifies a full class name declared in the JAR file, which
implements the TLSArtifactsProvider interface. For example,
com.mycompany.MyCertProvider . |
Parámetros de cifrado en reposo | |
"AtRestEncryptionConfiguration": |
Specifies a collection of values for at-rest encryption
when EnableAtRestEncryption is
true , including Amazon S3 encryption and local
disk encryption. |
Parámetros de cifrado de Amazon S3 | |
"S3EncryptionConfiguration": |
Specifies a collection of values used for Amazon S3 encryption with the Amazon EMR File System (EMRFS). |
"EncryptionMode" : "SSE-S3" |
"SSE-KMS" | "CSE-KMS" |
"CSE-Custom" |
Specifies the type of Amazon S3 encryption to use. If
SSE-S3 is specified, no further Amazon S3
encryption values are required. If either
SSE-KMS or CSE-KMS is
specified, an AWS KMS key ARN must be specified as the
AwsKmsKey value. If CSE-Custom
is specified, S3Object and
EncryptionKeyProviderClass values must be
specified. |
"AwsKmsKey": " |
Required only when either SSE-KMS or
CSE-KMS is specified for
EncryptionMode .
must be a fully specified ARN to a key (for example,
arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 ). |
"S3Object": " |
Required only when CSE-Custom is specified
for CertificateProviderType .
provides the location in Amazon S3 to a JAR file. The format can
be a path (for example,
s3://MyConfig/artifacts/MyKeyProvider.jar )
or an ARN (for example,
arn:aws:s3:::Code/MyKeyProvider.jar) . |
"EncryptionKeyProviderClass": " |
Required only when CSE-Custom is specified
for EncryptionMode .
specifies a full class name of a class declared in the
application that implements the EncryptionMaterialsProvider
interface; for example,
. |
Parámetros de cifrado de disco local | |
"LocalDiskEncryptionConfiguration" |
Specifies the key provider and corresponding values to be used for local disk encryption. |
"EnableEbsEncryption": |
Specify true to enable EBS encryption. EBS
encryption encrypts the EBS root device volume and attached
storage volumes. To use EBS encryption, you must specify
AwsKms as your
EncryptionKeyProviderType . |
"EncryptionKeyProviderType": "AwsKms" |
"Custom" |
Specifies the key provider. If AwsKms is
specified, an KMS key ARN must be specified as the
AwsKmsKey value. If
Personalizada is specified,
S3Object and
EncryptionKeyProviderClass values must be
specified. |
"AwsKmsKey: " |
Required only when AwsKms is specified for
Tipo .
must be a fully specified ARN to a key (for example,
arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-456789012123 ). |
"S3Object": " |
Required only when CSE-Custom is specified
for CertificateProviderType .
provides the location in Amazon S3 to a JAR file. The format can
be a path (for example,
s3://MyConfig/artifacts/MyKeyProvider.jar )
or an ARN (for example,
arn:aws:s3:::Code/MyKeyProvider.jar) . |
|
Required only when Personalizada is specified for
Tipo .
specifies a full class name of a class declared in the
application that implements the EncryptionMaterialsProvider
interface; for example,
. |
Parámetros de cifrado EMR WAL | |
"EMRWALEncryptionConfiguration" |
Specifies the value for EMR WAL encryption. |
“AwsKmsKey” |
Specifies the CMK Key Id 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 Kerberos authentication (Autenticación 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. |
Especificación de la configuración de Kerberos con 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.
Especificación de roles 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. |
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:
-
Servicio de metadatos de instancia, versión 1 (IMDSv1): un método de solicitud y respuesta
-
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.
Especificación de la configuración del servicio de metadatos de la instancia mediante 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 | 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
1
y64
en 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.