gpt4 book ai didi

amazon-web-services - AWS Secrets Manager 异常访问被拒绝

转载 作者:行者123 更新时间:2023-12-03 22:00:36 24 4
gpt4 key购买 nike

问题简要说明:

当我的 Web 应用程序对 AWS Secrets Manager 进行 API 调用以获取 key /数据时,我收到此 AWSSecretsManagerException AccessDenied。

enter image description here

更详细的问题:

我有一个部署到 AWS ElasticBeanstalk 的 Web 应用程序 war 文件。我在 AWS Amplify 上有一个前端 React 应用程序,它向 WAR 文件发出 HTTPS 请求。

作为处理此请求的一部分,Web 应用程序连接到 PayPal 的 API。要成功请求使用 PayPal 的 API,我需要一个 token .要获取该 token ,我的 Web 应用程序需要向 PayPal 发出请求以获取 token 通过发送我的支付宝客户 ID 秘钥 .

为了不将其硬编码到应用程序中,或者拥有一个带有该客户端 ID 和纯文本 key 的本地配置文件,我决定使用 AWS Secrets Manager 将它们存储在 AWS 中。要访问存储在我的应用程序中的 key ,我需要使用 AWS Secrets Manager SDK。我通过在我的 Web 应用程序 pom 文件中包含此依赖项来做到这一点。

<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-secretsmanager</artifactId>
<version>1.11.700</version>
</dependency>

然后,我添加了代码以使用 AWS Secrets Manager SDK API 检索客户端 ID 和 key 。

当我在 Payara 服务器上的机器上本地运行我的 Web 应用程序时,它可以工作。这意味着我的机器上有一个本地 React 应用程序,它的 HTTP 请求转到我在 Payara(而不是 AWS)上的本地 Web 应用程序,并且 Web 应用程序成功地从 AWS Secrets Manager 中提取了客户端 ID 和 key 。

但是,当我将 Web 应用程序部署到 Elastic Beanstalk EC2 实例时,我从 AWS Amplify 上的前端 React 应用程序中得到了上述异常。

最佳答案

几个小时后,我解决了这个问题。

首先,您必须注意异常(exception)中列出的角色(查看粗体文本):

com.amazonaws.services.secretsmanager.model.AWSSecretsManagerException: User: arn:aws:sts::<......>:assumed-role/aws-elasticbeanstalk-ec2-role/<.....> is not authorized to perform: secretsmanager:GetSecretValue on resource: arn:aws:secretsmanager:us-east-1:<......>:secret:<.....> (Service: AWSSecretsManager; Status Code: 400; Error Code: AccessDeniedException; Request ID: <.......>)



当您在 AWS 控制台中时,请转到 AWS->IAM .从那里点击 角色 链接在左侧。请注意上面粗体文本中的角色在此处列出(以红色圈出的文本)。

enter image description here

双击它。

在这个屏幕截图中,我已经这样做了,但最初是 SecretsManager 读写 政策(红色圆圈)不存在。

enter image description here

要获取该策略,请单击“附加策略”。然后在下一页搜索 SecretsManager 读写 ,然后单击复选框。单击“附加策略”按钮,现在该角色拥有它!

现在我的来自 AWS Amplify 上的 React 应用程序的 HTTPS 请求向我在 ElasticBeanstalk 上的 Web 应用程序发出请求,但我不再收到 AWSSecretsManagerException AccessDenied 信息!

关于amazon-web-services - AWS Secrets Manager 异常访问被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59622138/

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