Asp.net Azure配置设置是否比Web.Config更安全?

Asp.net Azure配置设置是否比Web.Config更安全?,asp.net,security,azure,azure-cloud-services,Asp.net,Security,Azure,Azure Cloud Services,我使用的是Azure云服务,而不是网站 我想知道在Azure服务配置设置中存储敏感数据(密码)是否安全 我真的不想实现在Azure web角色中加密web.config所需的由4部分组成的博客系列,因此我想我可以将我的设置保留在Azure配置中,然后通过RoleEnvironment.GetConfigurationSettingValue()访问它们 这些设置在一个类似web.config的配置文件中,所以我的问题是,这个配置文件是否只是用于构建云服务,然后被丢弃,或者在实例的生命周期中它是否

我使用的是Azure云服务,而不是网站

我想知道在Azure服务配置设置中存储敏感数据(密码)是否安全

我真的不想实现在Azure web角色中加密web.config所需的由4部分组成的博客系列,因此我想我可以将我的设置保留在Azure配置中,然后通过
RoleEnvironment.GetConfigurationSettingValue()
访问它们

这些设置在一个类似web.config的配置文件中,所以我的问题是,这个配置文件是否只是用于构建云服务,然后被丢弃,或者在实例的生命周期中它是否停留在磁盘上(从而使敏感数据暴露于攻击)


我喜欢通过门户在运行时更新这些设置的能力,我认为门户是一个安全的端点,所以我可以接受。但是,如果文件保留在磁盘上,那么它的安全性并不比web.config文件IMHO更高。

我们使用安装在web角色上的域证书加密/解密Azure配置设置和其他内容。我在这里的博客上发布了一个完整的示例:。

我们使用安装在web角色上的域证书加密/解密Azure配置设置和其他内容。我在我的博客上发布了一个完整的示例:。

我创建了一个功能请求:

这与远程桌面插件的功能类似(但更惯用,imho)。远程桌面添加:

<ConfigurationSettings>
  <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.Enabled" value="true" />
  <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountUsername" value="<name-of-user-account>" />
  <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountEncryptedPassword" value="<base-64-encrypted-password>" />
  <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountExpiration" value="<certificate-expiration>" />
  <Setting name="Microsoft.WindowsAzure.Plugins.RemoteForwarder.Enabled" value="true" />
</ConfigurationSettings>
<Certificates>
  <Certificate name="Microsoft.WindowsAzure.Plugins.RemoteAccess.PasswordEncryption" thumbprint="<certificate-thumbprint>" thumbprintAlgorithm="sha1" />
</Certificates>

RDP插件“知道”
Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountEncryptedPassword
值加密后将使用证书
Microsoft.WindowsAzure.Plugins.RemoteAccess.PasswordEncryption
对其进行解密

我的功能请求是向
节点添加名为
指纹的属性。调用
CloudConfigurationManager.GetSetting()
将使用指定的证书无缝解密该值


那该多好啊…

我创建了一个功能请求:

这与远程桌面插件的功能类似(但更惯用,imho)。远程桌面添加:

<ConfigurationSettings>
  <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.Enabled" value="true" />
  <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountUsername" value="<name-of-user-account>" />
  <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountEncryptedPassword" value="<base-64-encrypted-password>" />
  <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountExpiration" value="<certificate-expiration>" />
  <Setting name="Microsoft.WindowsAzure.Plugins.RemoteForwarder.Enabled" value="true" />
</ConfigurationSettings>
<Certificates>
  <Certificate name="Microsoft.WindowsAzure.Plugins.RemoteAccess.PasswordEncryption" thumbprint="<certificate-thumbprint>" thumbprintAlgorithm="sha1" />
</Certificates>

RDP插件“知道”
Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountEncryptedPassword
值加密后将使用证书
Microsoft.WindowsAzure.Plugins.RemoteAccess.PasswordEncryption
对其进行解密

我的功能请求是向
节点添加名为
指纹的属性。调用
CloudConfigurationManager.GetSetting()
将使用指定的证书无缝解密该值


那该多好啊……

谢谢你的发帖,我在谷歌搜索时确实看到了你的博客文章,但如果可能的话,我希望避免这样做。希望它能帮助别人!谢谢你的发帖,我在谷歌搜索时确实看到了你的博客文章,但如果可能的话,我会尽量避免这样做。希望它能帮助别人!