管理用户机密时,会在项目文件中写入一个guid号以供参考,如下所示:
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<UserSecretsId>pc183z95-o1t5-1245-u6z2-wfb29d1dq521</UserSecretsId>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
在 GitHub 这样的公共存储库中公开这个号码是否存在安全风险?据我了解,其目的只是通过将敏感信息与项目隔离来隐藏它们。这样,只有有权访问我们本地计算机的人才能看到它们。但是这个指导号码呢?一定要隐藏吗?
不,用户秘密 ID 本身不需要保密。它仅用于识别应用程序运行时用户机密配置源将查找配置的路径。在 Windows 上,此路径是%APPDATA%\\Microsoft\\UserSecrets\\<UserSecretsId>\\secrets.json. 在那里,UserSecretsId仅用作存储 \xe2\x80\x9csecret\xe2\x80\x9d 配置文件的文件夹的名称。
默认情况下使用 GUID,因为这只是一个安全的赌注,新创建的项目将从一个全新的空文件夹开始,而不是意外地重用来自不同应用程序的配置。从技术上讲,ID 并不限于 GUID。有时,其UserSecretsId格式<ProjectName>-<GUID>可以让您在根%APPDATA%\\Microsoft\\UserSecrets\\文件夹中更轻松地识别机密的存储位置。
然而,将此值更改为您喜欢的值也是完全实用的,例如一个足够唯一的名称。如果您可以肯定没有其他人可以提出该名称(或者如果两个项目由同一开发人员处理并导致冲突的可能性很小),那么这也可能只是您的项目名称。
\n除非您将实际的秘密放入 的值中UserSecretsId,否则共享它不会影响您的秘密的安全性。但您应该注意,尽管名称为\xe2\x80\x9cuser Secrets\xe2\x80\x9d,但这些秘密并未真正受到保护。如果您查看这些secrets.json文件所在的文件夹,您可以看到这只是一个包含未加密 JSON 文件的文件夹,其中包含您的 \xe2\x80\x9csecret\xe2\x80\x9d 配置。
用户机密配置的主要目的是将计算机本地配置移出项目目录,以便您不会意外将此信息提交到项目\xe2\x80\x99s 源代码管理中。然而,此配置不受任何方式的保护,并且通过访问您的文件系统,可以非常轻松地读出信息。存储在其他地方的文件使得很容易不与其他人共享此信息,尽管这就是用户机密配置试图对您的配置保密的方式。\xe2\x80\x93 它\xe2\x80\x99 是一个非常简单但也非常有用的系统,但你应该记住这一点,这样你就不会期望从它中得到\xe2\x80\x99 不旨在做的事情。因此,it\xe2\x80\x99s 也仅默认启用用于开发。
\n| 归档时间: |
|
| 查看次数: |
1230 次 |
| 最近记录: |