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.
Autoriser l'accès aux EMRFS données dans Amazon S3
Par défaut, le EMR rôle pour EC2 détermine les autorisations d'accès aux EMRFS données dans Amazon S3. Les IAM politiques associées à ce rôle s'appliquent quel que soit l'utilisateur ou le groupe qui fait la demandeEMRFS. L’argument par défaut est EMR_EC2_DefaultRole
. Pour plus d'informations, consultez la section Rôle de service pour les EC2 instances de cluster (profil d'EC2instance).
À partir de la EMR version 5.10.0 d'Amazon, vous pouvez utiliser une configuration de sécurité pour spécifier les IAM rôles pour. EMRFS Cela vous permet de personnaliser les autorisations pour les EMRFS demandes adressées à Amazon S3 pour les clusters comportant plusieurs utilisateurs. Vous pouvez définir différents IAM rôles pour différents utilisateurs et groupes, ainsi que pour différents emplacements de compartiment Amazon S3 en fonction du préfixe dans Amazon S3. Lorsque vous EMRFS envoyez une demande à Amazon S3 qui correspond à des utilisateurs, à des groupes ou à des emplacements que vous spécifiez, le cluster utilise le rôle correspondant que vous spécifiez au lieu du EMR rôle pour lequel vous le spécifiezEC2. Pour plus d'informations, consultez Configurer IAM les rôles pour les EMRFS demandes adressées à Amazon S3.
Sinon, si les exigences de votre EMR solution Amazon vont au-delà IAM des rôles EMRFS fournis, vous pouvez définir une classe de fournisseur d'informations d'identification personnalisée, qui vous permet de personnaliser l'accès aux EMRFS données dans Amazon S3.
Création d'un fournisseur d'informations d'identification personnalisé pour EMRFS les données dans Amazon S3
Pour créer un fournisseur d'informations d'identification personnalisé, vous implémentez les AWSCredentialsProviderclasses et Hadoop Configurable
Pour une explication détaillée de cette approche, voir Analyser en toute sécurité les données d'un autre AWS compte EMRFS
La procédure de base est la suivante :
Pour spécifier un fournisseur d'informations d'identification personnalisées
Créez une classe de fournisseur d'informations d'identification personnalisée compilée sous forme de JAR fichier.
Exécutez un script sous forme d'action de démarrage pour copier le JAR fichier du fournisseur d'informations d'identification personnalisé à l'
/usr/share/aws/emr/emrfs/auxlib
emplacement du nœud principal du cluster. Pour plus d'informations sur les actions d'amorçage, consultez (Facultatif) Création d'actions d'amorçage pour installer des logiciels supplémentaires.-
Personnalisez la
emrfs-site
classification pour spécifier la classe que vous implémentez dans le JAR fichier. Pour plus d'informations sur la spécification d'objets de configuration pour personnaliser les applications, consultez la section Configuration des applications dans le Amazon EMR Release Guide.L'exemple suivant illustre une commande
create-cluster
qui lance un cluster Hive avec les paramètres de configuration courants et qui inclut également :Une action d'amorçage qui exécute le script,
, enregistré surcopy_jar_file.sh
dans Amazon S3.amzn-s3-demo-bucket
Une
emrfs-site
classification qui spécifie un fournisseur d'informations d'identification personnalisé défini dans le JAR fichier commeMyCustomCredentialsProvider
Note
Les caractères de continuation de ligne Linux (\) sont inclus pour des raisons de lisibilité. Ils peuvent être supprimés ou utilisés dans les commandes Linux. Pour Windows, supprimez-les ou remplacez-les par un caret (^).
aws emr create-cluster --applications Name=Hive \ --bootstrap-actions '[{"Path":"
s3://amzn-s3-demo-bucket/copy_jar_file.sh
","Name":"Custom action"}]' \ --ec2-attributes '{"KeyName":"MyKeyPair
","InstanceProfile":"EMR_EC2_DefaultRole",\ "SubnetId":"subnet-xxxxxxxx","EmrManagedSlaveSecurityGroup":"sg-xxxxxxxx",\ "EmrManagedMasterSecurityGroup":"sg-xxxxxxxx"}' \ --service-role EMR_DefaultRole_V2 --enable-debugging --release-labelemr-7.3.0
\ --log-uri 's3n://my-emr-log-bucket
/' --name 'test-awscredentialsprovider-emrfs' \ --instance-type=m5.xlarge --instance-count 3 \ --configurations '[{"Classification":"emrfs-site",\ "Properties":{"fs.s3.customAWSCredentialsProvider":"MyAWSCredentialsProviderWithUri"},\ "Configurations":[]}]'