Création d'une configuration de sécurité - Amazon EMR

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Création d'une configuration de sécurité

Cette rubrique décrit les procédures générales permettant de créer une configuration de sécurité avec la EMR console Amazon et AWS CLI, suivie d'une référence pour les paramètres tels que le chiffrement, l'authentification et IAM les rôles pourEMRFS. Pour plus d'informations sur ces fonctions, consultez les rubriques suivantes :

Pour créer une configuration de sécurité à l'aide de la console
  1. Ouvrez la EMR console Amazon à l'adresse https://console.aws.amazon.com/emr.

  2. Dans le volet de navigation, choisissez Security Configurations (Configurations de sécurité), puis Create security configuration (Créer une configuration de sécurité).

  3. Dans Name (Nom), saisissez un nom pour la configuration de sécurité.

  4. Choisissez les options pour Chiffrement et Authentification comme décrit dans les sections ci-dessous, puis cliquez sur Créer.

Pour créer une configuration de sécurité à l'aide du AWS CLI
  • Utilisez la commande create-security-configuration, comme illustré dans l'exemple suivant.

    • Dans SecConfigName, spécifiez le nom de la configuration de sécurité. Il s'agit du nom que vous spécifiez lors de la création d'un cluster qui utilise cette configuration de sécurité.

    • PourSecConfigDef, spécifiez une JSON structure en ligne ou le chemin d'accès à un JSON fichier local, tel quefile://MySecConfig.json. Les JSON paramètres définissent les options de chiffrement, IAMles rôles d'EMRFSaccès à Amazon S3 et l'authentification, comme décrit dans les sections ci-dessous.

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

Configuration du chiffrement des données

Avant de configurer le chiffrement dans une configuration de sécurité, créez les clés et certificats utilisés pour le chiffrement. Pour plus d’informations, consultez Fournir des clés pour chiffrer les données au repos avec Amazon EMR et Fourniture de certificats pour chiffrer les données en transit avec Amazon EMR Encryption.

Lorsque vous créez une configuration de sécurité, vous spécifiez deux jeux d'options de chiffrement : le chiffrement des données au repos et le chiffrement des données en transit. Les options de chiffrement des données au repos incluent à la fois le chiffrement Amazon S3 avec EMRFS et le chiffrement du disque local. Les options de chiffrement en transit activent les fonctionnalités de chiffrement open source pour certaines applications qui prennent en charge le protocole Transport Layer Security ()TLS. Les options de chiffrement des données au repos et en transit peuvent être activées ensemble ou séparément. Pour de plus amples informations, veuillez consulter Chiffrer les données au repos et en transit.

Note

Lorsque vous les utilisez AWS KMS, des frais s'appliquent pour le stockage et l'utilisation des clés de chiffrement. Pour plus d'informations, consultez AWS KMS Pricing (Tarification CTlong).

Spécification d'options de chiffrement à l'aide de la console

Choisissez les options sous Encryption (Chiffrement) en fonction des indications suivantes.

  • Choisissez les options sous At rest encryption (Chiffrement au repos) pour chiffrer les données stockées dans le système de fichiers.

    Vous pouvez choisir de chiffrer les données dans Amazon S3, les disques locaux ou les deux.

  • Sous Chiffrement des données S3, pour Mode de chiffrement, choisissez une valeur pour déterminer la manière dont Amazon EMR chiffre les données Amazon S3. EMRFS

    L'étape suivante varie selon le mode de chiffrement que vous avez choisi :

  • Sous Local disk encryption (Chiffrement de disque local), choisissez une valeur pour Key provider type (Type de fournisseur de clé).

    • AWS KMS key

      Sélectionnez cette option pour spécifier une AWS KMS key. Pour AWS KMS key, sélectionnez une clé. La clé doit se trouver dans la même région que votre EMR cluster. Pour plus d'informations sur les exigences relatives aux clés, consultez Utilisation AWS KMS keys pour le chiffrement.

      EBSChiffrement

      Lorsque vous AWS KMS le spécifiez comme fournisseur de clés, vous pouvez activer le EBS chiffrement pour chiffrer le périphérique EBS racine et les volumes de stockage. Pour activer cette option, vous devez accorder au rôle de EMR service Amazon EMR_DefaultRole les autorisations d'utiliser celles AWS KMS key que vous spécifiez. Pour plus d'informations sur les exigences relatives aux clés, consultez Activation du EBS chiffrement en fournissant des autorisations supplémentaires pour les KMS clés.

    • Personnalisé

      Sélectionnez cette option pour spécifier un fournisseur de clés personnalisé. Pour l'objet S3, entrez l'emplacement dans Amazon S3, ou Amazon S3ARN, de votre fichier de fournisseur de clés personnaliséJAR. Pour la classe du fournisseur de clés, entrez le nom complet de la classe déclarée dans votre application qui implémente l' EncryptionMaterialsProvider interface. Le nom de classe que vous fournissez ici doit être différent du nom de classe fourni pour CSE -Custom.

  • Choisissez le chiffrement en transit pour activer les fonctionnalités de TLS chiffrement open source pour les données en transit. Dans Certificate provider type (Type de fournisseur de certificat), sélectionnez un type de fournisseur de certificat conformément aux consignes suivantes :

    • PEM

      Sélectionnez cette option pour utiliser PEM les fichiers que vous fournissez dans un fichier zip. Deux artefacts sont requis dans le fichier zip : privateKey .pem et certificateChain .pem. Un troisième fichier, trustedCertificates .pem, est facultatif. Consultez Fourniture de certificats pour chiffrer les données en transit avec Amazon EMR Encryption pour plus de détails. Pour l'objet S3, spécifiez l'emplacement du champ du fichier zip dans Amazon S3ARN, ou Amazon S3.

    • Personnalisé

      Sélectionnez cette option pour spécifier un fournisseur de certificat personnalisé, puis, pour l'objet S3, entrez l'emplacement dans Amazon S3, ou Amazon S3ARN, de votre fichier de fournisseur de certificat personnaliséJAR. Pour la classe du fournisseur de clés, entrez le nom complet de la classe déclarée dans votre application qui implémente l'TLSArtifactsProviderinterface.

