Creazione di una configurazione di sicurezza - Amazon EMR

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Creazione di una configurazione di sicurezza

Questo argomento descrive le procedure generali per creare una configurazione di sicurezza con la EMR console Amazon e AWS CLI, seguite da un riferimento per i parametri che comprendono crittografia, autenticazione e IAM ruoli perEMRFS. Per ulteriori informazioni su queste caratteristiche, consulta i seguenti argomenti:

Per creare una configurazione di sicurezza mediante la console
  1. Apri la EMR console Amazon in https://console.aws.amazon.com/emr.

  2. Nel riquadro di navigazione, scegliere Security Configurations (Configurazioni di sicurezza), quindi Create security configuration (Crea configurazione di sicurezza).

  3. Digitare un nome in Name (Nome) per la configurazione di sicurezza.

  4. Scegli le opzioni per Encryption (Crittografia) e Authentication (Autenticazione) come descritto nelle sezioni successive, quindi scegli Create (Crea).

Per creare una configurazione di sicurezza utilizzando AWS CLI
  • Usa il comando create-security-configuration come mostrato nell'esempio seguente.

    • In SecConfigName, specificare il nome della configurazione di sicurezza. Si tratta del nome che hai specificato alla creazione di un cluster che utilizza questa configurazione di sicurezza.

    • PerSecConfigDef, specificare una JSON struttura in linea o il percorso di un JSON file locale, ad esempiofile://MySecConfig.json. I JSON parametri definiscono le opzioni per la crittografia, IAMi ruoli per EMRFS l'accesso ad Amazon S3 e l'autenticazione come descritto nelle sezioni seguenti.

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

Configurazione della crittografia di dati

Prima di configurare la crittografia in una configurazione di sicurezza, è necessario creare le chiavi e i certificati utilizzati per la crittografia. Per ulteriori informazioni, consulta Fornire chiavi per crittografare i dati inattivi con Amazon EMR e Fornitura di certificati per crittografare i dati in transito con la crittografia Amazon EMR.

Quando crei una configurazione di sicurezza, specifichi due set di opzioni di crittografia: la crittografia di dati inattivi e la crittografia di dati in transito. Le opzioni per la crittografia dei dati a riposo includono sia Amazon S3 EMRFS con crittografia su disco locale. Le opzioni di crittografia in transito abilitano le funzionalità di crittografia open source per alcune applicazioni che supportano Transport Layer Security (). TLS Le opzioni per la crittografia inattiva e per quella in transito possono essere attivate insieme o separatamente. Per ulteriori informazioni, consulta Crittografia dei dati a riposo e in transito.

Nota

Quando si utilizza AWS KMS, vengono addebitati costi per l'archiviazione e l'uso delle chiavi di crittografia. Per ulteriori informazioni, consultare AWS KMS Prezzi.

Impostazione delle opzioni di crittografia mediante la console

Scegli le opzioni in Encryption (Crittografia) in base alle linee guida riportate di seguito.

  • Scegli le opzioni in At rest encryption (Crittografia inattiva) per crittografare i dati archiviati nel file system.

    Puoi scegliere di crittografare i dati in Amazon S3, nei dischi locali o in entrambi.

  • In Crittografia dei dati S3, per la modalità Encryption, scegli un valore per determinare in che modo Amazon EMR crittografa i dati Amazon S3. EMRFS

    La fase successiva dipende dalla modalità di crittografia scelta:

  • In Local disk encryption (Crittografia per dischi locali), scegli un valore per Key provider type (Tipo di provider di chiavi).

    • AWS KMS key

      Selezionare questa opzione per specificare una AWS KMS key. Per AWS KMS key, seleziona una chiave. La chiave deve esistere nella stessa regione del EMR cluster. Per ulteriori informazioni sui requisiti relativi alle chiavi, consulta Utilizzo AWS KMS keys per la crittografia.

      EBSCriptaggio

      Se si specifica AWS KMS come fornitore di chiavi, è possibile abilitare la EBS crittografia per crittografare il dispositivo EBS principale e i volumi di archiviazione. Per abilitare tale opzione, devi concedere al ruolo di EMR servizio Amazon EMR_DefaultRole le autorizzazioni per utilizzare AWS KMS key ciò che hai specificato. Per ulteriori informazioni sui requisiti relativi alle chiavi, consulta EBSAttivazione della crittografia fornendo autorizzazioni aggiuntive per le chiavi KMS.

    • Personalizza

      Seleziona questa opzione per specificare un provider di chiavi personalizzato. Per l'oggetto S3, inserisci la posizione in Amazon S3 o Amazon S3 del tuo file ARN key-provider personalizzato. JAR Per la classe Key provider, inserisci il nome completo di una classe dichiarata nell'applicazione che implementa l'interfaccia. EncryptionMaterialsProvider Il nome della classe fornito qui deve essere diverso dal nome della classe fornito per CSE -Custom.

  • Scegli la crittografia in transito per abilitare le funzionalità di crittografia open source per i TLS dati in transito. Scegli Certificate provider type (Tipo di provider di certificati) in base alle seguenti linee guida:

    • PEM

      Seleziona questa opzione per utilizzare PEM i file che fornisci all'interno di un file zip. All'interno del file zip sono necessari due elementi: privateKey .pem e.pem. certificateChain Un terzo file, .pem, è facoltativo. trustedCertificates Per informazioni dettagliate, vedi Fornitura di certificati per crittografare i dati in transito con la crittografia Amazon EMR. Per l'oggetto S3, specifica la posizione in Amazon S3 o Amazon S3 del campo del ARN file zip.

    • Personalizza

      Seleziona questa opzione per specificare un fornitore di certificati personalizzato e quindi, per l'oggetto S3, inserisci la posizione in Amazon S3 o Amazon S3 del tuo file del fornitore di certificati personalizzato. ARN JAR Per la classe Key provider, inserisci il nome completo di una classe dichiarata nell'applicazione che implementa l'interfaccia. TLSArtifactsProvider

