Tous les produits
Search
Centre de documentation

E-MapReduce:Rôles d'application ECS pour EMR V3.32 et versions antérieures, et EMR V4.5 et versions antérieures

Dernière mise à jour :Sep 17, 2026

E-MapReduce (EMR) associe automatiquement un rôle d'application ECS nommé MetaService à chaque cluster que vous créez. Les tâches et les applications exécutées sur le cluster utilisent ce rôle pour accéder aux ressources Alibaba Cloud. Aucune paire AccessKey n'est requise dans les fichiers de configuration ou le code, ce qui élimine le risque d'exposition des identifiants.

MetaService permet d'accéder aux services suivants sans utiliser de paire AccessKey :

Service Activé par défaut
Object Storage Service (OSS) Oui
Log Service Non — nécessite des autorisations RAM supplémentaires
Message Service (MNS) Non — nécessite des autorisations RAM supplémentaires

Pour activer l'accès à Log Service ou MNS, accordez les autorisations requises au rôle AliyunEmrEcsDefaultRole dans la console RAM. Pour plus d'informations, consultez la rubrique Accorder des autorisations à un rôle RAM.

Prérequis

Avant de commencer, assurez-vous d'avoir :

Fonctionnement de MetaService

Lorsqu'une tâche ou une application appelle un service Alibaba Cloud pris en charge, MetaService fournit en arrière-plan un identifiant temporaire Security Token Service (STS). Aucune paire AccessKey n'est nécessaire dans votre code ou votre configuration.

Rotation des identifiants STS : Un nouvel identifiant temporaire STS est généré 30 minutes avant l'expiration de l'identifiant actuel. Les deux identifiants restent valides pendant cette fenêtre de chevauchement de 30 minutes.

Autorisations par défaut

Le rôle AliyunEmrEcsDefaultRole est configuré avec la stratégie AliyunEmrECSRolePolicy, qui accorde les autorisations suivantes.

Autorisations OSS

Autorisation (Action) Description
oss:PutObject Télécharge un fichier ou un dossier
oss:GetObject Interroge un fichier ou un dossier
oss:ListObjects Interroge les fichiers
oss:DeleteObject Supprime un fichier
oss:ListBuckets Interroge les buckets
oss:AbortMultipartUpload Met fin à un événement de téléchargement multipartie
oss:ListMultipartUploads Interroge tous les événements de téléchargement multipartie en cours
oss:RestoreObject Restaure un objet Archive ou Cold Archive
oss:GetBucketInfo Interroge les informations relatives à un bucket
oss:ListObjectVersions Interroge les versions de tous les objets d'un bucket, y compris les marqueurs de suppression
oss:DeleteObjectVersion Supprime une version spécifique d'un objet
oss:PostDataLakeStorageFileOperation Accède à OSS-HDFS

Autorisations Tablestore

Autorisation (Action) Description
ots:CreateTable Crée une table basée sur le schéma de table spécifié
ots:DeleteTable Supprime une table spécifique de l'instance actuelle
ots:GetRow Lit les données d'une seule ligne en fonction d'une clé primaire spécifique
ots:PutRow Insère des données dans une ligne spécifique
ots:UpdateRow Met à jour les données d'une ligne spécifique
ots:DeleteRow Supprime une ligne de données
ots:GetRange Lit les données comprises dans une plage de valeurs spécifique de la clé primaire
ots:BatchWriteRow Insère, modifie ou supprime plusieurs lignes de données d'une ou plusieurs tables en une seule fois
ots:BatchGetRow Lit plusieurs lignes de données d'une ou plusieurs tables en une seule fois
ots:ComputeSplitPointsBySize Divise logiquement les données d'une table en plusieurs shards dont les tailles sont proches de la taille spécifiée, et renvoie les points de division entre les shards ainsi que des indications sur les hôtes où résident les partitions
ots:StartLocalTransaction Crée une transaction locale basée sur une valeur de clé de partition spécifiée et interroge l'ID de la transaction locale
ots:CommitTransaction Valide une transaction locale
ots:AbortTransaction Abandonne une transaction locale

Autorisations Data Lake Formation (DLF)

