Amazon S3 签名 URL 和 Cloudfront - 访问被拒绝

2024-02-06

我正在创建一个signed url使用以下内容:

AWS_ACCESS_KEY_ID = my_access_key
    AWS_SECRET_ACCESS_KEY = my_secret_access_key
    KEYPAIR_ID = my_keypair_id
    KEYPAIR_FILE = path_to_keypair_file
    CF_DISTRIBUTION_ID = cf_dist_id
    my_connection = cloudfront.CloudFrontConnection(
        AWS_ACCESS_KEY_ID,
        AWS_SECRET_ACCESS_KEY
    )


    distro_summary = my_connection.get_all_distributions()[0]
    distro_info = my_connection.get_distribution_info(distro_summary.id)
    distro = distro_summary.get_distribution()    

    SECS = 8000
    signed_url = distro.create_signed_url(
                    "https://%s/%s" % (distro_info.domain_name, 'restaurant_1_banner.png'),
                    KEYPAIR_ID,
                    expire_time=time.time() + SECS,
                    valid_after_time=None,
                    ip_address=None,
                    policy_url=None,
                    private_key_file=KEYPAIR_FILE
                    #private_key_string=KEYPAIR_ID
                    )


    return signed_url   

这会返回一个 url,例如:“"

当我点击此链接时,我收到消息:

<Error>
    <Code>AccessDenied</Code>
    <Message>Access denied</Message>
</Error>

这是我的bucket policy for my s3 bucket.

{
"Version": "2008-10-17",
"Id": "PolicyForCloudFrontPrivateContent",
"Statement": [
    {
        "Sid": "1",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity E3I8A03QRR3ASO"
        },
        "Action": "s3:GetObject",
        "Resource": "arn:aws:s3:::menumaster/*"
    }
]
}

如果需要任何其他信息,请告诉我。


这是我的桶政策。

    {
        "Version": "2008-10-17",
        "Id": "PolicyForCloudFrontPrivateContent",
        "Statement": [
            {
                "Sid": "1",
                "Effect": "Allow",
                "Principal": {
                    "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity EH238ELEGANOC"
                },
                "Action": "s3:GetObject",
                "Resource": "arn:aws:s3:::onur.deneme/*"
            }
        ]
    }

这是分布: di53i9yykewl5.cloudfront.net

限制存储桶访问:是

原始访问身份:使用现有身份

限制查看者访问(使用签名 URL):是 可信签名者:自己

