Tous les produits
Search
Centre de documentation

E-MapReduce:Configure an OSS/OSS-HDFS credential provider

Dernière mise à jour :Aug 09, 2026

Cette rubrique explique comment configurer un fournisseur d'identifiants pour OSS ou OSS-HDFS.

Configuration de base

Vous pouvez préconfigurer l'AccessKey ID, l'AccessKey Secret et le endpoint pour OSS ou OSS-HDFS directement dans le fichier Hadoop core-site.xml. Pour appliquer ces paramètres à un cluster EMR, procédez comme suit :

  1. Sur la page de configuration du service Hadoop-Common, cliquez sur l'onglet core-site.xml.

  2. Cliquez sur Add Configuration Item, puis ajoutez les éléments de configuration fs.oss.accessKeyId et fs.oss.accessKeySecret.

  3. Cliquez sur OK, saisissez la raison de l'exécution, puis cliquez à nouveau sur OK.

  4. Cliquez sur Save ci-dessous.

Stocker les AccessKeys avec les fournisseurs d'identifiants Hadoop

Avec la méthode de configuration de base, les paramètres fs.oss.accessKeyId et fs.oss.accessKeySecret sont stockés en clair dans le fichier core-site.xml. Il est possible de les enregistrer sous forme de paire chiffrée dans un fichier de fournisseurs d'identifiants Hadoop (Hadoop Credential Providers).

Stockez l'AccessKey ID, l'AccessKey Secret et le jeton de sécurité dans un fichier d'identifiants à l'aide de la commande Hadoop suivante :

hadoop credential <subcommand> [options]

En plus des permissions de fichier, vous pouvez spécifier un mot de passe pour chiffrer les identifiants. Si vous omettez le mot de passe, le système utilise une chaîne par défaut pour le chiffrement.

hadoop credential create fs.oss.accessKeyId -value AAA -provider jceks://file/root/oss.jceks
hadoop credential create fs.oss.accessKeySecret -value BBB -provider jceks://file/root/oss.jceks
hadoop credential create fs.oss.securityToken -value CCC -provider jceks://file/root/oss.jceks

Après avoir généré le fichier d'identifiants, configurez la propriété suivante pour spécifier le type et l'emplacement du fournisseur :

<configuration>
    <property>
        <name>fs.oss.security.credential.provider.path</name>
        <value>jceks://file/root/oss.jceks</value>
        <description>Specifies the credential file that stores your access keys. For example, jceks://file/${user.home}/oss.jceks points to the oss.jceks file in your home directory.</description>
    </property>
</configuration>

Utiliser les fournisseurs d'identifiants JindoSDK

Par défaut, JindoSDK est configuré avec SimpleCredentialsProvider, EnvironmentVariableCredentialsProvider et CommonCredentialsProvider. Le système interroge chaque fournisseur séquentiellement jusqu'à ce qu'il obtienne des identifiants valides.

<configuration>
    <property>
        <name>fs.oss.credentials.provider</name>
        <value>com.aliyun.jindodata.oss.auth.SimpleCredentialsProvider,com.aliyun.jindodata.oss.auth.EnvironmentVariableCredentialsProvider,com.aliyun.jindodata.oss.auth.CommonCredentialsProvider</value>
        <description>Specifies the com.aliyun.jindodata.oss.auth.JindoCredentialsProvider. To use multiple providers, separate the class names with a comma (,). The system attempts to retrieve credentials from each provider in order. For more information about the providers, see Credential provider types.</description>
    </property>
</configuration>

Sélectionnez un fournisseur d'identifiants parmi les options suivantes :

|
**Type de fournisseur d'identifiants**
|
**Description**
| | --- | --- | |
TemporaryCredentialsProvider
|
Utilisez ce fournisseur pour accéder à OSS ou OSS-HDFS avec un AccessKey ID, un AccessKey Secret et un jeton de sécurité limités dans le temps.
| |
SimpleCredentialsProvider
|
Utilisez ce fournisseur pour accéder à OSS ou OSS-HDFS avec un AccessKey ID et un AccessKey Secret à long terme.
| |
EnvironmentVariableCredentialsProvider
|
Récupère les identifiants depuis les variables d'environnement.
| |
CommonCredentialsProvider
|
Fournisseur qui récupère les identifiants à partir des paramètres de configuration Jindo courants.
| |
CustomCredentialsProvider
|
S'intègre à un service personnalisé sans mot de passe.
|























