【问题标题】:Socket exception on AWS Secrets Manager GetSecretValueAsync on .NET Core 2.1.NET Core 2.1 上的 AWS Secrets Manager GetSecretValueAsync 上的套接字异常
【发布时间】:2019-04-16 18:32:59
【问题描述】:

我一直在努力在 .NET Core 上实现机密管理器。当它在我的同事 PC 上工作时,它总是在 GetSecretValueAsync 方法调用上返回 Socket Exception 和 HTTPRequestException。

SocketException:尝试对无法访问的网络进行套接字操作 HttpRequestException:尝试对无法访问的网络进行套接字操作

我已经设置了 AWS 默认配置文件所需的凭据文件,该文件位于 Windows 上的 C:\Users\USERNAME.aws\credentials 以及每个 IIS App Pool .aws 文件夹中。所有凭据以前 ANSI 都以 UTF-8 格式存储。

这是我通过 MFA 身份验证获得的凭据示例: 这是我的 aws 凭据配置和文件夹位置: 大多数情况下,我与同事的设置是相同的。现在我几乎走到了尽头。如果有人有经验或愿意帮助我解决此问题的 AWS Web 服务团队,请告诉我。谢谢你。干杯。

var data = secretManager.GetSecretValueAsync(
    new GetSecretValueRequest
    {
        SecretId = configName
    }
).Result;

更新: 我在这里发现了真正的问题,但仍然没有解决方案。因为我真的看不到秘密管理器从哪里获得凭据。供您参考,此方法适用于我 PC 中的 .NET Framework。

【问题讨论】:

    标签: c# amazon-web-services asp.net-core aws-secrets-manager


    【解决方案1】:

    需要更多信息来帮助。 1.aws凭证的路径通常是 C:\Users\USERNAME.aws\ 不是 C:\Users\USERNAME.aws\
    2. 在这个文件夹中应该有一个名为config 的文件,其中定义了区域。放置配置 AWS Secrets Manager 的区域。这里是一个例子

    [default]
    region = us-east-1
    

    如果这不能帮助描述配置,请

    【讨论】:

    • 嗨,detzu,我已更新问题以满足您的要求。谢谢。
    • 我知道你已经配置好了。端点在您的 VPC 中配置? aws.amazon.com/blogs/security/…
    • 好吧,我们不使用 VPC 端点,而是使用提供的凭据直接调用 secretsmanager api。它已经在我同事的电脑上运行了。
    • 我刚刚更新了我的帖子,以防你还在想办法。谢谢。
    • 是的,看起来您在 VPC 内的 ec2 上工作?如果是,您的 EC2 应该有分配给它的角色。此角色是为您的 EC2 分配访问密钥管理器的权限的角色。检查你的 ec2 有什么规则,你同事的 ec2 有什么角色
    【解决方案2】:

    我终于在这里找到了真正的问题。这实际上是因为我需要允许 IIS_IUSRS 组用户访问 IIS 系统配置文件文件夹。谢谢大家!

    【讨论】:

    • 我认为这个错误信息应该更清楚。应该说诸如“无法检索 aws 凭据”之类的内容,以便它可以将您指向系统配置文件文件夹。 SocketException 可能是很多事情,可能会导致某人陷入大量错误的兔子洞
    猜你喜欢
    • 2019-11-12
    • 1970-01-01
    • 2020-04-24
    • 1970-01-01
    • 2021-10-08
    • 2021-06-03
    • 2021-04-21
    • 2020-08-23
    • 1970-01-01
    相关资源
    最近更新 更多