访问OSS/OSS-HDFS时AccessKey相关的常见问题

本文为您介绍了通过EMR访问阿里云OSS或OSS HDFS时遇到的关于AccessKey的常见问题及解决方法。

EMR集群内如何免密访问OSS/OSS-HDFS?

JindoSDK会使用创建集群时绑定的ECS应用角色(默认为AliyunECSInstanceForEMRRole)获取Security Token访问OSS或OSS-HDFS。1

您可以在Hadoop-Common服务配置页面,单击core-site.xml页签,查看参数fs.oss.credentials.provider是否有参数值com.aliyun.jindodata.oss.auth.EcsStsCredentialsProvider。若没有,请添加该参数值,并单击下方的保存,即可免密访问OSS/OSS-HDFS。

如何检查EMR集群内免密服务是否可用?

  • 方法一:执行如下命令,检索RAM角色凭证。

    curl http://100.100.100.200/latest/meta-data/Ram/Security-credentials/AliyunECSInstanceForEMRRole

    返回结果如果为如下格式,则表示免密服务可用。

     {
      "AccessKeyId" : "STS.NUreXXXXXX",
      "AccessKeySecret" : "BsmbnDoXXXXXXXX",
      "Expiration" : "2022-11-22T11:27:39Z",
      "SecurityToken" : "CAISlwJ1q6FXXXXXXX",
      "LastUpdated" : "2022-11-22T05:27:39Z",
      "Code" : "Success"
      }
  • 方法二:配置为ECS免密。

    1. 在Hadoop-Common服务配置页面,单击core-site.xml页签,查看参数fs.oss.credentials.provider是否有参数值com.aliyun.jindodata.oss.auth.EcsStsCredentialsProvider。若没有,请添加该参数值,并单击下方的保存

    2. 使用HDFS Shell访问OSS/OSS-HDFS,若能正常访问,则表示免密服务可用。

HiveServer2、Presto每5~6小时访问OSS/OSS-HDFS失败

部分版本有已知的免密问题。详情请参见JindoData版本已知问题

访问OSS/OSS-HDFS路径中包含AccessKey信息报错

  • 报错详情:

    The Filesystem URI contains login details. This authentication mechanism is no longer supported.
  • 报错原因:

    为了防止AccessKey(AccessKey ID和AccessKey Secret)信息泄露等安全问题,JindoSDK 4.0.0及以上版本不支持路径中携带AccessKey信息。

  • 解决方法:

    • 方法1:删除该访问路径中的AccessKey信息。

    • 方法2:如果确认要在路径中携带AccessKey信息,您可在Hadoop-Common服务配置页面,单击core-site.xml页签,单击新增配置项,具体配置信息如下:

      参数

      fs.oss.uri-with-secrets.enable

      true

      配置后,单击下方的保存