TemporaryCredentialsProvider

  • Configurez le type de fournisseur

    <configuration>
        <property>
            <name>fs.oss.credentials.provider</name>
            <value>com.aliyun.jindodata.oss.auth.TemporaryCredentialsProvider</value>
        </property>
    </configuration>
  • Configurez les identifiants OSS ou OSS-HDFS

    <configuration>
        <property>
            <name>fs.oss.accessKeyId</name>
            <value>YOUR_ACCESS_KEY_ID</value>
        </property>
        <property>
            <name>fs.oss.accessKeySecret</name>
            <value>YOUR_ACCESS_KEY_SECRET</value>
        </property>
        <property>
            <name>fs.oss.securityToken</name>
            <value>YOUR_SECURITY_TOKEN</value>
        </property>
    </configuration>

SimpleCredentialsProvider

  • Configurez le type de fournisseur

    <configuration>
        <property>
            <name>fs.oss.credentials.provider</name>
            <value>com.aliyun.jindodata.oss.auth.SimpleCredentialsProvider</value>
        </property>
    </configuration>
  • Configurez les identifiants OSS ou OSS-HDFS

    <configuration>
        <property>
            <name>fs.oss.accessKeyId</name>
            <value>YOUR_ACCESS_KEY_ID</value>
        </property>
        <property>
            <name>fs.oss.accessKeySecret</name>
            <value>YOUR_ACCESS_KEY_SECRET</value>
        </property>
    </configuration>

EnvironmentVariableCredentialsProvider

  • Configurez le type de fournisseur

    <configuration>
        <property>
            <name>fs.oss.credentials.provider</name>
            <value>com.aliyun.jindodata.oss.auth.EnvironmentVariableCredentialsProvider</value>
        </property>
    </configuration>
  • Configurez les identifiants OSS ou OSS-HDFS

    Définissez les variables d'environnement suivantes :

    Paramètre

    Description

    OSS_ACCESS_KEY_ID

    L'AccessKey ID pour OSS ou OSS-HDFS.

    OSS_ACCESS_KEY_SECRET

    L'AccessKey Secret pour OSS ou OSS-HDFS.

    OSS_SECURITY_TOKEN

    Le jeton de sécurité pour OSS ou OSS-HDFS.

    Remarque

    Requis uniquement lors de l'utilisation d'un jeton limité dans le temps.

CommonCredentialsProvider

  • Configurez le type de fournisseur

    <configuration>
        <property>
            <name>fs.oss.credentials.provider</name>
            <value>com.aliyun.jindodata.oss.auth.CommonCredentialsProvider</value>
        </property>
    </configuration>
  • Configurez les identifiants OSS ou OSS-HDFS

    <configuration>
        <property>
            <name>jindo.common.accessKeyId</name>
            <value>YOUR_ACCESS_KEY_ID</value>
        </property>
        <property>
            <name>jindo.common.accessKeySecret</name>
            <value>YOUR_ACCESS_KEY_SECRET</value>
        </property>
        <property>
            <name>jindo.common.securityToken</name>
            <value>YOUR_SECURITY_TOKEN. (Required for time-bound tokens)</value>
        </property>
    </configuration>

CustomCredentialsProvider

  • Configurez le type de fournisseur

    <configuration>
        <property>
            <name>fs.oss.credentials.provider</name>
            <value>com.aliyun.jindodata.oss.auth.CustomCredentialsProvider</value>
        </property>
    </configuration>
  • Configurez l'URL du service sans mot de passe

    <configuration>
        <property>
            <name>aliyun.oss.provider.url</name>
            <value>The URL of the password-free service.</value>
        </property>
    </configuration>

    Le paramètre aliyun.oss.provider.url prend en charge les protocoles http(s) et Secrets :

    • Protocole HTTP(S)

      Le format d'URL pour le service sans mot de passe HTTP(S) est http://localhost:1234/sts. Le protocole sans mot de passe HTTP requiert que la réponse soit au format JSON.

      {
      "AccessKeyId" : "XXXXXXXXX",
      "AccessKeySecret" : "XXXXXXXXX",
      "Expiration" : "2020-11-01T05:20:01Z",
      "SecurityToken" : "XXXXXXXXX",
      "LastUpdated" : "2020-10-31T23:20:01Z",
      "Code" : "Success"
      }
    • Protocole Secrets

      Le format d'adresse pour le service sans mot de passe Secrets est secrets:///local_path_prefix, couramment utilisé dans les scénarios Kubernetes. Ici, local_path_prefix représente le préfixe du chemin :

      • Si local_path_prefix est défini sur secrets:///secret/JindoOss, le système recherche des fichiers tels que /secret/JindoOssAccessKeyId, /secret/JindoOssAccessKeySecret et /secret/JindoOssSecurityToken sur le nœud.

      • Si local_path_prefix est défini sur secrets:///secret/JindoOss/, le système recherchera des fichiers tels que /secret/JindoOss/AccessKeyId, /secret/JindoOss/AccessKeySecret et /secret/JindoOss/SecurityToken sur le nœud.