gpt4 book ai didi

snowflake-cloud-data-platform - 可以列出外部阶段中的文件但无法访问其中的文件吗?

转载 作者:行者123 更新时间:2023-12-04 04:17:46 24 4
gpt4 key购买 nike

我今天正在更新 S3 存储桶策略,以允许单独帐户中的 lambda 函数将对象放入该存储桶中。
不知何故,当我更新该政策时,我打破了 Snowflake 的外部阶段。

我可以运行 list@stage/subfolder命令并查看舞台中所有文件名的列表。
但是,如果我尝试
SELECT metadata$filename FROM @stage/subfolder
我收到了 Failed to access remote file: access denied. Please check your credentials错误。

我通过第三个选项( https://docs.snowflake.net/manuals/user-guide/data-load-s3-config.html )连接到雪花。我已经建立了一个 IAM 用户并在建立外部阶段时提供了访问 key ID/ secret 访问 key 。
一切正常,直到我对存储桶策略进行了单独更改。

是否有能力list @stage但不是选择从舞台上敲响钟声给任何人?如果没有,我很乐意提供我创建的政策的更多细节。

最佳答案

请参阅雪花的故障排除文档 ERROR: "FAILED TO ACCESS REMOTE FILE: ACCESS DENIED. PLEASE CHECK YOUR CREDENTIALS" :

This error can be caused due to a few different reasons.

  1. Due to incorrect credentials defined while creating stage
  2. The access policy does not correctly include the resource to the bucket when set up using Storage Integration or IAM role
  3. The access policy might not have the KMS Key Id listed when the bucket is encrypted.

如果您能够使用您创建的存储集成列出存储桶的内容,我高度怀疑它与存储桶加密有关。您可以通过以下方式添加 KMS key 访问:
"Sid": "Allow use of the key",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::xxxxxx"
},
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:DescribeKey"
],
"Resource": "*"
您应该只需要 Decrypt & GenerateDataKey如果集成只需要读取存储桶内容

关于snowflake-cloud-data-platform - 可以列出外部阶段中的文件但无法访问其中的文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60218205/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com