AWS Secret Manager-关于GetSecret的403响应

时间:2019-06-05 01:56:59

标签: asp.net-core aws-sdk aws-secrets-manager

我正在研究一个将部署到AWS的ASP.NET Core项目。最近,客户端回来了,并要求从AWS SecretsManager获取一些值。我正在使用从与该服务部署到的EC2实例相关联的IAM角色继承的权限。

在生产中使用时,此服务将由客户端自己在其自己的AWS帐户上托管。

当我部署到自己的测试AWS帐户时,该过程运行良好,但是当客户端部署至其自己的AWS帐户时,他们会在呼叫中收到403 Forbidden响应,以获取机密值。他们像我一样设置了机密和权限策略,但仍然出现403错误。

AmazonSecretsManagerClient client = new AmazonSecretsManagerClient();
var secretRequest = new GetSecretValueRequest
{
    SecretId = "MySecretName"
};

// FAILS HERE
GetSecretValueResponse secretResponse = await client.GetSecretValueAsync(secretRequest);

它是一个HttpRequestException,其消息为“响应状态代码未指示成功:403(禁止)。”

我的问题实际上不是编码问题,因为这确实适用于我的测试AWS帐户。看来这一定是客户的AWS帐户存在环境问题。

我在AWS方面的经验非常有限,所以我不知道是什么原因造成的。

1 个答案:

答案 0 :(得分:0)

客户是否正在尝试获取与帐户中使用的完全相同的秘密?这将需要使用自定义CMK并添加资源策略以授予访问权限,如AWS docs中所述。