我希望能够使用预定的C#Azure功能管理一些Azure资源。Azure功能角色像停止Azure虚拟机的权限
目前在我所做的命令行应用程序中,我一直使用库的“Microsoft.IdentityModel.Clients.ActiveDirectory”作为令牌授权,“Microsoft.Azure.Management.Compute”用于客户端调用资源管理所以。
//... var credential generated my AD authentication and extending Microsoft.Rest.ServiceClientCredentials
using (var client = new ComputeManagementClient(credential)) {
client.SubscriptionId = "[SOME_SUBSCRIPTION_ID]";
client.VirtualMachines.BeginPowerOff("[RESOURCE_GROUP]", "[VM_NAME]");
}
我的管理客户端可以与Azure资源进行交互,而无需提供用户证书或密钥 - 密钥(如证书建立)吗?
我以前的经验与AWS有关,无可否认,它令我对Azure资源管理的看法感到困惑。
旧帖子我已经看了有:Start and Stop Azure Virtual Machine
和
Is it possible to stop/start an Azure ARM Virtual from an Azure Function?
-edit 1-
我希望类似的东西,运行时间在AWS资源凭证Lambda的客户端基于具有各种权限的指定角色。我会看看证书。
您是使用Azure Scheduler还是Automation Runbook运行脚本?如果您使用的是自动化,那么您有一个凭证资源并使用它您不必对任何凭证进行硬编码,也可以使用Azure密钥库 –
脚本是一种C#函数,它需要一个Timer Trigger参数才能在每日计划。我遵循了[入门]的介绍性链接(https://azure.microsoft.com/en-us/blog/introducing-azure-functions),并查看了[最佳实践](https://docs.microsoft .com/en-us/azure/azure-functions/functions-best-practices),但最初对资源管理认证的最佳实践以及运行时凭证的可能性感到困惑。在这个时候,我可能会坚持使用AD密钥和秘密作为参数。 – user2781163