繁体   English   中英

Amazon S3-访问私有存储桶

[英]Amazon S3 - Access to Private Bucket

我在一个专用的S3存储桶中有多个图像,我希望Tableau的实例能够访问这些图像。 是否有URL或某种方式可以访问这些图像,同时仍将S3存储桶设为私有?

通过Tableau访问私有存储桶

您可以设置一个具有对S3的访问权限的IAM用户,并允许Tableau访问。

有关更多详细信息,请参阅Tableau 10.3中有关使用Amazon Athena连接器连接到S3数据的文章。

注意:您需要配置Amazon Athena以查询S3内容。

定制生成的S3敦促访问专用存储桶

是。 您可以使用AWS开发工具包从后端生成签名URL。 可以直接使用S3或通过AWS CloudFront完成。

  • 使用S3 Signed Urls 例如,GET对象的签名网址。

     var params = {Bucket: 'bucket', Key: 'key'}; var url = s3.getSignedUrl('getObject', params); console.log('The URL is', url); 
  • 使用CloudFront签名的网址 例如,CloudFront中的GET签名URL。

     var cfsign = require('aws-cloudfront-sign'); var signingParams = { keypairId: process.env.PUBLIC_KEY, privateKeyString: process.env.PRIVATE_KEY, // Optional - this can be used as an alternative to privateKeyString privateKeyPath: '/path/to/private/key', expireTime: 1426625464599 } // Generating a signed URL var signedUrl = cfsign.getSignedUrl( 'http://example.cloudfront.net/path/to/s3/object', signingParams ); 

    注意:产生网址必须在您的后端完成。 您可以通过使用AWS API Gateway和Lambda设置一个无服务器解决方案,以提供经过身份验证的用户访问的终端节点。

此外,您也可以将AWS Cognito UserPools与身份池一起使用,以直接访问S3私有内容,而无需执行上述步骤。 为此,您需要使用Cognito用户池或联合身份作为与Cognito身份池连接的身份提供者。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM