Redshift使用KMS加密和凭据卸载?

时间:2017-12-01 22:06:49

标签: amazon-web-services amazon-redshift aws-kms

是否可以使用credentials参数和KMS_KEY_ID参数编写卸载命令?运行以下代码后出现以下错误:

unload ('select top 10 * from testtable')
to 's3://mybucket/test.txt'
KMS_KEY_ID '123456789'
encrypted
credentials 'aws_access_key_id=ZYZYZYZYZ;aws_secret_access_key=as098dfas9dfa9sd09a8fa0sd';


  error:  Invalid credentials. Must be of the format: credentials 'aws_iam_role=...;master_symmetric_key=...' or 'aws_access_key_id=...;aws_secret_access_key=...[;token=...];master_symmetric_key=...'
  code:      8001
  context:   
  query:     0
  location:  aws_credentials_parser.cpp:114
  process:   padbmaster [pid=47590]

1 个答案:

答案 0 :(得分:0)

没有。如果使用KMS_KEY_ID,则必须使用IAM角色或ACCESS_KEY_ID和SECRET_ACCESS_KEY。不支持使用CREDENTIALS。

注意:我觉得有两种方法可以指定访问密钥。一个支持KMS_KEY_ID,另一个不支持。 CREDENTIALS子句允许通过额外的“token = xxx”使用临时凭证,这是我看到的唯一区别。

我建议使用IAM角色,而不是使用Redshift语句指定您的凭据。

Authorization Parameters