Spécification des options de chiffrement à l'aide du AWS CLI

Les sections suivantes utilisent des exemples de scénarios pour illustrer des scénarios bien --security-configuration JSON conçus pour différentes configurations et fournisseurs clés, suivis d'une référence pour les JSON paramètres et les valeurs appropriées.

Exemple d'options de chiffrement des données en transit

L'exemple suivant illustre le scénario suivant :

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

L'exemple suivant illustre le scénario suivant :

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" } } } }'

Exemple d'options de chiffrement des données au repos

L'exemple suivant illustre le scénario suivant :

  • Le chiffrement des données en transit est désactivé et le chiffrement des données au repos est activé.

  • SSE-S3 est utilisé pour le chiffrement Amazon S3.

  • Le chiffrement du disque local est utilisé AWS KMS comme fournisseur de clés.

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" } } } }'

L'exemple suivant illustre le scénario suivant :

  • Le chiffrement des données en transit est activé et fait référence à un fichier zip contenant des PEM certificats dans Amazon S3, à l'aide duARN.

  • SSE- KMS est utilisé pour le chiffrement Amazon S3.

  • Le chiffrement du disque local est utilisé AWS KMS comme fournisseur de clés.

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" } } } }'

L'exemple suivant illustre le scénario suivant :

  • Le chiffrement des données en transit est activé et fait référence à un fichier zip contenant des PEM certificats dans Amazon S3.

  • CSE- KMS est utilisé pour le chiffrement Amazon S3.

  • Le chiffrement du disque local utilise un fournisseur de clés personnalisé référencé par sonARN.

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" } } } }'

L'exemple suivant illustre le scénario suivant :

  • Le chiffrement des données en transit est activé avec un fournisseur de clés personnalisé.

  • CSE-Custom est utilisé pour les données Amazon S3.

  • Le chiffrement de disque local utilise un fournisseur de clés personnalisé.

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" } } } }'

L'exemple suivant illustre le scénario suivant :

  • Le chiffrement des données en transit est désactivé et le chiffrement des données au repos est activé.

  • Le chiffrement Amazon S3 est activé avec SSE -KMS.

  • Plusieurs AWS KMS clés sont utilisées, une par compartiment S3, et des exceptions de chiffrement sont appliquées à ces compartiments S3 individuels.

  • Le chiffrement de disque local est désactivé.

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

L'exemple suivant illustre le scénario suivant :

  • Le chiffrement des données en transit est désactivé et le chiffrement des données au repos est activé.

  • Le chiffrement Amazon S3 est activé avec SSE -S3 et le chiffrement du disque local est désactivé.

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

L'exemple suivant illustre le scénario suivant :

  • Le chiffrement des données en transit est désactivé et le chiffrement des données au repos est activé.

  • Le chiffrement du disque local est activé en AWS KMS tant que fournisseur de clés et le chiffrement Amazon S3 est désactivé.

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" } } } }'