Specificare le opzioni di crittografia utilizzando il AWS CLI

Le sezioni che seguono utilizzano scenari di esempio per illustrare formati ben formati --security-configuration JSON per diverse configurazioni e fornitori di chiavi, seguiti da un riferimento per JSON i parametri e i valori appropriati.

Esempio di opzioni di crittografia di dati in transito

L'esempio successivo illustra lo scenario seguente:

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'esempio successivo illustra lo scenario seguente:

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

Esempio di opzioni di crittografia di dati a riposo

L'esempio successivo illustra lo scenario seguente:

  • La crittografia di dati In transito è disabilitata e la crittografia di dati inattivi è abilitata.

  • SSE-S3 viene utilizzato per la crittografia Amazon S3.

  • La crittografia locale del disco viene utilizzata AWS KMS come fornitore di chiavi.

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'esempio successivo illustra lo scenario seguente:

  • La crittografia dei dati in transito è abilitata e fa riferimento a un file zip con PEM certificati in Amazon S3, utilizzando il. ARN

  • SSE- KMS viene utilizzato per la crittografia Amazon S3.

  • La crittografia locale del disco viene utilizzata AWS KMS come fornitore di chiavi.

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'esempio successivo illustra lo scenario seguente:

  • La crittografia dei dati in transito è abilitata e fa riferimento a un file zip con PEM certificati in Amazon S3.

  • CSE- KMS viene utilizzato per la crittografia Amazon S3.

  • La crittografia del disco locale utilizza un provider di chiavi personalizzato a cui fa riferimento its. 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" } } } }'

L'esempio successivo illustra lo scenario seguente:

  • La crittografia di dati in transito è abilitata con un provider di chiavi personalizzato.

  • CSE-Custom viene utilizzato per i dati di Amazon S3.

  • La crittografia per dischi locali utilizza un provider di chiavi personalizzato.

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'esempio successivo illustra lo scenario seguente:

  • La crittografia di dati In transito è disabilitata e la crittografia di dati inattivi è abilitata.

  • La crittografia Amazon S3 è abilitata con SSE -. KMS

  • Vengono utilizzate più AWS KMS chiavi, una per ogni bucket S3, e le eccezioni di crittografia vengono applicate a questi singoli bucket S3.

  • La crittografia del disco locale è disabilitata.

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'esempio successivo illustra lo scenario seguente:

  • La crittografia di dati In transito è disabilitata e la crittografia di dati inattivi è abilitata.

  • La crittografia Amazon S3 è abilitata con SSE -S3 e la crittografia del disco locale è disabilitata.

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

