Todos os produtos
Search
Central de documentação

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

Última atualização: Jun 27, 2026

Este tópico explica como configurar um provedor de credenciais do OSS/OSS-HDFS.

Configuração básica

Pré-configure o AccessKey ID, o AccessKey secret e o endpoint do OSS ou OSS-HDFS no arquivo core-site.xml do Hadoop. Para definir esses parâmetros em um cluster EMR, siga estas etapas:

  1. Na página de configuração do serviço Hadoop-Common, clique em na aba core-site.xml.

  2. Clique em Add Configuration Item e adicione os itens de configuração fs.oss.accessKeyId e fs.oss.accessKeySecret.

  3. Clique em OK, insira o motivo da execução e clique em OK.

  4. Clique em Save abaixo.

Armazenar AccessKeys com provedores de credenciais do Hadoop

Na configuração básica, fs.oss.accessKeyId e fs.oss.accessKeySecret ficam armazenados em texto simples no arquivo core-site.xml. Armazene-os como um par criptografado em um arquivo de Provedores de Credenciais do Hadoop.

Armazene o AccessKey ID, o AccessKey secret e o token de segurança em um arquivo de credenciais usando o seguinte comando do Hadoop:

hadoop credential <subcommand> [options]

Além das permissões de arquivo, especifique uma senha para criptografar as credenciais. Caso omita a senha, o sistema usará uma string padrão para criptografia.

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

Após gerar o arquivo de credenciais, configure a propriedade a seguir para especificar o tipo e a localização do provedor:

<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 provedores de credenciais do JindoSDK

Por padrão, o JindoSDK vem configurado com SimpleCredentialsProvider, EnvironmentVariableCredentialsProvider e CommonCredentialsProvider. O sistema consulta cada provedor sequencialmente até obter credenciais 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>

Selecione um provedor de credenciais entre as opções a seguir:

Tipo de provedor de credenciais

Descrição

TemporaryCredentialsProvider

Acessa o OSS ou OSS-HDFS com AccessKey ID, AccessKey secret e token de segurança temporários.

SimpleCredentialsProvider

Acessa o OSS ou OSS-HDFS com AccessKey ID e AccessKey secret de longo prazo.

EnvironmentVariableCredentialsProvider

Recupera credenciais de variáveis de ambiente.

CommonCredentialsProvider

Obtém credenciais de parâmetros de configuração comuns do Jindo.

CustomCredentialsProvider

Integra-se a um serviço personalizado sem senha.

TemporaryCredentialsProvider

  • Configure o tipo de provedor

    <configuration>
        <property>
            <name>fs.oss.credentials.provider</name>
            <value>com.aliyun.jindodata.oss.auth.TemporaryCredentialsProvider</value>
        </property>
    </configuration>
  • Configure as credenciais do 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

  • Configure o tipo de provedor

    <configuration>
        <property>
            <name>fs.oss.credentials.provider</name>
            <value>com.aliyun.jindodata.oss.auth.SimpleCredentialsProvider</value>
        </property>
    </configuration>
  • Configure as credenciais do 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

  • Configure o tipo de provedor

    <configuration>
        <property>
            <name>fs.oss.credentials.provider</name>
            <value>com.aliyun.jindodata.oss.auth.EnvironmentVariableCredentialsProvider</value>
        </property>
    </configuration>
  • Configure as credenciais do OSS ou OSS-HDFS

    Defina as seguintes variáveis de ambiente:

    Parâmetro

    Descrição

    OSS_ACCESS_KEY_ID

    AccessKey ID para OSS ou OSS-HDFS.

    OSS_ACCESS_KEY_SECRET

    AccessKey secret para OSS ou OSS-HDFS.

    OSS_SECURITY_TOKEN

    Token de segurança para OSS ou OSS-HDFS.

    Nota

    Necessário apenas ao usar um token temporário.

CommonCredentialsProvider

  • Configure o tipo de provedor

    <configuration>
        <property>
            <name>fs.oss.credentials.provider</name>
            <value>com.aliyun.jindodata.oss.auth.CommonCredentialsProvider</value>
        </property>
    </configuration>
  • Configure as credenciais do 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

  • Configure o tipo de provedor

    <configuration>
        <property>
            <name>fs.oss.credentials.provider</name>
            <value>com.aliyun.jindodata.oss.auth.CustomCredentialsProvider</value>
        </property>
    </configuration>
  • Configure a URL do serviço sem senha

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

    O parâmetro aliyun.oss.provider.url aceita os protocolos HTTP(S) e Secrets:

    • Protocolo HTTP(S)

      O formato da URL para o serviço sem senha via HTTP(S) é http://localhost:1234/sts. O protocolo sem senha via HTTP exige resposta no formato JSON.

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

      O formato de endereço para o serviço sem senha via Secrets é secrets:///local_path_prefix, comum em cenários do Kubernetes. Nesse caso, local_path_prefix representa o prefixo do caminho:

      • Se local_path_prefix for secrets:///secret/JindoOss, o sistema buscará no nó arquivos como /secret/JindoOssAccessKeyId, /secret/JindoOssAccessKeySecret e /secret/JindoOssSecurityToken.

      • Caso local_path_prefix seja secrets:///secret/JindoOss/, o sistema buscará no nó arquivos como /secret/JindoOss/AccessKeyId, /secret/JindoOss/AccessKeySecret e /secret/JindoOss/SecurityToken.