当前位置: 首页 > 知识库问答 >
问题:

存储Azure Vault客户端ID和客户端机密

艾奕
2023-03-14

我使用。NET Core2.0和ASP.NET Core2.0进行应用程序开发。“测试”应用程序是一个。NET核心控制台应用程序。我正在编写的核心代码是一个类库。一旦适当的测试。我选择这样做是因为我暂时不会使用它(它正在替换旧的ASPNET代码)。

无论如何,由于我必须处理各种服务的大量API密钥,所以我决定使用Microsoft Azure Key Vault来存储密钥。我有这一切设置,并理解这是如何工作的。测试应用程序使用测试Azure帐户,因此它并不重要。由于这是替代遗留代码,而且还处于起步阶段,所以我是唯一的开发人员。

共有1个答案

晏树
2023-03-14

是的,您是对的,纯文本配置文件只能在开发过程中使用,不能用于生产目的。一般来说,可用的选项取决于你在哪里以及如何托管一个应用程序。

如果您有一个Azure Web应用程序,您至少有下一个内置选项(来自文档):

>

  • 为Azure门户中的AppSettings添加ClientId和ClientSecret值。通过这样做,实际值将不在Web.config中,而是通过门户进行保护,在门户中您具有单独的访问控制功能。这些值将替换您在Web.config中输入的值。确保名称相同。

      null

    最后一件事:还有一种技术,基于这种想法,您只需要存储/传递一个ClientSecret值,而ClientId应该基于应用程序所在的机器/容器细节(例如,docker容器id)来构造。我找到了一个Hashicorp Vault和一个托管在AWS上的应用程序的示例,但总体思路是相同的:使用Vault进行秘密管理

  •  类似资料:
    • 客户端存储

    • 我想知道以下问题的答案: 1)如果Ignite服务器重新启动,我需要重新启动客户端(web应用程序)。是否有任何方法可以在服务器重新启动时重新连接到服务器。我知道当服务器重新启动时,它分配了一个不同的ID,因此当前现有的连接变得过时。是否有方法克服这个问题,如果是的话,哪一个版本的Ignite支持这个功能。目前我使用1.7版本 3)如果我有一个大对象要缓存,我发现序列化和反序列化在Ignite中需

    • 我想在一些计算机之间建立点对点连接,这样用户就可以在没有外部服务器的情况下聊天和交换文件。我最初的想法如下: 我在服务器上制作了一个中央服务器插座,所有应用程序都可以连接到该插座。此ServerSocket跟踪已连接的套接字(客户端),并将新连接的客户端的IP和端口提供给所有其他客户端。每个客户端都会创建一个新的ServerSocket,所有客户端都可以连接到它。 换句话说:每个客户端都有一个Se

    • URI 方法 URI() string 返回当前客户端使用的服务器地址。 SetURI 方法 SetURI(uri string) 设置当前客户端使用的服务器地址。如果你想要设置多个服务器地址,请使用 SetURIList 方法代替该方法。 URIList 方法 URIList() []string 返回当前客户端可使用的服务器地址列表。 SetURIList 方法 SetURIList(uriL

    • 客户端事件通过 SetEvent 方法进行设置。 客户端事件有两个,它们分别定义为: type onErrorEvent interface { OnError(name string, err error) }   type onFailswitchEvent interface { OnFailswitch(Client) } 因为 go 语言不需要显式实现接口的特点,所以这两