L'esempio successivo illustra lo scenario seguente:

  • La crittografia di dati In transito è disabilitata e la crittografia di dati inattivi è abilitata.

  • La crittografia del disco locale è abilitata AWS KMS come provider di chiavi e la crittografia Amazon S3 è disabilitata.

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'esempio successivo illustra lo scenario seguente:

  • La crittografia di dati In transito è disabilitata e la crittografia di dati inattivi è abilitata.

  • La crittografia del disco locale è abilitata AWS KMS come provider di chiavi e la crittografia Amazon S3 è disabilitata.

  • EBSla crittografia è abilitata.

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'esempio successivo illustra lo scenario seguente:

SSE-EMR-WAL viene utilizzato per la EMR WAL crittografia

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

EnableInTransitEncryptione potrebbe EnableAtRestEncryption comunque essere vero, se si desidera abilitare la crittografia correlata.

L'esempio successivo illustra lo scenario seguente:

  • SSE-KMS-WAL viene utilizzato per la EMR WAL crittografia

  • La crittografia lato server utilizza AWS Key Management Service come fornitore di chiavi

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

EnableInTransitEncryptione potrebbe EnableAtRestEncryption comunque essere vero, se si desidera abilitare la crittografia correlata.

JSONriferimento per le impostazioni di crittografia

La tabella seguente elenca i JSON parametri per le impostazioni di crittografia e fornisce una descrizione dei valori accettabili per ogni parametro.