不应有其他 ACL 或策略。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Amazon S3 签名 URL 和 Cloudfront - 访问被拒绝 的相关文章

  • 如何在 Sublime Text 2 的 OSX 终端中显示构建结果

    我刚刚从 TextMate 切换到 Sublime Text 2 我非常喜欢它 让我困扰的一件事是默认的构建结果显示在 ST2 的底部 我的程序产生一些很长的结果 显示它的理想方式 如在 TM2 中 是并排查看它们 如何在 Mac 操作系统
  • pandas 替换多个值

    以下是示例数据框 gt gt gt df pd DataFrame a 1 1 1 2 2 b 11 22 33 44 55 gt gt gt df a b 0 1 11 1 1 22 2 1 33 3 2 44 4 3 55 现在我想根据
  • 如何在Windows上模拟socket.socketpair

    标准Python函数套接字 套接字对 https docs python org 3 library socket html socket socketpair不幸的是 它在 Windows 上不可用 从 Python 3 4 1 开始 我
  • 为 pandas 数据透视表中的每个值列定义 aggfunc

    试图生成具有多个 值 列的数据透视表 我知道我可以使用 aggfunc 按照我想要的方式聚合值 但是如果我不想对两列求和或求平均值 而是想要一列的总和 同时求另一列的平均值 该怎么办 那么使用 pandas 可以做到这一点吗 df pd D
  • 安装后 Anaconda 提示损坏

    我刚刚安装张量流GPU创建单独的后环境按照以下指示here https github com antoniosehk keras tensorflow windows installation 但是 安装后当我关闭提示窗口并打开新航站楼弹出
  • 在 NumPy 中获取 ndarray 的索引和值

    我有一个 ndarrayA任意维数N 我想创建一个数组B元组 数组或列表 其中第一个N每个元组中的元素是索引 最后一个元素是该索引的值A 例如 A array 1 2 3 4 5 6 Then B 0 0 1 0 1 2 0 2 3 1 0
  • IRichBolt 在storm-1.0.0 和 pyleus-0.3.0 上运行拓扑时出错

    我正在运行风暴拓扑 pyleus verbose local xyz topology jar using storm 1 0 0 pyleus 0 3 0 centos 6 6并得到错误 线程 main java lang NoClass
  • Python 中的二进制缓冲区

    在Python中你可以使用StringIO https docs python org library struct html用于字符数据的类似文件的缓冲区 内存映射文件 https docs python org library mmap
  • python pandas 中的双端队列

    我正在使用Python的deque 实现一个简单的循环缓冲区 from collections import deque import numpy as np test sequence np array range 100 2 resha
  • python 集合可以包含的值的数量是否有限制?

    我正在尝试使用 python 设置作为 mysql 表中 ids 的过滤器 python集存储了所有要过滤的id 现在大约有30000个 这个数字会随着时间的推移慢慢增长 我担心python集的最大容量 它可以包含的元素数量有限制吗 您最大
  • HTTPS 代理不适用于 Python 的 requests 模块

    我对 Python 还很陌生 我一直在使用他们的 requests 模块作为 PHP 的 cURL 库的替代品 我的代码如下 import requests import json import os import urllib impor
  • ExpectedFailure 被计为错误而不是通过

    我在用着expectedFailure因为有一个我想记录的错误 我现在无法修复 但想将来再回来解决 我的理解expectedFailure是它会将测试计为通过 但在摘要中表示预期失败的数量为 x 类似于它如何处理跳过的 tets 但是 当我
  • 循环中断打破tqdm

    下面的简单代码使用tqdm https github com tqdm tqdm在循环迭代时显示进度条 import tqdm for f in tqdm tqdm range 100000000 if f gt 100000000 4 b
  • 如何将 PIL 图像转换为 NumPy 数组?

    如何转换 PILImage来回转换为 NumPy 数组 这样我就可以比 PIL 进行更快的像素级转换PixelAccess允许 我可以通过以下方式将其转换为 NumPy 数组 pic Image open foo jpg pix numpy
  • Amazon SageMaker 不支持的内容类型应用程序/x-image

    我在 Sagemaker 中部署了基于 TensorFlow keras 的 CNN 模型 现在为了调用推论 我遵循了这个tutorial https aws amazon com blogs machine learning classi
  • 如何从没有结尾的管道中读取 python 中的 stdin

    当管道来自 打开 时 不知道正确的名称 我无法从 python 中的标准输入或管道读取数据 文件 我有作为例子管道测试 py import sys import time k 0 try for line in sys stdin k k
  • 对输入求 Keras 模型的导数返回全零

    所以我有一个 Keras 模型 我想将模型的梯度应用于其输入 这就是我所做的 import tensorflow as tf from keras models import Sequential from keras layers imp
  • 在python中,如何仅搜索所选子字符串之前的一个单词

    给定文本文件中的长行列表 我只想返回紧邻其前面的子字符串 例如单词狗 描述狗的单词 例如 假设有这些行包含狗 hotdog big dog is dogged dog spy with my dog brown dogs 在这种情况下 期望
  • 如何使用google colab在jupyter笔记本中显示GIF?

    我正在使用 google colab 想嵌入一个 gif 有谁知道如何做到这一点 我正在使用下面的代码 它并没有在笔记本中为 gif 制作动画 我希望笔记本是交互式的 这样人们就可以看到代码的动画效果 而无需运行它 我发现很多方法在 Goo
  • 在 Python 类中动态定义实例字段

    我是 Python 新手 主要从事 Java 编程 我目前正在思考Python中的类是如何实例化的 我明白那个 init 就像Java中的构造函数 然而 有时 python 类没有 init 方法 在这种情况下我假设有一个默认构造函数 就像