Autorisation (Action) Description
dlf:BatchCreatePartitions Crée plusieurs partitions en une seule fois
dlf:BatchCreateTables Crée plusieurs tables en une seule fois
dlf:BatchDeletePartitions Supprime plusieurs partitions en une seule fois
dlf:BatchDeleteTables Supprime plusieurs tables en une seule fois
dlf:BatchGetPartitions Interroge les informations relatives à plusieurs partitions en une seule fois
dlf:BatchGetTables Interroge les informations relatives à plusieurs tables en une seule fois
dlf:BatchUpdatePartitions Met à jour plusieurs partitions en une seule fois
dlf:BatchUpdateTables Met à jour plusieurs tables en une seule fois
dlf:CreateDatabase Crée une base de données
dlf:CreateFunction Crée une fonction
dlf:CreatePartition Crée une partition
dlf:CreateTable Crée une table
dlf:DeleteDatabase Supprime une base de données
dlf:DeleteFunction Supprime une fonction
dlf:DeletePartition Supprime une partition
dlf:DeleteTable Supprime une table
dlf:GetDatabase Interroge les informations relatives à une base de données
dlf:GetFunction Interroge les informations relatives à une fonction
dlf:GetPartition Interroge les informations relatives à une partition
dlf:GetTable Interroge les informations relatives à une table
dlf:ListCatalogs Interroge les catalogues
dlf:ListDatabases Interroge les bases de données
dlf:ListFunctionNames Interroge les noms des fonctions
dlf:ListFunctions Interroge les fonctions
dlf:ListPartitionNames Interroge les noms des partitions
dlf:ListPartitions Interroge les partitions
dlf:ListPartitionsByExpr Interroge les partitions de la table de métadonnées selon des conditions
dlf:ListPartitionsByFilter Interroge les partitions de la table de métadonnées selon des conditions
dlf:ListTableNames Interroge les noms des tables
dlf:ListTables Interroge les tables
dlf:RenamePartition Renomme une partition
dlf:RenameTable Renomme une table
dlf:UpdateDatabase Met à jour une base de données
dlf:UpdateFunction Met à jour une fonction
dlf:UpdateTable Met à jour une table
dlf:UpdateTableColumnStatistics Met à jour les statistiques d'une table de métadonnées
dlf:GetTableColumnStatistics Interroge les statistiques d'une table de métadonnées
dlf:DeleteTableColumnStatistics Supprime les statistiques d'une table de métadonnées
dlf:UpdatePartitionColumnStatistics Met à jour les statistiques d'une partition
dlf:GetPartitionColumnStatistics Interroge les statistiques d'une partition
dlf:DeletePartitionColumnStatistics Supprime les statistiques d'une partition
dlf:BatchGetPartitionColumnStatistics Interroge les statistiques de plusieurs partitions en une seule fois
dlf:CreateLock Crée un verrou de métadonnées
dlf:UnLock Déverrouille un verrou de métadonnées spécifique
dlf:AbortLock Abandonne un verrou de métadonnées
dlf:RefreshLock Actualise un verrou de métadonnées
dlf:GetLock Interroge les informations relatives à un verrou de métadonnées
dlf:GetAsyncTaskStatus Interroge l'état d'une tâche asynchrone
dlf:DeltaGetPermissions Interroge les autorisations
dlf:GetPermissions Interroge les informations relatives aux autorisations de données
dlf:GetServiceInfo Interroge les informations relatives à un service
dlf:GetRoles Interroge les informations relatives aux rôles dans les autorisations de données
dlf:CheckPermissions Vérifie les autorisations de données

Utilisation de MetaService

Choisissez l'approche adaptée à votre charge de travail :

Scénario Approche Résultat
Tâches exécutées sur le cluster (Hadoop, Hive, Spark) Utilisez des chemins OSS simplifiés Accès à OSS sans identifiants dans le chemin
Services gérés manuellement ou applications personnalisées Appelez l'API HTTP MetaService Identifiants temporaires STS pour OSS, Log Service et MNS

Accès à OSS depuis les tâches du cluster

Lorsque MetaService est actif, utilisez le format de chemin simplifié dans n'importe quelle tâche du cluster :

oss://<bucket-name>/<object-path>

MetaService gère l'authentification automatiquement. Vous n'avez pas besoin d'intégrer les identifiants dans le chemin. Cela améliore également votre expérience lors de l'interaction avec les ressources OSS, car le chemin OSS à saisir est considérablement plus court.

Hadoop — répertorier les objets :

# Without MetaService (credentials embedded in path)
hadoop fs -ls oss://ZaH******As1s:Ba23N**************sdaBj2@bucket.oss-cn-hangzhou-internal.aliyuncs.com/a/b/c

# With MetaService (simplified path)
hadoop fs -ls oss://bucket/a/b/c

Hive — créer une table externe sauvegardée par OSS :

-- Without MetaService (credentials embedded in path)
CREATE EXTERNAL TABLE test_table(id INT, name string)
        ROW FORMAT DELIMITED
        FIELDS TERMINATED BY '/t'
        LOCATION 'oss://ZaH******As1s:Ba23N**************sdaBj2@bucket.oss-cn-hangzhou-internal.aliyuncs.com/a/b/c';

-- With MetaService (simplified path)
CREATE EXTERNAL TABLE test_table(id INT, name string)
        ROW FORMAT DELIMITED
        FIELDS TERMINATED BY '/t'
        LOCATION 'oss://bucket/a/b/c';

Spark — lire les données OSS :

// Without MetaService (credentials embedded in path)
val data = sc.textFile("oss://ZaH******As1s:Ba23N**************sdaBj2@bucket.oss-cn-hangzhou-internal.aliyuncs.com/a/b/c")

// With MetaService (simplified path)
val data = sc.textFile("oss://bucket/a/b/c")

Obtention des identifiants STS à partir de services gérés manuellement

MetaService expose une API HTTP à l'adresse http://localhost:10011 sur chaque nœud du cluster. Appelez ces endpoints pour récupérer l'identifiant temporaire STS dont votre application a besoin pour accéder aux ressources Alibaba Cloud sans paire AccessKey.

Exemple — obtenir la région du cluster :

curl http://localhost:10011/cluster-region

Endpoints disponibles :

Endpoint Valeur renvoyée
/cluster-region Région où réside le cluster
/cluster-role-name Nom du rôle
/role-access-key-id ID AccessKey de l'identifiant STS
/role-access-key-secret Secret AccessKey de l'identifiant STS
/role-security-token Jeton de sécurité de l'identifiant STS
/cluster-network-type Type de réseau

Notes d'utilisation

Important

Modifiez ou supprimez le rôle AliyunEmrEcsDefaultRole avec prudence. La suppression ou la mauvaise configuration de ce rôle entraîne des échecs de création de cluster et des échecs de tâches. Pour minimiser les risques de sécurité, appliquez le principe du moindre privilège lors de la configuration des autorisations dans la console RAM.