Parametro Descrizione
"EnableInTransitEncryption" : true | false Specificare true per abilitare la crittografia in transito e false per disabilitarla. Se omesso, per impostazione predefinita viene utilizzato false e la crittografia in transito viene disabilitata.
"EnableAtRestEncryption": true | false Specificare true per abilitare la crittografia inattiva e false per disabilitarla. Se omesso, per impostazione predefinita viene utilizzato false e la crittografia inattiva viene disabilitata.
Parametri di crittografia in transito
"InTransitEncryptionConfiguration" : Specifica una raccolta di valori utilizzati per configurare la crittografia in transito quando EnableInTransitEncryption è true.
"CertificateProviderType": "PEM" | "Custom" Specifica se utilizzare certificati PEM a cui si fa riferimento con un file zippato oppure un provider di certificati Custom. Se PEM specificato, S3Object deve essere un riferimento alla posizione in Amazon S3 di un file zip contenente i certificati. Se viene specificato Custom, S3Object deve essere un riferimento alla posizione in Amazon S3 di un JAR file, seguito da una CertificateProviderClass voce.
"S3Object" : "ZipLocation" | "JarLocation" Fornisce la posizione in Amazon S3 a un file zip quando PEM specificato o a un JAR file quando Custom specificato. Il formato può essere un percorso (ad esempio,s3://MyConfig/artifacts/CertFiles.zip) o un ARN (ad esempio,arn:aws:s3:::Code/MyCertProvider.jar). Se si specifica un file ZIP, deve contenere file i cui nomi sono esattamente privateKey.pem e certificateChain.pem. Un file denominato trustedCertificates.pem è facoltativo.
"CertificateProviderClass" : "MyClassID" Obbligatorio solo se Custom è specificato perCertificateProviderType. MyClassIDspecifica il nome completo della classe dichiarato nel JAR file, che implementa l'TLSArtifactsProviderinterfaccia. Ad esempio com.mycompany.MyCertProvider.
Parametri di crittografia inattiva
"AtRestEncryptionConfiguration" : Specifica una raccolta di valori per la crittografia a riposo quando EnableAtRestEncryption è disponibiletrue, inclusa la crittografia Amazon S3 e la crittografia del disco locale.
Parametri di crittografia Amazon S3
"S3EncryptionConfiguration" : Speciifica una raccolta di valori utilizzati per la crittografia Amazon S3 con EMR Amazon File System EMRFS ().
"EncryptionMode": "SSE-S3" | "SSE-KMS" | "CSE-KMS" | "CSE-Custom" Speciifica il tipo di crittografia Amazon S3 da utilizzare. Se SSE-S3 specificato, non sono richiesti altri valori di crittografia Amazon S3. Se CSE-KMS viene specificato uno SSE-KMS dei due, AWS KMS key ARN deve essere specificato un come AwsKmsKey valore. Se CSE-Custom è specificato, i valori S3Object e EncryptionKeyProviderClass devono essere specificati.
"AwsKmsKey" : "MyKeyARN" Obbligatorio solo quando uno SSE-KMS dei due CSE-KMS è specificato perEncryptionMode. MyKeyARNdeve essere specificato in modo completo ARN in una chiave (ad esempio,arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012).
"S3Object" : "JarLocation" Richiesto solo quando CSE-Custom è specificato perCertificateProviderType. JarLocationfornisce la posizione in Amazon S3 a un JAR file. Il formato può essere un percorso (ad esempio,s3://MyConfig/artifacts/MyKeyProvider.jar) o un ARN (ad esempio,arn:aws:s3:::Code/MyKeyProvider.jar).
"EncryptionKeyProviderClass" : "MyS3KeyClassID" Obbligatorio solo quando CSE-Custom è specificato perEncryptionMode. MyS3KeyClassIDspecifica il nome completo di una classe dichiarata nell'applicazione che implementa l' EncryptionMaterialsProviderinterfaccia; ad esempio,. com.mycompany.MyS3KeyProvider
Parametri di crittografia per dischi locali
"LocalDiskEncryptionConfiguration" Specifica il provider di chiavi e i valori corrispondenti da utilizzare per la crittografia per dischi locali.
"EnableEbsEncryption": true | false Specificare true per abilitare la crittografia. EBS EBSla crittografia crittografa il volume del dispositivo EBS principale e i volumi di archiviazione collegati. Per utilizzare EBS la crittografia, è necessario specificare AwsKms EncryptionKeyProviderType come.
"EncryptionKeyProviderType": "AwsKms" | "Custom" Specifica il provider di chiavi. Se AwsKms è specificato, è ARN necessario specificare una KMS chiave come AwsKmsKey valore. Se Custom è specificato, i valori S3Object e EncryptionKeyProviderClass devono essere specificati.
"AwsKmsKey : "MyKeyARN" Richiesto solo quando AwsKms è specificato perType. MyKeyARNdeve essere specificato in modo completo ARN in una chiave (ad esempio,arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-456789012123).
"S3Object" : "JarLocation" Richiesto solo quando CSE-Custom è specificato perCertificateProviderType. JarLocationfornisce la posizione in Amazon S3 a un JAR file. Il formato può essere un percorso (ad esempio,s3://MyConfig/artifacts/MyKeyProvider.jar) o un ARN (ad esempio,arn:aws:s3:::Code/MyKeyProvider.jar).

"EncryptionKeyProviderClass" : "MyLocalDiskKeyClassID"

Obbligatorio solo quando Custom è specificato perType. MyLocalDiskKeyClassIDspecifica il nome completo di una classe dichiarata nell'applicazione che implementa l' EncryptionMaterialsProviderinterfaccia; ad esempio,. com.mycompany.MyLocalDiskKeyProvider
EMRWALparametri di crittografia
"EMRWALEncryptionConfiguration" Speciifica il valore per la EMR WAL crittografia.
"AwsKmsKey" Specifica l'ID della CMK chiave Arn.

Configurazione dell'autenticazione Kerberos

Una configurazione di sicurezza con impostazioni Kerberos può essere utilizzata da un cluster creato con attributi Kerberos, altrimenti si verifica un errore. Per ulteriori informazioni, consulta Usa Kerberos per l'autenticazione con Amazon EMR. Kerberos è disponibile solo nella EMR versione di Amazon 5.10.0 e successive.

Configurazione delle impostazioni di Kerberos mediante la console

Scegliere le opzioni in Kerberos authentication (Autenticazione Kerberos) in base alle linee guida seguenti.

Parametro Descrizione

Kerberos

Specifica che Kerberos è abilitato per i cluster che utilizzano questa configurazione di protezione. Se un cluster utilizza questa configurazione di protezione, deve avere anche le impostazioni Kerberos specificate o, in caso contrario, genererà un errore.

Provider

Dedicato al cluster KDC

Speciifica che Amazon EMR crea un KDC sul nodo primario di qualsiasi cluster che utilizza questa configurazione di sicurezza. Specifichi il nome del realm e la password di KDC amministratore quando crei il cluster.

È possibile fare riferimento KDC a questo da altri cluster, se necessario. Crea questi cluster utilizzando una configurazione di sicurezza diversa, specifica una configurazione esterna KDC e utilizza il nome del realm e la password di KDC amministratore specificati per il cluster dedicato. KDC

Esterno KDC

Disponibile solo con Amazon EMR 5.20.0 e versioni successive. Speciifica che i cluster che utilizzano questa configurazione di sicurezza autenticano i principali Kerberos utilizzando un server esterno al cluster. KDC A non KDC viene creato nel cluster. Quando si crea il cluster, si specificano il nome del realm e la password di KDC amministratore per il cluster esternoKDC.

Durata del ticket

Facoltativo. Speciifica il periodo per il quale un ticket Kerberos emesso da KDC è valido nei cluster che utilizzano questa configurazione di sicurezza.

La durata dei ticket è limitata per motivi di sicurezza. Le applicazioni e i servizi del cluster rinnovano automaticamente i ticket dopo la loro scadenza. Gli utenti che si connettono al cluster SSH utilizzando le credenziali Kerberos devono essere eseguiti kinit dalla riga di comando del nodo primario per effettuare il rinnovo dopo la scadenza di un ticket.

Fiducia tra realm

Speciifica un trust interrealm tra un cluster dedicato ai cluster che utilizzano questa configurazione di sicurezza e un KDC in un altro realm Kerberos. KDC

Le entità principali (in genere gli utenti) di un altro realm vengono autenticate nei cluster che utilizzano questa configurazione. È necessaria una configurazione aggiuntiva nell'altro realm Kerberos. Per ulteriori informazioni, consulta Tutorial: Configurazione di un trust tra realm con un controller di dominio Active Directory.

Proprietà di fiducia tra realm

Realm (Dominio)

Specifica il nome di realm Kerberos dell'altro realm della relazione di fiducia. Per convenzione, i nomi del realm Kerberos sono uguali al nome di dominio, ma utilizzano solo lettere maiuscole.

Dominio

Specifica il nome di dominio dell'altro realm della relazione di fiducia.

Server amministratore

Speciifica il nome di dominio completo (FQDN) o l'indirizzo IP del server di amministrazione nell'altro ambito della relazione di trust. Il server di amministrazione e il KDC server in genere vengono eseguiti sullo stesso computer con lo stesso computerFQDN, ma comunicano su porte diverse.

Se non viene specificata alcuna porta, si utilizza la porta 749, ossia l'impostazione predefinita di Kerberos. Facoltativamente, puoi indicare la porta (ad esempio, domain.example.com:749).

KDCserver

Speciifica il nome di dominio completo (FQDN) o l'indirizzo IP del KDC server nell'altro ambito della relazione di trust. Il KDC server e il server di amministrazione in genere vengono eseguiti sullo stesso computer con le stesse porteFQDN, ma utilizzano porte diverse.

Se non viene specificata alcuna porta, si utilizza la porta 88, ossia l'impostazione predefinita di Kerberos. Facoltativamente, puoi indicare la porta (ad esempio, domain.example.com:88).

Esterno KDC

Speciifica che i cluster esterni KDC vengono utilizzati dal cluster.

Proprietà esterne KDC

Server amministratore

Speciifica il nome di dominio completo (FQDN) o l'indirizzo IP del server di amministrazione esterno. Il server di amministrazione e il KDC server in genere vengono eseguiti sullo stesso computer con lo stesso computerFQDN, ma comunicano su porte diverse.

Se non viene specificata alcuna porta, si utilizza la porta 749, ossia l'impostazione predefinita di Kerberos. Facoltativamente, puoi indicare la porta (ad esempio, domain.example.com:749).

KDCserver

Speciifica il nome di dominio completo (FQDN) del KDC server esterno. Il KDC server e il server di amministrazione in genere vengono eseguiti sullo stesso computer con le stesse porteFQDN, ma utilizzano porte diverse.

Se non viene specificata alcuna porta, si utilizza la porta 88, ossia l'impostazione predefinita di Kerberos. Facoltativamente, puoi indicare la porta (ad esempio, domain.example.com:88).

Integrazione con Active Directory

Specifica che l'autenticazione dell'entità Kerberos principale è integrata con un dominio Microsoft Active Directory.

Proprietà di integrazione con Active Directory

Realm di Active Directory

Specifica il nome del realm Kerberos del dominio Active Directory. Per convenzione, i nomi del realm Kerberos sono uguali al nome di dominio, ma utilizzano solo lettere maiuscole.

Dominio Active Directory

Specifica il nome del dominio di Active Directory.

Server Active Directory

Speciifica il nome di dominio completo (FQDN) del controller di dominio Microsoft Active Directory.

Specificare le impostazioni Kerberos utilizzando AWS CLI

La seguente tabella di riferimento mostra JSON i parametri per le impostazioni Kerberos in una configurazione di sicurezza. Per gli esempi di configurazione, consulta Esempi di configurazione.

Parametro Descrizione

"AuthenticationConfiguration": {

Obbligatorio per Kerberos. Specifica che una configurazione di autenticazione fa parte di questa configurazione di sicurezza.

"KerberosConfiguration": {

Obbligatorio per Kerberos. Specifica le proprietà di configurazione Kerberos.

"Provider": "ClusterDedicatedKdc",

oppure

"Provider: "ExternalKdc",

ClusterDedicatedKdcspecifica che Amazon EMR crea un KDC sul nodo primario di qualsiasi cluster che utilizza questa configurazione di sicurezza. Specifichi il nome del realm e la password di KDC amministratore quando crei il cluster. È possibile fare riferimento KDC a questo da altri cluster, se necessario. Crea questi cluster utilizzando una configurazione di sicurezza diversa, specifica una configurazione esterna KDC e utilizza il nome del realm e la password di KDC amministratore che hai specificato quando hai creato il cluster con il cluster dedicato. KDC

ExternalKdcspecifica che il cluster utilizza un dispositivo esterno. KDC Amazon EMR non crea un KDC sul nodo primario. Un cluster che utilizza questa configurazione di sicurezza deve specificare il nome dell'area di autenticazione e la password di KDC amministrazione dell'area esternaKDC.

"ClusterDedicatedKdcConfiguration": {

Opzione obbligatoria quando specifichi ClusterDedicatedKdc.

"TicketLifetimeInHours": 24,

Facoltativo. Speciifica il periodo per il quale un ticket Kerberos emesso da KDC è valido nei cluster che utilizzano questa configurazione di sicurezza.

La durata dei ticket è limitata per motivi di sicurezza. Le applicazioni e i servizi del cluster rinnovano automaticamente i ticket dopo la loro scadenza. Gli utenti che si connettono al cluster SSH utilizzando le credenziali Kerberos devono essere eseguiti kinit dalla riga di comando del nodo primario per effettuare il rinnovo dopo la scadenza di un ticket.

"CrossRealmTrustConfiguration": {

Speciifica un trust interrealm tra un cluster dedicato ai cluster che utilizzano questa configurazione di sicurezza e un KDC in un altro realm Kerberos. KDC

Le entità principali (in genere gli utenti) di un altro realm vengono autenticate nei cluster che utilizzano questa configurazione. È necessaria una configurazione aggiuntiva nell'altro realm Kerberos. Per ulteriori informazioni, consulta Tutorial: Configurazione di un trust tra realm con un controller di dominio Active Directory.

"Realm": "KDC2.COM",

Specifica il nome di realm Kerberos dell'altro realm della relazione di fiducia. Per convenzione, i nomi del realm Kerberos sono uguali al nome di dominio, ma utilizzano solo lettere maiuscole.

"Domain": "kdc2.com",

Specifica il nome di dominio dell'altro realm della relazione di fiducia.

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

Speciifica il nome di dominio completo (FQDN) o l'indirizzo IP del server di amministrazione nell'altro ambito della relazione di trust. Il server di amministrazione e il KDC server in genere vengono eseguiti sullo stesso computer con lo stesso computerFQDN, ma comunicano su porte diverse.

Se non viene specificata alcuna porta, si utilizza la porta 749, ossia l'impostazione predefinita di Kerberos. Facoltativamente, puoi indicare la porta (ad esempio, domain.example.com:749).

"KdcServer": "kdc.com:88"

Speciifica il nome di dominio completo (FQDN) o l'indirizzo IP del KDC server nell'altro ambito della relazione di trust. Il KDC server e il server di amministrazione in genere vengono eseguiti sullo stesso computer con le stesse porteFQDN, ma utilizzano porte diverse.

Se non viene specificata alcuna porta, si utilizza la porta 88, ossia l'impostazione predefinita di Kerberos. Facoltativamente, puoi indicare la porta (ad esempio, domain.example.com:88).

}

}

"ExternalKdcConfiguration": {

Opzione obbligatoria quando specifichi ExternalKdc.

"TicketLifetimeInHours": 24,

Facoltativo. Speciifica il periodo per il quale un ticket Kerberos emesso da KDC è valido nei cluster che utilizzano questa configurazione di sicurezza.

La durata dei ticket è limitata per motivi di sicurezza. Le applicazioni e i servizi del cluster rinnovano automaticamente i ticket dopo la loro scadenza. Gli utenti che si connettono al cluster SSH utilizzando le credenziali Kerberos devono essere eseguiti kinit dalla riga di comando del nodo primario per effettuare il rinnovo dopo la scadenza di un ticket.

"KdcServerType": "Single",

Speciifica che viene fatto riferimento a un singolo server. KDC Singleè attualmente l'unico valore supportato.

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

Speciifica il nome di dominio completo (FQDN) o l'indirizzo IP del server di amministrazione esterno. Il server di amministrazione e il KDC server in genere vengono eseguiti sullo stesso computer con lo stesso computerFQDN, ma comunicano su porte diverse.

Se non viene specificata alcuna porta, si utilizza la porta 749, ossia l'impostazione predefinita di Kerberos. Facoltativamente, puoi indicare la porta (ad esempio, domain.example.com:749).

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

Speciifica il nome di dominio completo (FQDN) del KDC server esterno. Il KDC server e il server di amministrazione in genere vengono eseguiti sullo stesso computer con le stesse porteFQDN, ma utilizzano porte diverse.

Se non viene specificata alcuna porta, si utilizza la porta 88, ossia l'impostazione predefinita di Kerberos. Facoltativamente, puoi indicare la porta (ad esempio, domain.example.com:88).

"AdIntegrationConfiguration": {

Specifica che l'autenticazione dell'entità Kerberos principale è integrata con un dominio Microsoft Active Directory.

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

Specifica il nome del realm Kerberos del dominio Active Directory. Per convenzione, i nomi del realm Kerberos sono uguali al nome di dominio, ma utilizzano solo lettere maiuscole.

"AdDomain": "ad.domain.com"

Specifica il nome del dominio di Active Directory.

"AdServer": "ad.domain.com"

Speciifica il nome di dominio completo (FQDN) del controller di dominio Microsoft Active Directory.

}

}

}

}

Configurazione IAM dei ruoli per EMRFS le richieste ad Amazon S3

IAMi ruoli per EMRFS consentono di fornire autorizzazioni diverse ai EMRFS dati in Amazon S3. Crei mappature che specificano un IAM ruolo utilizzato per le autorizzazioni quando una richiesta di accesso contiene un identificatore specificato dall'utente. L'identificatore può essere un ruolo o un utente Hadoop oppure un prefisso Amazon S3.

Per ulteriori informazioni, consulta Configurazione IAM dei ruoli per EMRFS le richieste ad Amazon S3.

Specificazione IAM dei ruoli per l'utilizzo di EMRFS AWS CLI

Di seguito è riportato un JSON frammento di esempio per specificare IAM ruoli personalizzati EMRFS all'interno di una configurazione di sicurezza. Vengono illustrate le mappature dei ruoli per i tre diversi tipi di identificatori, seguite da un riferimento ai parametri.

{ "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" ] }] } } }
Parametro Descrizione

