我有一个Azure帐户,我想使用ASP.NET库进行ARM模板的部署。我注意到,在Azure Portal生成的 Deployment 类(在从Portal下载的 DeploymentHelper.cs 文件中),我需要以下字段提供我自己的数据:
string subscriptionId = "your-subscription-id";
string clientId = "your-service-principal-clientId";
string clientSecret = "your-service-principal-client-secret";
string resourceGroupName = "resource-group-name";
string deploymentName = "deployment-name";
string resourceGroupLocation = "resource-group-location";
string pathToTemplateFile = "path-to-template.json-on-disk";
string pathToParameterFile = "path-to-parameters.json-on-disk";
string tenantId = "tenant-id";
我在这些方面遇到了困难:
string clientId = "your-service-principal-clientId";
string clientSecret = "your-service-principal-client-secret";
我知道可以从 Subscriptions 刀片中获得的 subscriptionId 。我也知道,我可以在目录ID 字段下的 Azure Active Directory>属性刀片中找到 tenantId 。
我已按照this documentation page的要求尝试在 Azure Active Directory 上设置应用注册,我已经读过这是我需要做的获取 cliendId 和 clientSecret 值。我认为值得一提的是,我对 Active Directory 或 Azure Active Directory 没有任何经验。
在遵循文档时,我的第一个问题是使用此刀片:
我不知道应该在“ 登录URL ”字段中输入什么。我试图用我的个人网站填充它只是因为它是必需的(可能是我的第一个错误)。然后使用已注册的应用程序进入“ 应用程序ID ”,并在我的代码中使用值 clientId 。
然后我在“ 设置”刀片中生成密钥,并将其用作代码中的 clientSecret 。
但是,当我运行代码时,出现以下错误:
Exception thrown: 'Microsoft.Rest.Azure.CloudException' in System.Private.CoreLib.dll
An exception of type
'Microsoft.Rest.Azure.CloudException' occurred in System.Private.CoreLib.dll but was not handled in user code
Operation returned an invalid status code 'Forbidden'
我不想进行任何精美的Azure AD设置以便通过Azure进行部署。我正在用我的个人帐户尝试此操作,因此这与设置AD环境并不一样。
答案 0 :(得分:1)
我不知道应在“登录URL”字段中输入什么。我试图用我的个人网站填充它只是因为它是必需的(可能是我的第一个错误)。
如果开发Web应用程序,则可以将Web应用程序作为登录URL进行寻址。根据您的情况,您可以添加无效的网址。您可以添加您的个人网站。
操作返回了无效的状态代码“禁止”
这意味着您无权将资源部署到订阅中。
您需要将角色提升到WebApplication。有关更多信息,请参阅how to registry an Azure AD application and assigin role。