[ 
https://issues.apache.org/jira/browse/HIVE-16913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17582822#comment-17582822
 ] 

zhangbutao edited comment on HIVE-16913 at 8/22/22 9:07 AM:
------------------------------------------------------------

Any update? [[email protected]] [~vihangk1] Can we take advantage of 
HADOOP-14556 to acheive per-session S3 credentials in hive?

In my opinion, it is more easy to implement this feature by propagating s3 
parameter(fs.s3a.secret.key,fs.s3a.access.key) to HMSHandler dynamically. In 
short, we should make it work when client sets these parameters:
{code:java}
set fs.s3a.secret.key=my_secret_key;
set fs.s3a.access.key=my_access.key;
set metaconf:fs.s3a.secret.key=my_secret_key;
set metaconf:fs.s3a.access.key=my_access_key; {code}


was (Author: zhangbutao):
Any update? [[email protected]] [~vihangk1] Can we take advantage of 
HADOOP-14556 to acheive per-session S3 credentials in hive?

In my opinion, it is more easy to implement this feature by propagating s3 
parameter(fs.s3a.secret.key,fs.s3a.access.key) to HMSHandler dynamically. In 
short, we should make it work when client set these parameters:
{code:java}
set fs.s3a.secret.key=my_secret_key;
set fs.s3a.access.key=my_access.key;
set metaconf:fs.s3a.secret.key=my_secret_key;
set metaconf:fs.s3a.access.key=my_access_key; {code}

> Support per-session S3 credentials
> ----------------------------------
>
>                 Key: HIVE-16913
>                 URL: https://issues.apache.org/jira/browse/HIVE-16913
>             Project: Hive
>          Issue Type: Improvement
>            Reporter: Vihang Karajgaonkar
>            Assignee: Vihang Karajgaonkar
>            Priority: Major
>
> Currently, the credentials needed to support Hive-on-S3 (or any other 
> cloud-storage) need to be to the hive-site.xml. Either using a hadoop 
> credential provider or by adding the keys in the hive-site.xml in plain text 
> (unsecure)
> This limits the usecase to using a single S3 key. If we configure per bucket 
> s3 keys like described [here | 
> http://hadoop.apache.org/docs/current/hadoop-aws/tools/hadoop-aws/index.html#Configurations_different_S3_buckets]
>  it exposes the access to all the buckets to all the hive users.
> It is possible that there are different sets of users who would not like to 
> share there buckets and still be able to process the data using Hive. 
> Enabling session level credentials will help solve such use-cases. For 
> example, currently this doesn't work
> {noformat}
> set fs.s3a.secret.key=my_secret_key;
> set fs.s3a.access.key=my_access.key;
> {noformat}
> Because metastore is unaware of the the keys. This doesn't work either
> {noformat}
> set fs.s3a.secret.key=my_secret_key;
> set fs.s3a.access.key=my_access.key;
> set metaconf:fs.s3a.secret.key=my_secret_key;
> set metaconf:fs.s3a.access.key=my_access_key;
> {noformat}
> This is because only a certain metastore configurations defined in 
> {{HiveConf.MetaVars}} are allowed to be set by the user. If we enable the 
> above approaches we could potentially allow multiple S3 credentials on a 
> per-session level basis.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to