"AuthorizationConfiguration":

Obbligatorio.

"EmrFsConfiguration":

Obbligatorio. Contiene mappature dei ruoli.

  "RoleMappings":

Obbligatorio. Contiene una o più definizioni di mappatura dei ruoli. Le mappature dei ruoli vengono valutate dall'alto verso il basso nell'ordine in cui vengono visualizzate. Se una mappatura dei ruoli risulta vera per una EMRFS chiamata di dati in Amazon S3, non vengono valutate ulteriori mappature dei ruoli EMRFS e utilizza il ruolo specificato per la richiesta. IAM Le mappature dei ruoli sono costituite dai parametri obbligatori seguenti:

   "Role":

Speciifica l'ARNidentificatore di un ruolo nel formato. IAM arn:aws:iam::account-id:role/role-name Questo è il IAM ruolo che Amazon EMR assume se la EMRFS richiesta ad Amazon S3 corrisponde a uno dei Identifiers valori specificati.

   "IdentifierType":

Il valore può essere uno dei seguenti:

  • "User" specifica che gli identificatori sono uno o più utenti Hadoop, i quali possono essere utenti di account Linux o entità Kerberos. Quando la EMRFS richiesta proviene dall'utente o dagli utenti specificati, viene IAM assunto il ruolo.

  • "Prefix" specifica che l'identificatore è un percorso Amazon S3. Il IAM ruolo viene assunto per le chiamate alla posizione o alle posizioni con i prefissi specificati. Ad esempio, il prefisso s3://mybucket/ corrisponde a s3://mybucket/mydir e s3://mybucket/yetanotherdir.

  • "Group" specifica che gli identificatori sono uno o più Gruppi Hadoop. Il IAM ruolo viene assunto se la richiesta proviene da un utente del gruppo o dei gruppi specificati.

   "Identifiers":