随机推荐

  • 丑数 - dp 的数学直觉

    我正在尝试找到 丑陋 的数字 这是一系列唯一质因数为 2 3 5 的数字 我找到了动态规划解决方案 并想了解它是如何工作的以及逻辑背后的数学直觉是什么 该算法是为 2 3 和 5 的倍数保留三个不同的计数器变量 让我们假设 i2 i3 和
  • 将峰度应用于 python 中的分布

    我有一个数据集 其格式为 频率 方向 归一化功率谱密度 扩展 偏度 峰度 我可以使用顶部答案中的代码可视化特定记录的分布scipy 中的偏斜正态分布 https stackoverflow com a 5885349 1135883但我不确
  • YAML:具有空值的字典

    如何在 YAML 中编写一个字典 映射 其中一个键将空字符串作为其值 key 被解析为 null YAML 1 1 map str key null null 正确答案是 key
  • 警告:尝试多次加载角度...因为 jQuery...为什么?

    我试图了解这里发生了什么事 该警告是不言自明的 我意识到在应用程序中 使用下面的代码和结构 它运行 ng view 两次 测试 将在控制台中记录两次 所以角度当然会加载两次 但为什么 我已经阅读了我能找到的所有关于它的文章 它似乎归结为 j
  • GetExternalLoginInfoAsync null 与ExternalLoginCallback 中的OWIN 除非已经登录到google

    我一直在尝试使用 Google 帐户在 MVC5 应用程序中使用 OWIN 实现外部登录 如果我已经登录谷歌 点击我的应用程序中的谷歌按钮就可以了 在允许我访问登录信息后 它会将我带到我的注册页面 如果我在单击我的应用程序 google 按
  • Keras cifar10 示例验证和测试损失低于训练损失

    我正在使用 Keras 的 cifar10 示例 你可以找到它here https github com fchollet keras blob master examples cifar10 cnn py 我已经重新创建了模型 即 不是相
  • Android Studio 错误“支持的最低 Gradle 版本是 7.0.2。当前版本是 6.8。”

    我下载 6 8 版本和最新版本的 Gradle 后出现错误 评估项目 launcher 时出现问题 我需要做什么 I m attaching more details in the added pictures 错误 支持的最低 Gradl
  • ESLint规则开发过程中如何调试

    我有 C 背景 因此在 Visual Studio 中按 F5 并获得了美妙的调试体验 这让我很开心 我想进入 OSS 并且当我使用 ESLint 时 我经常想尝试回馈 我已经关注了http eslint org docs develope
  • 新的 Pandoc distrib = 松散交叉引用(RMarkdown - knitr - Bookdown - thesisdown - R)

    使用 knit 和 bookdown yaml 将一堆 Rmd 文件导出到单个 doc 文件时 我丢失了一些交叉引用 方法是thesisdown thesis word 我安装新版本的 Pandoc 后立即出现了丢失引用的问题 也许我在 P
  • Oracle从plsql调用java时如何导入缺失的java类

    我正在尝试逐步编写一个 java 函数 该函数可以采用 Oracle XML BI Publisher Report 不是商业智能中使用的 BI Publisher 而是 Oracle 应用程序使用的 XML Publisher 功能 并以
  • Python 获取选定的文本

    我如何使用 Python 捕获 用户在 Web 浏览器中选择的文本 该脚本将在后台闲置 当按下某个组合键时 它会 获取 用户选择的文本 想想复制和粘贴 只是它复制到我的应用程序而不是剪贴板 谢谢 我想指出的是 这适用于 Mac Instal
  • 当应用程序外部数据库上的数据发生更改时,如何刷新 React Redux 应用程序

    场景 数据库中某些表的数据更改 例如使用从另一个进程上传的文件 例如不属于react redux应用程序的ETL工具 那么我们如何刷新react redux应用程序组件呢 Web 套接字是唯一将这种更改从服务器推送到客户端的方法吗 或者我们
  • 外部文件中的嵌套/内部类

    我有课MyClass和一个内部类MyNestedClass像这样 public class MyClass public class MyNestedClass 两堂课的时间都很长 因此 我想将它们分成两个不同的文件 而不破坏层次结构 这是
  • “已达到 10 $digest() 迭代。正在中止!”由于使用 angularjs 进行过滤

    看看以下内容 https dl dropbox com u 4571 musicopeTypescript musicopeTypescript index html https dl dropbox com u 4571 musicope
  • WTP - m2e 不部署传递依赖项

    我有一个网络应用程序 其结构如下 A jar gt B war gt C war 我正在使用 Eclipse Juno 和WTP版本是1 1 A jar 是一个工作区实用程序项目 包含在 B war 中 B war 是一个战争项目 作为覆盖
  • RabbitMQ 中的主题交换与直接交换

    我们有一个将使用 RabbitMQ 的应用程序 并且有几个不同的队列用于在层之间传递消息 最初 我计划使用多个直接交换 每种消息类型一个 但看起来使用不同路由键绑定的队列的单个主题交换将实现相同的效果 拥有一个单一的交换似乎也更容易维护 但
  • F# 和 Clojure 调用重新定义函数时的差异

    In F gt let f x x 2 val f int gt int gt let g x f x val g int gt int gt g 10 val it int 12 gt let f x x 3 val f int gt i
  • DwmGetWindowAttribute 使用 PInvoke 返回 0

    我试图通过捕获特定窗口来进行屏幕捕获 并且为了准确地计算出要捕获的窗口的大小 我想使用 DwmGetWindowAttribute 当我在 Windows 10 上使用 PInvoke 调用此函数时Rect即使结果值为 0 成功 结构也始终
  • 简单注入器:如何注入HttpContext?

    我已经开始使用 Simple Injector 作为我的 DI 容器 主要是出于性能原因 如果有人有建议 请告诉我 但我编写的一些类使用 HttpContextBase 作为构造函数参数 我现在已经解决了从构造函数中删除它并创建一个属性的问
  • Amazon S3 签名 URL 和 Cloudfront - 访问被拒绝

    我正在创建一个signed url使用以下内容 AWS ACCESS KEY ID my access key AWS SECRET ACCESS KEY my secret access key KEYPAIR ID my keypair