L'exemple suivant illustre le scénario suivant :

  • Le chiffrement des données en transit est désactivé et le chiffrement des données au repos est activé.

  • Le chiffrement du disque local est activé en AWS KMS tant que fournisseur de clés et le chiffrement Amazon S3 est désactivé.

  • EBSle chiffrement est activé.

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" } } } }'

L'exemple suivant illustre le scénario suivant :

SSE- EMR - WAL est utilisé pour le EMR WAL chiffrement

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

EnableInTransitEncryptionet pourrait EnableAtRestEncryption toujours être vrai, si vous souhaitez activer le chiffrement associé.

L'exemple suivant illustre le scénario suivant :

  • SSE- KMS - WAL est utilisé pour le EMR WAL chiffrement

  • Le chiffrement côté serveur est utilisé AWS Key Management Service comme fournisseur de clés

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 } }'

EnableInTransitEncryptionet pourrait EnableAtRestEncryption toujours être vrai, si vous souhaitez activer le chiffrement associé.

JSONréférence pour les paramètres de chiffrement

Le tableau suivant répertorie les JSON paramètres des paramètres de chiffrement et fournit une description des valeurs acceptables pour chaque paramètre.

Paramètre Description
"EnableInTransitEncryption" : true | false Spécifiez true pour activer le chiffrement en transit et false pour le désactiver. S'il est omis, false est utilisé par défaut, et le chiffrement en transit est désactivé.
"EnableAtRestEncryption": true | false Spécifiez true pour activer le chiffrement au repos et false pour le désactiver. S'il est omis, false est utilisé par défaut, et le chiffrement au repos est désactivé.
Paramètres de chiffrement en transit
"InTransitEncryptionConfiguration" : Spécifie une collection de valeurs utilisées pour configurer le chiffrement en transit quand EnableInTransitEncryption est true.
"CertificateProviderType": "PEM" | "Custom" Spécifie si les certificats PEM référencés avec un fichier zip ou un fournisseur de certificats Custom doivent être utilisés. S'il PEM est spécifié, S3Object il doit s'agir d'une référence à l'emplacement dans Amazon S3 d'un fichier zip contenant les certificats. Si Custom est spécifié, S3Object il doit s'agir d'une référence à l'emplacement d'un JAR fichier dans Amazon S3, suivie d'une CertificateProviderClass entrée.
"S3Object" : "ZipLocation" | "JarLocation" Fournit l'emplacement dans Amazon S3 d'un fichier zip lorsqu'il PEM est spécifié, ou d'un JAR fichier lorsqu'il Custom est spécifié. Le format peut être un chemin (par exemple,s3://MyConfig/artifacts/CertFiles.zip) ou un ARN (par exemple,arn:aws:s3:::Code/MyCertProvider.jar). Si un fichier zip est spécifié, il doit comporter les fichiers nommés privateKey.pem et certificateChain.pem. Un fichier nommé trustedCertificates.pem est facultatif.
"CertificateProviderClass" : "MyClassID" Obligatoire uniquement si cela Custom est spécifié pourCertificateProviderType. MyClassIDspécifie un nom de classe complet déclaré dans le JAR fichier, qui implémente l'TLSArtifactsProviderinterface. Par exemple, com.mycompany.MyCertProvider.
Paramètres de chiffrement au repos
"AtRestEncryptionConfiguration" : Spécifie un ensemble de valeurs pour le chiffrement au repos lorsqu'il EnableAtRestEncryption est activétrue, y compris le chiffrement Amazon S3 et le chiffrement du disque local.
Paramètres de chiffrement Amazon S3
"S3EncryptionConfiguration" : Spécifie un ensemble de valeurs utilisées pour le chiffrement Amazon S3 avec le système de EMR fichiers Amazon (EMRFS).
"EncryptionMode": "SSE-S3" | "SSE-KMS" | "CSE-KMS" | "CSE-Custom" Spécifie le type de chiffrement Amazon S3 à utiliser. Si elle SSE-S3 est spécifiée, aucune autre valeur de chiffrement Amazon S3 n'est requise. Si l'un SSE-KMS ou l'autre CSE-KMS est spécifié, un AWS KMS key ARN doit être spécifié comme AwsKmsKey valeur. Si CSE-Custom est défini, les valeurs S3Object et EncryptionKeyProviderClass doivent être spécifiées.
"AwsKmsKey" : "MyKeyARN" Obligatoire uniquement lorsque l'SSE-KMSun ou l'autre CSE-KMS est spécifié pourEncryptionMode. MyKeyARNdoit être une valeur entièrement spécifiée ARN pour une clé (par exemple,arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012).
"S3Object" : "JarLocation" Obligatoire uniquement lorsque CSE-Custom cela est spécifié pourCertificateProviderType. JarLocationfournit l'emplacement d'un JAR fichier dans Amazon S3. Le format peut être un chemin (par exemple,s3://MyConfig/artifacts/MyKeyProvider.jar) ou un ARN (par exemple,arn:aws:s3:::Code/MyKeyProvider.jar).
"EncryptionKeyProviderClass" : "MyS3KeyClassID" Obligatoire uniquement lorsque CSE-Custom cela est spécifié pourEncryptionMode. MyS3KeyClassIDspécifie le nom complet d'une classe déclarée dans l'application qui implémente l' EncryptionMaterialsProviderinterface ; par exemple,com.mycompany.MyS3KeyProvider.
Paramètres de chiffrement de disque local
"LocalDiskEncryptionConfiguration" Spécifie le fournisseur de clés et les valeurs correspondantes à utiliser pour le chiffrement de disque local.
"EnableEbsEncryption": true | false Spécifiez true pour activer EBS le chiffrement. EBSle chiffrement chiffre le volume du périphérique EBS racine et les volumes de stockage associés. Pour utiliser EBS le chiffrement, vous devez spécifier AwsKms comme votreEncryptionKeyProviderType.
"EncryptionKeyProviderType": "AwsKms" | "Custom" Spécifie le fournisseur de clés. Si elle AwsKms est spécifiée, une KMS clé ARN doit être spécifiée comme AwsKmsKey valeur. Si Custom est défini, les valeurs S3Object et EncryptionKeyProviderClass doivent être spécifiées.
"AwsKmsKey : "MyKeyARN" Obligatoire uniquement lorsque AwsKms cela est spécifié pourType. MyKeyARNdoit être une valeur entièrement spécifiée ARN pour une clé (par exemple,arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-456789012123).
"S3Object" : "JarLocation" Obligatoire uniquement lorsque CSE-Custom cela est spécifié pourCertificateProviderType. JarLocationfournit l'emplacement d'un JAR fichier dans Amazon S3. Le format peut être un chemin (par exemple,s3://MyConfig/artifacts/MyKeyProvider.jar) ou un ARN (par exemple,arn:aws:s3:::Code/MyKeyProvider.jar).

"EncryptionKeyProviderClass" : "MyLocalDiskKeyClassID"

Obligatoire uniquement lorsque Custom cela est spécifié pourType. MyLocalDiskKeyClassIDspécifie le nom complet d'une classe déclarée dans l'application qui implémente l' EncryptionMaterialsProviderinterface ; par exemple,com.mycompany.MyLocalDiskKeyProvider.
EMRWALparamètres de chiffrement
"EMRWALEncryptionConfiguration" Spécifie la valeur du EMR WAL chiffrement.
"AwsKmsKey" Spécifie le CMK Key ID Arn.

Configuration de l'authentification Kerberos

Une configuration de sécurité avec les paramètres Kerberos ne peut être utilisée que par un cluster créé avec des attributs Kerberos. Sinon, une erreur se produit. Pour de plus amples informations, veuillez consulter Utiliser Kerberos pour l'authentification auprès d'Amazon EMR. Kerberos n'est disponible que dans les EMR versions 5.10.0 et ultérieures d'Amazon.

Spécification des paramètres Kerberos à l'aide de la console

Choisissez les options sous Kerberos authentication (Authentification Kerberos) en suivant les indications suivantes.

Paramètre Description

Kerberos

Spécifie que Kerberos est activé pour les clusters qui utilisent cette configuration de sécurité. Si un cluster utilise cette configuration de sécurité, les paramètres Kerberos doivent également être spécifiés sur le cluster, sinon une erreur se produira.

Fournisseur

Dédié au cluster KDC

Spécifie qu'Amazon EMR crée un nœud KDC sur le nœud principal de tout cluster utilisant cette configuration de sécurité. Vous spécifiez le nom de domaine et le mot de passe KDC administrateur lorsque vous créez le cluster.

Vous pouvez le référencer KDC à partir d'autres clusters, si nécessaire. Créez ces clusters en utilisant une configuration de sécurité différente, spécifiez une configuration externe KDC et utilisez le nom de domaine et le mot de passe KDC administrateur que vous spécifiez pour le cluster dédiéKDC.

Externe KDC

Disponible uniquement avec Amazon EMR 5.20.0 et versions ultérieures. Spécifie que les clusters utilisant cette configuration de sécurité authentifient les principaux Kerberos à l'aide d'un KDC serveur extérieur au cluster. A n'KDCest pas créé sur le cluster. Lorsque vous créez le cluster, vous spécifiez le nom de domaine et le mot de passe KDC administrateur du cluster externeKDC.

Durée de vie du billet

Facultatif. Spécifie la période pendant laquelle un ticket Kerberos émis par le KDC est valide sur les clusters utilisant cette configuration de sécurité.

La durée de vie des tickets est limitée pour des raisons de sécurité. Les applications et services de cluster renouvellent automatiquement les tickets après leur expiration. Les utilisateurs qui se connectent au cluster à SSH l'aide des informations d'identification Kerberos doivent exécuter la ligne kinit de commande du nœud principal pour effectuer le renouvellement après l'expiration d'un ticket.

Relation d'approbation inter-domaines

Spécifie une confiance inter-domaines entre un cluster dédié aux clusters KDC utilisant cette configuration de sécurité et un autre domaine KDC Kerberos.

Les principaux (généralement les utilisateurs) d'un autre domaine sont authentifiés auprès des clusters qui utilisent cette configuration. Une configuration supplémentaire dans l'autre domaine Kerberos est requise. Pour de plus amples informations, veuillez consulter Didacticiel : configuration d'une approbation inter-domaines avec un domaine Active Directory.

Propriétés de confiance entre domaines

Domaine

Spécifie le nom de domaine Kerberos de l'autre domaine inclus dans la relation d'approbation. Par convention, les noms de domaine Kerberos sont identiques au nom de domaine, mais en majuscules.

Domaine

Spécifie le nom de domaine de l'autre domaine de la relation d'approbation.

Serveur d'administration

Spécifie le nom de domaine complet (FQDN) ou l'adresse IP du serveur d'administration dans l'autre domaine de la relation de confiance. Le serveur d'administration et le KDC serveur s'exécutent généralement sur la même machineFQDN, mais communiquent sur des ports différents.

Si aucun port n'est spécifié, le port 749 est utilisé (port Kerberos par défaut). Le cas échéant, vous pouvez spécifier le port (par exemple, domain.example.com:749).

KDCserveur

Spécifie le nom de domaine complet (FQDN) ou l'adresse IP du KDC serveur dans l'autre domaine de la relation de confiance. Le KDC serveur et le serveur d'administration s'exécutent généralement sur le même ordinateur avec les mêmes portsFQDN, mais utilisent des ports différents.

Si aucun port n'est spécifié, le port 88 est utilisé (port Kerberos par défaut). Le cas échéant, vous pouvez spécifier le port (par exemple, domain.example.com:88).

Externe KDC

Spécifie que les clusters externes KDC sont utilisés par le cluster.

KDCPropriétés externes

Serveur d'administration

Spécifie le nom de domaine complet (FQDN) ou l'adresse IP du serveur d'administration externe. Le serveur d'administration et le KDC serveur s'exécutent généralement sur la même machineFQDN, mais communiquent sur des ports différents.

Si aucun port n'est spécifié, le port 749 est utilisé (port Kerberos par défaut). Le cas échéant, vous pouvez spécifier le port (par exemple, domain.example.com:749).

KDCserveur

Spécifie le nom de domaine complet (FQDN) du KDC serveur externe. Le KDC serveur et le serveur d'administration s'exécutent généralement sur le même ordinateur avec les mêmes portsFQDN, mais utilisent des ports différents.

Si aucun port n'est spécifié, le port 88 est utilisé (port Kerberos par défaut). Le cas échéant, vous pouvez spécifier le port (par exemple, domain.example.com:88).

Intégration d'Active Directory

Spécifie que l'authentification principale Kerberos est intégrée à un domaine Microsoft Active Directory.

Propriétés de l'intégration d'Active Directory

Domaine Active Directory

Spécifie le nom de domaine Kerberos du domaine Active Directory. Par convention, les noms de domaine Kerberos sont généralement identiques au nom de domaine, mais en majuscules.

Domaine Active Directory

Spécifie le nom du domaine Active Directory.

Serveur Active Directory

Spécifie le nom de domaine complet (FQDN) du contrôleur de domaine Microsoft Active Directory.

Spécification des paramètres Kerberos à l'aide du AWS CLI

Le tableau de référence suivant indique JSON les paramètres des paramètres Kerberos dans une configuration de sécurité. Pour des exemples de configurations, consultez Exemples de configuration.

Paramètre Description

"AuthenticationConfiguration": {

Nécessaire pour Kerberos. Spécifie qu'une configuration d'authentification fait partie de cette configuration de sécurité.

"KerberosConfiguration": {

Nécessaire pour Kerberos. Spécifie les propriétés de configuration de Kerberos.

"Provider": "ClusterDedicatedKdc",

ou

"Provider: "ExternalKdc",

ClusterDedicatedKdcindique qu'Amazon EMR crée un nœud KDC sur le nœud principal de tout cluster utilisant cette configuration de sécurité. Vous spécifiez le nom de domaine et le mot de passe KDC administrateur lorsque vous créez le cluster. Vous pouvez le référencer KDC à partir d'autres clusters, si nécessaire. Créez ces clusters en utilisant une configuration de sécurité différente, spécifiez une configuration externe KDC et utilisez le nom de domaine et le mot de passe KDC administrateur que vous avez spécifiés lors de la création du cluster avec le cluster dédié au clusterKDC.

ExternalKdcindique que le cluster utilise un module externeKDC. Amazon EMR n'en crée pas KDC sur le nœud principal. Un cluster qui utilise cette configuration de sécurité doit spécifier le nom de domaine et le mot de passe KDC administrateur de l'environnement externeKDC.

"ClusterDedicatedKdcConfiguration": {

Obligatoire lorsque ClusterDedicatedKdc est spécifié.

"TicketLifetimeInHours": 24,

Facultatif. Spécifie la période pendant laquelle un ticket Kerberos émis par le KDC est valide sur les clusters utilisant cette configuration de sécurité.

La durée de vie des tickets est limitée pour des raisons de sécurité. Les applications et services de cluster renouvellent automatiquement les tickets après leur expiration. Les utilisateurs qui se connectent au cluster à SSH l'aide des informations d'identification Kerberos doivent exécuter la ligne kinit de commande du nœud principal pour effectuer le renouvellement après l'expiration d'un ticket.

"CrossRealmTrustConfiguration": {

Spécifie une confiance inter-domaines entre un cluster dédié aux clusters KDC utilisant cette configuration de sécurité et un autre domaine KDC Kerberos.

Les principaux (généralement les utilisateurs) d'un autre domaine sont authentifiés auprès des clusters qui utilisent cette configuration. Une configuration supplémentaire dans l'autre domaine Kerberos est requise. Pour de plus amples informations, veuillez consulter Didacticiel : configuration d'une approbation inter-domaines avec un domaine Active Directory.

"Realm": "KDC2.COM",

Spécifie le nom de domaine Kerberos de l'autre domaine inclus dans la relation d'approbation. Par convention, les noms de domaine Kerberos sont identiques au nom de domaine, mais en majuscules.

"Domain": "kdc2.com",

Spécifie le nom de domaine de l'autre domaine de la relation d'approbation.

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

Spécifie le nom de domaine complet (FQDN) ou l'adresse IP du serveur d'administration dans l'autre domaine de la relation de confiance. Le serveur d'administration et le KDC serveur s'exécutent généralement sur la même machineFQDN, mais communiquent sur des ports différents.

Si aucun port n'est spécifié, le port 749 est utilisé (port Kerberos par défaut). Le cas échéant, vous pouvez spécifier le port (par exemple, domain.example.com:749).

"KdcServer": "kdc.com:88"

Spécifie le nom de domaine complet (FQDN) ou l'adresse IP du KDC serveur dans l'autre domaine de la relation de confiance. Le KDC serveur et le serveur d'administration s'exécutent généralement sur le même ordinateur avec les mêmes portsFQDN, mais utilisent des ports différents.

Si aucun port n'est spécifié, le port 88 est utilisé (port Kerberos par défaut). Le cas échéant, vous pouvez spécifier le port (par exemple, domain.example.com:88).

}

}

"ExternalKdcConfiguration": {

Obligatoire lorsque ExternalKdc est spécifié.

"TicketLifetimeInHours": 24,

Facultatif. Spécifie la période pendant laquelle un ticket Kerberos émis par le KDC est valide sur les clusters utilisant cette configuration de sécurité.

La durée de vie des tickets est limitée pour des raisons de sécurité. Les applications et services de cluster renouvellent automatiquement les tickets après leur expiration. Les utilisateurs qui se connectent au cluster à SSH l'aide des informations d'identification Kerberos doivent exécuter la ligne kinit de commande du nœud principal pour effectuer le renouvellement après l'expiration d'un ticket.

"KdcServerType": "Single",

Spécifie qu'un seul KDC serveur est référencé. Singleest actuellement la seule valeur prise en charge.

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

Spécifie le nom de domaine complet (FQDN) ou l'adresse IP du serveur d'administration externe. Le serveur d'administration et le KDC serveur s'exécutent généralement sur la même machineFQDN, mais communiquent sur des ports différents.

Si aucun port n'est spécifié, le port 749 est utilisé (port Kerberos par défaut). Le cas échéant, vous pouvez spécifier le port (par exemple, domain.example.com:749).

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

Spécifie le nom de domaine complet (FQDN) du KDC serveur externe. Le KDC serveur et le serveur d'administration s'exécutent généralement sur le même ordinateur avec les mêmes portsFQDN, mais utilisent des ports différents.

Si aucun port n'est spécifié, le port 88 est utilisé (port Kerberos par défaut). Le cas échéant, vous pouvez spécifier le port (par exemple, domain.example.com:88).

"AdIntegrationConfiguration": {

Spécifie que l'authentification principale Kerberos est intégrée à un domaine Microsoft Active Directory.

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

Spécifie le nom de domaine Kerberos du domaine Active Directory. Par convention, les noms de domaine Kerberos sont généralement identiques au nom de domaine, mais en majuscules.

"AdDomain": "ad.domain.com"

Spécifie le nom du domaine Active Directory.

"AdServer": "ad.domain.com"

Spécifie le nom de domaine complet (FQDN) du contrôleur de domaine Microsoft Active Directory.

}

}

}

}

Configuration IAM des rôles pour les EMRFS demandes adressées à Amazon S3

IAMles rôles vous EMRFS permettent de fournir différentes autorisations aux EMRFS données dans Amazon S3. Vous créez des mappages qui spécifient un IAM rôle utilisé pour les autorisations lorsqu'une demande d'accès contient un identifiant que vous spécifiez. L'identificateur peut être un utilisateur ou un rôle Hadoop, ou bien un préfixe Amazon S3.

Pour de plus amples informations, veuillez consulter Configuration IAM des rôles pour les EMRFS demandes adressées à Amazon S3.

Spécification IAM des rôles pour EMRFS l'utilisation du AWS CLI

Voici un exemple d'JSONextrait permettant de spécifier des IAM rôles personnalisés EMRFS au sein d'une configuration de sécurité. Il montre les mappages de rôles pour les trois types d'identifiants différents, suivis d'une référence de paramètre.

{ "AuthorizationConfiguration": { "EmrFsConfiguration": { "RoleMappings": [{ "Role": "arn:aws:iam::123456789101:role/allow_EMRFS_access_for_user1", "IdentifierType": "User", "Identifiers": [ "user1" ] },{ "Role": "arn:aws:iam::123456789101:role/allow_EMRFS_access_to_MyBuckets", "IdentifierType": "Prefix", "Identifiers": [ "s3://MyBucket/","s3://MyOtherBucket/" ] },{ "Role": "arn:aws:iam::123456789101:role/allow_EMRFS_access_for_AdminGroup", "IdentifierType": "Group", "Identifiers": [ "AdminGroup" ] }] } } }
Paramètre Description

"AuthorizationConfiguration":

Obligatoire.

"EmrFsConfiguration":

Obligatoire. Contient des mappages de rôles.

  "RoleMappings":

Obligatoire. Contient une ou plusieurs définitions de mappage de rôles. Les mappages de rôles sont évalués dans l'ordre d'apparition du haut vers le bas. Si un mappage de rôle est considéré comme vrai pour un EMRFS appel de données dans Amazon S3, aucun autre mappage de rôle n'est évalué et EMRFS utilise le IAM rôle spécifié pour la demande. Les mappages de rôles sont constitués des paramètres obligatoires suivants :

   "Role":

Spécifie l'ARNidentifiant d'un IAM rôle dans le formatarn:aws:iam::account-id:role/role-name. C'est le IAM rôle qu'Amazon EMR assume si la EMRFS demande adressée à Amazon S3 correspond à l'une des valeurs Identifiers spécifiées.

   "IdentifierType":

Les valeurs suivantes sont possibles :

  • "User" indique que les identifiants sont ceux d'un ou de plusieurs utilisateurs Hadoop, qui peuvent être des utilisateurs de comptes Linux ou des utilisateurs principaux de Kerberos. Lorsque la EMRFS demande provient de l'utilisateur ou des utilisateurs spécifiés, le IAM rôle est assumé.

  • "Prefix" indique que l'identifiant est un emplacement Amazon S3. Le IAM rôle est assumé pour les appels vers le ou les emplacements avec les préfixes spécifiés. Par exemple, le préfixe s3://mybucket/ correspond à s3://mybucket/mydir et s3://mybucket/yetanotherdir.

  • "Group" indique que les identifiants sont un ou plusieurs groupes Hadoop. Le IAM rôle est assumé si la demande provient d'un utilisateur du ou des groupes spécifiés.

   "Identifiers":

Spécifie un ou plusieurs identifiants du type d'identifiant approprié. Séparez les identifiants multiples par des virgules sans espace.

Configurer les demandes de service de métadonnées adressées aux EC2 instances Amazon

Les métadonnées d'instance sont des données portant sur votre instance que vous pouvez utiliser pour configurer ou gérer l'instance en cours d'exécution. Vous pouvez accéder aux métadonnées d’instance à partir d’une instance en cours d’exécution en utilisant l’une des méthodes suivantes :

  • Service de métadonnées d'instance version 1 (IMDSv1) : méthode de demande/réponse

  • Service de métadonnées d'instance version 2 (IMDSv2) : méthode orientée session

Amazon EC2 prend en charge les deux IMDSv1 etIMDSv2, Amazon les EMR prend en charge IMDSv2 dans Amazon EMR 5.23.1, 5.27.1, 5.32 ou version ultérieure, et 6.2 ou version ultérieure. Dans ces versions, les EMR composants Amazon sont utilisés IMDSv2 pour tous les IMDS appels. Pour les IMDS appels dans le code de votre application, vous pouvez utiliser les deux IMDSv1 etIMDSv2, ou les configurer pour qu'IMDSils ne soient utilisés que IMDSv2 pour renforcer la sécurité. Lorsque vous spécifiez que cela IMDSv2 doit être utilisé, cela IMDSv1 ne fonctionne plus.

Pour plus d'informations, consultez Configurer le service de métadonnées d'instance dans le guide de EC2 l'utilisateur Amazon.

Note

Dans les versions antérieures d'Amazon EMR 5.x ou 6.x, la désactivation entraînait l'échec IMDSv1 du démarrage du cluster car les EMR composants Amazon étaient utilisés IMDSv1 pour tous les IMDS appels. Lors de la désactivationIMDSv1, assurez-vous que tous les logiciels personnalisés utilisés IMDSv1 sont mis à jour versIMDSv2.

Spécification de la configuration du service de métadonnées d'instance à l'aide de l' AWS CLI

Voici un exemple d'JSONextrait permettant de spécifier le service de métadonnées d'EC2instance Amazon (IMDS) dans une configuration de sécurité. L'utilisation d'une configuration de sécurité personnalisée est facultative.

{ "InstanceMetadataServiceConfiguration" : { "MinimumInstanceMetadataServiceVersion": integer, "HttpPutResponseHopLimit": integer } }
Paramètre Description

"InstanceMetadataServiceConfiguration":

Si vous ne le spécifiez pas IMDS dans une configuration de sécurité et que vous utilisez une EMR version d'Amazon qui l'exigeIMDSv1, Amazon utilise EMR IMDSv1 par défaut la version minimale du service de métadonnées d'instance. Si vous souhaitez utiliser votre propre configuration, les deux paramètres suivants sont obligatoires.

"MinimumInstanceMetadataServiceVersion":

Obligatoire. Spécifiez 1 ou 2. Une valeur égale à « 1 allows IMDSv2 » IMDSv1 et. La valeur « 2 allows only » est la suivanteIMDSv2.

"HttpPutResponseHopLimit":

Obligatoire. Limite de sauts de HTTP PUT réponse souhaitée pour les demandes de métadonnées par exemple. Plus le nombre est élevé, plus les demandes de métadonnées d'instance peuvent être envoyées. Par défaut: 1. Spécifiez un nombre entier compris entre 1 et 64.

Spécification de la configuration du service de métadonnées d'instance à l'aide de la console

Vous pouvez configurer l'utilisation de IMDS pour un cluster lorsque vous le lancez depuis la EMR console Amazon.

Pour configurer l'IMDSutilisation de la console, procédez comme suit :
  1. Lorsque vous créez une nouvelle configuration de sécurité sur la page Configurations de sécurité, sélectionnez Configurer EC2 le service de métadonnées d'EC2instance sous le paramètre Service de métadonnées d'instance. Cette configuration est prise en charge uniquement dans Amazon EMR 5.23.1, 5.27.1, 5.32 ou version ultérieure, et 6.2 ou version ultérieure.

  2. Pour l'option Version minimale du service de métadonnées d'instance, sélectionnez l'une des options suivantes :

  3. En IMDSv2 effet, vous pouvez également configurer le nombre de sauts réseau autorisés pour le jeton de métadonnées en définissant la limite de sauts de réponse HTTP put sur un entier compris entre et1. 64

Pour plus d'informations, consultez Configurer le service de métadonnées d'instance dans le guide de EC2 l'utilisateur Amazon.

Consultez Configurer les détails de l'instance et Configurer le service de métadonnées de l'instance dans le guide de EC2 l'utilisateur Amazon.