Specifica uno o più identificatori del tipo di identificatore appropriato. Separa più identificatori con virgole senza spazi.

Configura le richieste di servizi di metadati per le istanze Amazon EC2

I metadati dell'istanza sono dati relativi all'istanza che puoi utilizzare per configurare o gestire un'istanza in esecuzione. Puoi accedere ai metadati dell'istanza da un'istanza in esecuzione utilizzando uno dei metodi seguenti:

  • Instance Metadata Service versione 1 (IMDSv1): un metodo di richiesta/risposta

  • Instance Metadata Service Version 2 (IMDSv2): un metodo orientato alla sessione

Sebbene Amazon EC2 supporti entrambi IMDSv1 eIMDSv2, Amazon EMR supporta IMDSv2 Amazon EMR 5.23.1, 5.27.1, 5.32 o versioni successive e 6.2 o versioni successive. In queste versioni, EMR i componenti Amazon vengono utilizzati IMDSv2 per tutte le IMDS chiamate. Per IMDS le chiamate nel codice dell'applicazione, puoi utilizzare entrambi IMDSv1 e oppure IMDSv2 configurarle in modo che IMDS vengano utilizzate solo IMDSv2 per una maggiore sicurezza. Quando si specifica che IMDSv2 deve essere utilizzato, IMDSv1 non funziona più.

