所以我对云中的容器比较陌生。
我用Azure容器实例(示例:https://xpirit.com/2017/11/12/containers-as-a-service-in-azure/)和AKS (示例:https://learn.microsoft.com/en-us/azure/aks/kubernetes-walkthrough-portal)做了一些概念化的证明。
来自于一个前提下的world....what在示例中迷失了,这就是IIDentity的思想。
例如,如果我有一个运行Windows或IIS托管应用程序的Windows2012Server,那么就有了IIDentity的概念。Windows服务,它将是绑定到运行Windows服务的用户.(由代码或Control/Services中的属性设置)。对于IIS,它是运行App的用法。
所以我单独读到过
服务标识,甚至是托管服务标识。(例子:https://anthonychu.ca/post/secrets-aspnet-core-key-vault-msi/ )
这就是暗示我的地方。
如何在运行时设置"IIdentity“
还是我撞错了树?
==================
码头“形象”
发布于 2018-08-24 13:48:06
我现在的想法是“在运行容器的VM之上应用托管服务标识(MSI)”。
本文将讨论这一问题:
https://banzaicloud.com/blog/azure-msi-role/
这里的关键是创建一个kubernetes类型的VM,您可以手动进入并打开托管服务标识功能。
转到VM ( kubernetes created......there可能超过1 VM).
点击“配置”选项卡。
在我做这个神奇的开启之前……课文是这样的:
"Managed Service Identity"
"Register with Azure Activity Directory"
and a bug NO/YES push button.在我打开这个魔法之后,它会写成:
Just-in-time access
To improve security, enable a just-in-time access policy.
Upgrade your Azure Security Center subscription to the standard tier现在,这样就可以使用托管服务标识了。
然后,您必须将一些托管服务标识映射到实际的VM。
我仍然在研究this.........so,随着我了解到更多信息,我将尝试更新这个答案。
但是理论是,一旦MSI被“应用到VM上”,VM(应用程序代码)将能够得到一个令牌,如下面的代码所示。
var azureServiceTokenProvider = new AzureServiceTokenProvider();这里有一个更大的示例代码.(从上面的chu.ca站点链接复制和粘贴)(但以防链接下降)
Microsoft.Azure.Services.AppAuthentication package.
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((ctx, builder) =>
{
var keyVaultEndpoint = GetKeyVaultEndpoint();
if (!string.IsNullOrEmpty(keyVaultEndpoint))
{
var azureServiceTokenProvider = new AzureServiceTokenProvider();
var keyVaultClient = new KeyVaultClient(
new KeyVaultClient.AuthenticationCallback(
azureServiceTokenProvider.KeyVaultTokenCallback));
builder.AddAzureKeyVault(
keyVaultEndpoint, keyVaultClient, new DefaultKeyVaultSecretManager());
}
})
.UseStartup<Startup>()
.Build();
private static string GetKeyVaultEndpoint() => Environment.GetEnvironmentVariable("KEYVAULT_ENDPOINT");我还没有看到如何将MSI“权限授予读KeyVault”的yet......that仍在进行中。
https://stackoverflow.com/questions/51876475
复制相似问题