问题标签 [sigv4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
185 浏览

image - Grafana SigV4 身份验证 - Docker 映像?

我们在设置 aws-sigv4 和通过 docker 映像连接 AWS AMP 工作区时遇到问题。

标签:格拉法纳/格拉法纳:7.4.5

主要问题是在 UI 中没有出现 sigv4 配置屏幕。grafana:7.4.5通过独立 Linux 二进制文件在本地安装有效。

只需设置环境变量,

导出 AWS_SDK_LOAD_CONFIG=true
导出 GF_AUTH_SIGV4_AUTH_ENABLED=true

出现配置屏幕。

通过相应的 IAM 实例角色将数据连接和查询到 AMP 工作正常。在 docker 映像中执行与 ENV 变量相同的操作是行不通的。

使用grafana/grafana:sigv4-web-identity它时有效,但在我看来这只是一个“测试图像”。如何配置默认 grafana 映像以启用 sigV4 身份验证?

0 投票
2 回答
1028 浏览

amazon-web-services - 如何将 API Gateway 的 AWS 签名 v4 预签名链接的过期时间从默认的 5 分钟延长?

我正在尝试生成指向 API Gateway 的预签名链接(使用 IAM 身份验证),因此客户端可以访问此 API Gateway 后面的我的 Lambda 函数之一,而无需验证请求。这主要是为了方便客户端,因此它可以透明地使用响应中的一些链接,无论它们指向同一个经过身份验证的 API 网关、某个 S3 存储桶还是 Internet 中的任意 URL。

为此,我使用查询参数制作 API 签名 v4(请参阅文档示例

因此,如果我尝试签署以下us-west-2区域和execute-api服务范围的链接:

我会得到以下结果(使用 Node.jsaws4,但在这里没关系):

它有效!但仅在生成后的前 5 分钟......</p>

五分钟后,我将收到以下错误响应:

有关更多详细信息,请参阅对此问题的回复。

我尝试X-Amz-Expires使用各种值(小于和大于 300 秒)添加文档中提到的查询参数,但没有运气:行为不会改变。

对于由 IAM 实例凭证生成的链接,我需要至少几个小时,最多允许 6 小时,因为链接正在由另一个 Lambda 函数签名。

有什么方法可以增加 API 网关访问的预签名链接有效期?

0 投票
1 回答
131 浏览

amazon-web-services - 无法通过 SSH 隧道 Sigv4 访问 Amazon Neptune

我正在尝试status从 SSH 隧道访问 Neptune 集群端点。我可以在堡垒主机上毫无问题地点击它,但是通过 ssh 隧道进行操作时,我得到:

https://localhost:8182/状态

我怎样才能做到这一点?看来我需要 sigv4 的东西。我希望在浏览器中点击它后看到响应工作。

在设置我的环境变量后,我也尝试过,我得到awscurl

0 投票
1 回答
84 浏览

amazon-web-services - 在 Cloudformation 中使用 IAM 角色保护 APIGW

最近我一直在研究独立的云形成模板,它将创建 REST API,通过 API 网关和 lambda 挂钩做所有的业务逻辑。

现在它是公开的,任何人都可以调用 APIGW url 并获得响应。我想让它变得安全,这样只有某些具有 IAM 角色的人才能调用 APIGW。

如果有任何其他更好的方法来保护它,任何建议都会受到赞赏。

当前云层

更新

找到这个文档:https ://docs.aws.amazon.com/apigateway/api-reference/resource/method/

授权类型

方法的授权类型。有效值为 NONE(用于开放访问)、AWS_IAM(用于使用 AWS IAM 权限)、CUSTOM(用于使用自定义授权者)或 COGNITO_USER_POOLS(用于使用 Cognito 用户池)。

我将授权类型添加为 AWS_IAM,但我仍然可以调用 APIGW 端点,我缺少任何东西

在此处输入图像描述

0 投票
0 回答
46 浏览

c# - AWS 从 C# 调用带有签名 SIGV4 的 API

我需要从 C# 应用程序调用托管在 AWS 上并使用 SIGV4 保护的 API。

我已经从 AWS 下载了 C# 的 SIGV4 示例,但显然没有关于如何调用 API 的示例。所以我修改了示例代码以获取一个 S3 对象来调用“execute-api”服务。

这是我的代码:

但是当我发送请求时出现以下错误: "Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host."

您可以在下面找到 的代码HttpHelpers,这是 AWS 示例中的代码。

0 投票
0 回答
52 浏览

amazon-web-services - AWS SigV4 签名与 AWS 计算的不匹配

我正在尝试遵循AWS SigV4 签名过程文档中的代码,但似乎有些不对劲,因为我不断收到错误 403 - signature does not match

我所做的只是根据需要更改参数。我一直在 Postman 中使用相同的参数,它们完美地工作。

这是我的 Python 代码,直接来自文档:

我尝试将邮递员的amzdatedatetime签名放入此代码中,并且它们起作用了。所以我认为签名计算过程有问题,但我真的说不出来。

我很感激我能得到的所有帮助。提前致谢。

0 投票
0 回答
33 浏览

java - 如何解决“使用构建器创建时客户端是不可变的”?在构建不可变且一旦构建后就无法修改的客户端时

您好我目前正在开发一个连接到 AWS S3 以保存文档的 Java 应用程序,我使用的是 sdk 1.12.122 版本并且也支持 SigV4。在获取预签名 URL 以将文档上传到 S3 时,我收到“使用构建器创建时客户端是不可变的”错误。任何人都可以帮助解决这个问题吗?这是生成uploadUrl的代码段,

和 awsS3CredentialConfig.getAmazonS3Client() 方法如下;

和错误日志;

在此处输入图像描述

0 投票
1 回答
72 浏览

c# - Orderhive AWS4 签名不匹配

我正在尝试连接到 AWS4 签名方法进行身份验证。(https://orderhive.docs.apiary.io/#introduction/api-requirements/end-point

我的 id_token 和 refresh_token 检索 access_key_id、secret_key 和 session_token。但是当我尝试检索仓库等一些信息时,我每次都会收到:

"message":"我们计算的请求签名与您提供的签名不匹配。请检查您的 AWS Secret Access Key 和签名方法。有关详细信息,请参阅服务文档。

签名字符串应该是
'AWS4-HMAC-SHA256 20211217T160055Z 20211217/us-east-1/execute-api/aws4_request 8e3dbc663f97508406c4825b74a647765022ae021fa224754701722b7bcf2288 '

我正在使用这个代码,就像其他人在我之前在一些例子中所做的那样。

有人知道我做错了什么吗?谢谢!

0 投票
0 回答
32 浏览

amazon-web-services - 我可以将 AWS IoT Core Things 与 sigv4 一起使用,还是需要 X.509 客户端证书?

我一直在使用 sigv4 通过 HTTPS 请求将我的设备连接到 AWS IoT Core 规则引擎。现在我有兴趣创建一个 IoT Core Thing 来管理我的设备,但要做到这一点,我需要一个 X.509 证书。我可以在没有 X.509 客户端证书的情况下创建 IoT Core 事物吗?如何创建?如何在设备HTTPS请求中指定哪个设备属于哪个事物?
(我无法将证书放在我的设备上)