Per ulteriori informazioni, consulta Configurare il servizio di metadati dell'istanza nella Amazon EC2 User Guide.

Nota

Nelle versioni precedenti di Amazon EMR 5.x o 6.x, la disattivazione IMDSv1 causa un errore di avvio del cluster poiché EMR i componenti di Amazon vengono utilizzati IMDSv1 per tutte le IMDS chiamate. Quando si spegneIMDSv1, assicurati che qualsiasi software personalizzato che utilizza IMDSv1 sia aggiornato a. IMDSv2

Specifica della configurazione del servizio di metadati dell'istanza utilizzando la AWS CLI

Di seguito è riportato un JSON frammento di esempio per specificare EC2 Amazon Instance Metadata Service IMDS () all'interno di una configurazione di sicurezza. L'utilizzo di una configurazione di sicurezza personalizzata è facoltativo.

{ "InstanceMetadataServiceConfiguration" : { "MinimumInstanceMetadataServiceVersion": integer, "HttpPutResponseHopLimit": integer } }
Parametro Descrizione

"InstanceMetadataServiceConfiguration":

Se non lo specifichi IMDS all'interno di una configurazione di sicurezza e utilizzi una EMR versione di Amazon che lo richiedeIMDSv1, per EMR impostazione predefinita Amazon utilizza IMDSv1 come istanza minima la versione del servizio di metadati. Se desideri utilizzare la tua configurazione, sono necessari entrambi i seguenti parametri.

