Smartdata 3.4.0及后续版本支持JindoFS OSS Credential Provider,您可以通过配置JindoFS OSS Credential Provider,将加密后的AccessKey信息添加至文件中,以避免泄露AccessKey信息。
配置JindoFS OSS Credential Provider
- 进入SmartData服务。
- 登录阿里云E-MapReduce控制台。
- 在顶部菜单栏处,根据实际情况选择地域和资源组。
- 单击上方的集群管理页签。
- 在集群管理页面,单击相应集群所在行的详情。
- 在左侧导航栏,选择。
- 登录阿里云E-MapReduce控制台。
- 进入smartdata-site页面。
- 单击配置页签。
- 在服务配置区域,单击smartdata-site页签。
- 在smartdata-site页签,根据配置方式修改或新增配置信息。
配置方式 描述 全局方式配置(所有Bucket使用同一种方式) 在配置搜索区域,搜索参数fs.jfs.cache.oss.credentials.provider,在参数值后追加AliyunCredentialsProvider的实现类,多个类时使用英文逗号(, )隔开,按照先后顺序读取Credential直至读到有效的Credential,需要添加的参数详情,请参见全局方式配置。 例如,com.aliyun.emr.fs.auth.TemporaryAliyunCredentialsProvider, com.aliyun.emr.fs.auth.SimpleAliyunCredentialsProvider,com. aliyun.emr.fs.auth.EnvironmentVariableCredentialsProvider。
按照Bucket配置 新增配置信息: - 在smartdata-site页签,单击右上角的自定义配置。
- 在新增配置项对话框中,设置Key为fs.jfs.cache.oss.bucket.XXX.credentials.provider,Value为com.aliyun.emr.fs.auth.AliyunCredentialsProvider的实现类,多个类时使用英文逗号(, )隔开,按照先后顺序读取Credential直至读到有效的Credential,其余需要添加的参数详情,请参见按照Bucket配置。
例如,com.aliyun.emr.fs.auth.TemporaryAliyunCredentialsProvider, com.aliyun.emr.fs.auth.SimpleAliyunCredentialsProvider,com. aliyun.emr.fs.auth.EnvironmentVariableCredentialsProvider。
说明 XXX为OSS的Bucket名称。 - 单击确定。
- 保存配置。
- 单击右上角的保存。
- 在确认修改对话框中,输入执行原因,开启自动更新配置。
- 单击确定。
全局方式配置
您可以根据情况,选择不同的Provider。Provider类型如下表。
| 类型 | 描述 |
| TemporaryAliyunCredentialsProvider | 适合使用有时效性的AccessKey和SecurityToken访问OSS的情况。 需要在fs.jfs.cache.oss.credentials.provider的参数值中追加com.aliyun.emr.fs.auth.TemporaryAliyunCredentialsProvider,并需新增以下配置:
|
| SimpleAliyunCredentialsProvider | 适合使用长期有效的AccessKey访问OSS的情况。 需要在fs.jfs.cache.oss.credentials.provider的参数值中追加com.aliyun.emr.fs.auth.SimpleAliyunCredentialsProvider,并需新增以下配置:
|
| EnvironmentVariableCredentialsProvider | 该方式需要在环境变量中配置以下参数。 需要在fs.jfs.cache.oss.credentials.provider的参数值中追加com.aliyun.emr.fs.auth.EnvironmentVariableCredentialsProvider,并需新增以下配置:
|
| JindoCommonCredentialsProvider | 该方式为通用配置,配置后JindoOSS和JindoFS均可以使用。 需要在fs.jfs.cache.oss.credentials.provider的参数值中追加com.aliyun.emr.fs.auth.JindoCommonCredentialsProvider,并需新增以下配置:
|
| EcsStsCredentialsProvider | 该方式无需配置AccessKey,可以免密方式访问OSS。 需要在fs.jfs.cache.oss.credentials.provider的参数值中追加com.aliyun.emr.fs.auth.EcsStsCredentialsProvider。 |
按照Bucket配置
您可以根据情况,选择不同的Provider。Provider类型如下表。
| 类型 | 描述 |
| TemporaryAliyunCredentialsProvider | 适合使用有时效性的AccessKey和SecurityToken访问OSS的情况。 设置fs.jfs.cache.oss.bucket.XXX.credentials.provider的参数值为com.aliyun.emr.fs.auth.TemporaryAliyunCredentialsProvider,并需新增以下配置:
|
| SimpleAliyunCredentialsProvider | 适合使用长期有效的AccessKey访问OSS的情况。 设置fs.jfs.cache.oss.bucket.XXX.credentials.provider的参数值为com.aliyun.emr.fs.auth.SimpleAliyunCredentialsProvider,并需新增以下配置:
|
| EnvironmentVariableCredentialsProvider | 该方式需要在环境变量中配置以下参数。 设置fs.jfs.cache.oss.bucket.XXX.credentials.provider的参数值为com.aliyun.emr.fs.auth.EnvironmentVariableCredentialsProvider,并需新增以下配置:
|
| JindoCommonCredentialsProvider | 该方式为通用配置,配置后JindoOSS和JindoFS均可以使用。 设置fs.jfs.cache.oss.credentials.provider的参数值为com.aliyun.emr.fs.auth.JindoCommonCredentialsProvider,并需新增以下配置:
|
| EcsStsCredentialsProvider | 该方式无需配置AccessKey,可以免密方式访问OSS。 设置fs.jfs.cache.oss.bucket.XXX.credentials.provider的参数值为com.aliyun.emr.fs.auth.EcsStsCredentialsProvider。 |