Todos los productos
Search
Centro de documentos

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

Última actualización: Sep 04, 2026

Este tema explica cómo configurar un proveedor de credenciales de OSS/OSS-HDFS.

Configuración básica

Puede preconfigurar el AccessKey ID, el AccessKey secret y el endpoint para OSS u OSS-HDFS en el archivo core-site.xml de Hadoop. Para configurar estos parámetros en un clúster de EMR, siga estos pasos:

  1. En la página de configuración del servicio Hadoop-Common, haga clic en la pestaña core-site.xml.

  2. Haga clic en Add Configuration Item y agregue los elementos de configuración fs.oss.accessKeyId y fs.oss.accessKeySecret.

  3. Haga clic en OK, introduzca el motivo de la ejecución y haga clic en OK.

  4. Haga clic en Save a continuación.

Almacenar AccessKeys con proveedores de credenciales de Hadoop

En el método de configuración básica, fs.oss.accessKeyId y fs.oss.accessKeySecret se almacenan en texto sin formato en core-site.xml. Puede almacenarlos como un par cifrado en un archivo de proveedores de credenciales de Hadoop.

Almacene el AccessKey ID, el AccessKey secret y el token de seguridad en un archivo de credenciales mediante el siguiente comando de Hadoop:

hadoop credential <subcommand> [options]

Además de los permisos de archivo, también puede especificar una contraseña para cifrar las credenciales. Si omite la contraseña, el sistema utiliza una cadena predeterminada para el cifrado.

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

Después de generar el archivo de credenciales, configure la siguiente propiedad para especificar el tipo y la ubicación del proveedor:

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

Usar proveedores de credenciales de JindoSDK

De forma predeterminada, JindoSDK se configura con SimpleCredentialsProvider, EnvironmentVariableCredentialsProvider y CommonCredentialsProvider. El sistema consulta cada proveedor secuencialmente hasta que recupera credenciales válidas.

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

Seleccione un proveedor de credenciales entre las siguientes opciones:

Tipo de proveedor de credenciales

Descripción

TemporaryCredentialsProvider

Utilice este proveedor para acceder a OSS u OSS-HDFS con un AccessKey ID, un AccessKey secret y un token de seguridad con límite de tiempo.

SimpleCredentialsProvider

Utilice este proveedor para acceder a OSS u OSS-HDFS con un AccessKey ID y un AccessKey secret de larga duración.

EnvironmentVariableCredentialsProvider

Recupera credenciales de variables de entorno.

CommonCredentialsProvider

Proveedor que recupera credenciales de parámetros de configuración comunes de Jindo.

CustomCredentialsProvider

Se integra con un servicio personalizado sin contraseña.

TemporaryCredentialsProvider

  • Configure el tipo de proveedor

    <configuration>
        <property>
            <name>fs.oss.credentials.provider</name>
            <value>com.aliyun.jindodata.oss.auth.TemporaryCredentialsProvider</value>
        </property>
    </configuration>
  • Configure las credenciales de OSS u 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

  • Configure el tipo de proveedor

    <configuration>
        <property>
            <name>fs.oss.credentials.provider</name>
            <value>com.aliyun.jindodata.oss.auth.SimpleCredentialsProvider</value>
        </property>
    </configuration>
  • Configure las credenciales de OSS u 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

  • Configure el tipo de proveedor

    <configuration>
        <property>
            <name>fs.oss.credentials.provider</name>
            <value>com.aliyun.jindodata.oss.auth.EnvironmentVariableCredentialsProvider</value>
        </property>
    </configuration>
  • Configure las credenciales de OSS u OSS-HDFS

    Establezca las siguientes variables de entorno:

    Parámetro

    Descripción

    OSS_ACCESS_KEY_ID

    El AccessKey ID para OSS u OSS-HDFS.

    OSS_ACCESS_KEY_SECRET

    El AccessKey secret para OSS u OSS-HDFS.

    OSS_SECURITY_TOKEN

    El token de seguridad para OSS u OSS-HDFS.

    Nota

    Obligatorio solo cuando se usa un token con límite de tiempo.

CommonCredentialsProvider

  • Configure el tipo de proveedor

    <configuration>
        <property>
            <name>fs.oss.credentials.provider</name>
            <value>com.aliyun.jindodata.oss.auth.CommonCredentialsProvider</value>
        </property>
    </configuration>
  • Configure las credenciales de OSS u 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

  • Configure el tipo de proveedor

    <configuration>
        <property>
            <name>fs.oss.credentials.provider</name>
            <value>com.aliyun.jindodata.oss.auth.CustomCredentialsProvider</value>
        </property>
    </configuration>
  • Configure la URL del servicio sin contraseña

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

    aliyun.oss.provider.url admite los protocolos http(s) y Secrets:

    • Protocolo HTTP(S)

      El formato de URL para el servicio sin contraseña HTTP(S) es http://localhost:1234/sts. El protocolo sin contraseña HTTP requiere que la respuesta esté en formato JSON.

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

      El formato de dirección para el servicio sin contraseña Secrets es secrets:///local_path_prefix, que se usa comúnmente en escenarios de Kubernetes. Aquí, local_path_prefix es el prefijo de ruta:

      • Si local_path_prefix es secrets:///secret/JindoOss, se buscan archivos como /secret/JindoOssAccessKeyId, /secret/JindoOssAccessKeySecret y /secret/JindoOssSecurityToken en el nodo.

      • Si local_path_prefix es secrets:///secret/JindoOss/, se buscarán archivos como /secret/JindoOss/AccessKeyId, /secret/JindoOss/AccessKeySecret y /secret/JindoOss/SecurityToken en el nodo.