"MinimumInstanceMetadataServiceVersion":

Obbligatorio. Specificare 1 o 2. Un valore di 1 allows IMDSv1 eIMDSv2. Un valore di 2 allows onlyIMDSv2.

"HttpPutResponseHopLimit":

Obbligatorio. Il limite di hop di HTTP PUT risposta desiderato per esempio le richieste di metadati. Maggiore è il numero, più è lungo il tragitto che le richieste di metadati dell'istanza possono percorrere. Default: 1. Specifica un numero intero da 1 a 64.

Specifica della configurazione del servizio di metadati dell'istanza utilizzando la console

Puoi configurare l'uso di IMDS per un cluster quando lo avvii dalla EMR console Amazon.

Per configurare l'IMDSutilizzo della console:
  1. Quando crei una nuova configurazione di sicurezza nella pagina Configurazioni di sicurezza, seleziona Configura il servizio di metadati dell'EC2EC2istanza nell'impostazione Instance Metadata Service. Questa configurazione è supportata solo in Amazon EMR 5.23.1, 5.27.1, 5.32 o versioni successive e 6.2 o versioni successive.

  2. Per l'opzione Minimum Instance Metadata Service Version (Versione del servizio di metadati dell'istanza minima), seleziona una delle seguenti opzioni:

  3. InfattiIMDSv2, puoi anche configurare il numero consentito di hop di rete per il token di metadati impostando il limite dell'hop di risposta HTTP put su un numero intero compreso tra e. 1 64

Per ulteriori informazioni, consulta Configurare il servizio di metadati dell'istanza nella Amazon EC2 User Guide.

Consulta Configurare i dettagli dell'istanza e Configurare il servizio di metadati dell'istanza nella Amazon EC2 User Guide.