标签: azure-resource-manager

Azure - 找不到服务器场

我正在尝试部署 ARM 模板,但在服务器场创建步骤中失败。我从 Microsoft 网站Microsoft docks中获取了示例。我不明白为什么会发生

这是一个错误代码,我将位置从北欧更改为西欧,我尝试使用参数引发的变量。没有任何帮助。

    Resource Microsoft.Web/serverfarms 'ASE-APP-SERVICE-PLAN' failed with message '{
  "Code": "NotFound",
  "Message": "Server farm with name ASE-APP-SERVICE-PLAN not found.",
  "Target": null,
  "Details": [
    {
      "Message": "Server farm with name ASE-APP-SERVICE-PLAN not found."
    },
    {
      "Code": "NotFound"
    },
    {
      "ErrorEntity": {
        "ExtendedCode": "11001",
        "MessageTemplate": "Server farm with name {0} not found.",
        "Parameters": [
          "ASE-APP-SERVICE-PLAN"
        ],
        "Code": "NotFound",
        "Message": "Server farm with name ASE-APP-SERVICE-PLAN not found."
      }
    }
  ],
  "Innererror": null
}'
Run Code Online (Sandbox Code Playgroud)

这是我的简单手臂模板

{
"$schema": …
Run Code Online (Sandbox Code Playgroud)

azure azure-resource-manager azure-rm-template

6
推荐指数
2
解决办法
2万
查看次数

自动生成密钥库机密

我们需要创建 Key Vault 并用机密填充(或生成)它,然后在下一个构建步骤中将它们作为 SQL 服务器 (PaaS) 的密码引用。最好的方法是什么?

azure-resource-manager azure-keyvault azure-devops azure-pipelines-build-task azure-pipelines

6
推荐指数
1
解决办法
5393
查看次数

Azure 中所有 Azure 资源类型的列表?

是否有任何地方可以获得 Azure 提供的所有资源类型的完整列表?我正在做策略/角色管理,但似乎不是寻找所有资源类型的好地方。目前我一直在使用,Get-AzureRmProviderOperation但这仍然没有显示所有内容。例如,没有选项Microsoft.Botservice

azure azure-powershell azure-active-directory azure-resource-manager

6
推荐指数
2
解决办法
8581
查看次数

ARM模板中是否可以具有条件属性

我知道可以为属性值提供条件输出,但是可以有条件属性本身。例如,我有创建的模板,Microsoft.Compute/VirtualMachine并且它是Windows和Linux的相同模板。但是对于Windows,我需要指定Linux不存在的属性("licenseType": "Windows_Server")。该属性的存在将导致部署失败,并显示错误The property 'LicenseType' cannot be used together with property 'linuxConfiguration'

我试图弄清楚是否有可能仅在Windows映像中包含此属性,同时保持模板不变?

azure-resource-manager

6
推荐指数
2
解决办法
2033
查看次数

从 ARM 模板中的 Azure 密钥保管库获取最新版本的证书

创建需要安装位于 Azure 密钥保管库内的 SSL 证书的 ARM 模板。如果我用指纹指定证书,它工作正常:

https://contoso.vault.azure.net/secrets/web01-test-contoso-com/968bf207451149d3aceb390065af9d3a
Run Code Online (Sandbox Code Playgroud)

但由于证书是在滴答作响的时钟上,这对可能过时的依赖项进行硬编码到 ARM 模板中。我宁愿只指定最新版本(就像它在门户中显示的那样)。但是,我还没有找到任何说明如何做到这一点的文档,甚至没有提到可能的话。

我使用以下方法进行了几个实验:

https://contoso.vault.azure.net/secrets/web01-test-contoso-com
Run Code Online (Sandbox Code Playgroud)

https://contoso.vault.azure.net/secrets/web01-test-contoso-com/latest
Run Code Online (Sandbox Code Playgroud)

但是在这两种情况下,我都收到了相同的错误消息:

message '{
   "error": {
     "code": "InvalidParameter",
     "message": "https://contoso.vault.azure.net/secrets/web01-test-contoso-com/latest is 
 not a valid versioned Key Vault Secret URL. It should be in the format 
 https://<vaultEndpoint>/secrets/<secretName>/<secretVersion>.",
     "target": "certificateUrl"
   }
}'
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:如何以获取最新版本的方式引用证书?

为清楚起见,我secrets将 ARM 模板部分中的 URL用于 VM,如下所示,它从 Azure 密钥保管库获取证书并将其安装到 Windows 证书存储中。

"secrets": [
    {
      "sourceVault": {
        "id": "[resourceId(parameters('keyVaultResourceGroupName'), 'Microsoft.KeyVault/vaults', parameters('keyVaultName'))]"
      },
      "vaultCertificates": [
        {
          "certificateUrl": "https://contoso.vault.azure.net/secrets/web01-test-contoso-com/latest",
          "certificateStore": "My"
        }
      ]
    }
]
Run Code Online (Sandbox Code Playgroud)

注意:我觉得奇怪的是,您可以指定要安装的操作系统的最新版本,但不能指定安装最新版本的证书。

azure azure-resource-manager azure-keyvault azure-rm-template azure-template

6
推荐指数
1
解决办法
1636
查看次数

ARM 模板 Web 应用程序身份验证设置不起作用

我正在设置我的站点身份验证设置以使用 AAD 提供程序。大多数模板都受到尊重。但是,unauthenticatedClientActionallowedAudiences没有被正确分配。我观察到“允许匿名”并且没有分配“允许的观众”。

请注意,我正在使用 ARM Template API 2018-02-01。由于文档原因,此问题可能仍然存在,如果您提供答案,请注意其解决的 ARM 模板版本。

此外,为 ARM 文档团队创建一个问题以更正任何问题。

这是我的这些设置的模板段。它嵌套在我的网站模板中的资源下。

根 > Microsoft.Web/站点 > 资源

{
    "type": "config",
    "name": "web",
    "apiVersion": "2016-08-01",
    "location": "[parameters('app-location')]",
    "dependsOn": [
        "[resourceId('Microsoft.Web/sites', variables('web-site-name'))]"
    ],
    "properties": {
        "siteAuthEnabled": true,
        "siteAuthSettings": {
            "enabled": true,
            "unauthenticatedClientAction": "RedirectToLoginPage",
            "tokenStoreEnabled": true,
            "defaultProvider": "AzureActiveDirectory",
            "clientId": "[parameters('web-aad-client-id')]",
            "issuer": "[concat('https://sts.windows.net/', parameters('web-aad-tenant'))]",
            "allowedAudiences": [
                "[concat('https://', variables('web-site-name'), '.azurewebsites.net')]"
            ]
        }
    }
}
Run Code Online (Sandbox Code Playgroud)
  • 模板验证
  • 部署不输出任何错误

问题:

  1. unauthenticatedClientAction 被分配允许匿名而不是 RedirectToLoginPage
  2. allowedAudiences 未分配任何站点

什么可能导致这些问题?我可能错过了什么?

azure-active-directory azure-resource-manager azure-web-app-service

6
推荐指数
1
解决办法
2641
查看次数

ARM 模板:查找用户对象 ID

我正在尝试以编程方式将某个用户帐户的对象 ID 插入到 ARM 模板中,如下所示:

"objectId": "[reference(resourceId('Microsoft.AAD/domainServices/user/read','domain','User.Name'),'2019-01-01').Id]",
Run Code Online (Sandbox Code Playgroud)

我尝试了许多不同的资源提供者,试图让它发挥作用。例如:

"objectId": "[reference(resourceId('Microsoft.ManagedIdentity/userAssignedIdentities/read','user@domain.onmicrosoft.com'),'2019-01-01').Id]",
Run Code Online (Sandbox Code Playgroud)

和:

"objectId": "[reference(resourceId('Microsoft.Portal/usersettings/read','user@domain.onmicrosoft.com'),'2018-10-01').Id]"
Run Code Online (Sandbox Code Playgroud)

我查找了用于获取用户列表的 API 调用,以查看这是否会暗示要使用的正确提供程序(它没有):

GET https://graph.windows.net/{TenantId}/users?api-version=1.6 HTTP/1.1
Run Code Online (Sandbox Code Playgroud)

我一直在查看此提供程序操作列表,但发现了两个问题:

1 我看不到与我想做的事情相关的操作。

2 它没有提供有关需要哪些参数的信息。

所以我想我真的有两个问题:

  1. 如何在 ARM 模板中动态查找用户的 ObjectId?
  2. 将来如何找出可用的查找功能以及需要哪些参数?

azure azure-active-directory azure-resource-manager azure-rm-template

6
推荐指数
1
解决办法
7096
查看次数

在 Azure Pipelines 中使用托管标识:GetUserAccessToken:无法获取标识的访问令牌。AAD 返回静默失败

我正在尝试在 Azure Pipelines 中运行Azure 资源组部署任务。我已在运行 Windows 的 Azure VM 上部署了 Azure Pipelines 自托管代理,并且在我的 Azure DevOps 组织中,我已使用托管服务标识设置了与 VM 的 Azure 资源管理器服务连接

但是,当我尝试使用托管标识的服务连接配置 Azure 资源组部署任务时,出现以下错误:

GetUserAccessToken: 获取identity的访问令牌失败。AAD 返回无声失败。

截屏:

在此输入图像描述

我已经验证我已向目标资源组授予了对 VM 托管身份的访问权限(贡献者):

在此输入图像描述

服务连接的范围也仅限于 Azure 订阅:

在此输入图像描述

感谢您对诊断此问题的任何帮助。谢谢!

azure azure-resource-manager azure-devops azure-pipelines azure-managed-identity

6
推荐指数
1
解决办法
9650
查看次数

部署模板验证失败参数文件中的模板参数“scriptUrldsc”无效,它们不存在于原始文件中

我收到了有关该主题的错误,并且正在努力修复它。我使用带有多个嵌套 ARM 模板的 ARM 模板,部署是使用 Azure DevOps 完成的。

在模板下方。

第一个模板是调用嵌套模板的模板:

{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
  "existingDataFactoryName": {
    "type": "string",
    "metadata": {
      "description": "Existing Data Factory name"
    }
  },
  "existingDataFactoryResourceGroup": {
    "type": "string",
    "metadata": {
      "description": "Existing Data Factory resource group"
    }
  },
  "existingDataFactoryVersion": {
    "type": "string",
    "metadata": {
      "description": "Select the existing Data Factory version"
    },
    "allowedValues": [
      "V1",
      "V2"
    ]
  },
  "virtualMachineName": {
    "type": "string",
    "metadata": {
      "description": "Virtual Machine Name where the runtime will run. Please …
Run Code Online (Sandbox Code Playgroud)

azure azure-resource-manager azure-devops azure-rm-template

6
推荐指数
1
解决办法
2万
查看次数

如何使用托管标识为逻辑应用程序创建与 Azure KeyVault 的 Api 连接

设想

您好,我想创建Logic App一个从Azure KeyVault保管库获取秘密并向 API 发送经过身份验证的请求的方法。

问题

我收到:The workflow connection parameter 'keyvault' is not valid. The API connection 'keyvault' is not configured to support managed identity.在 ARM 部署期间。如何Microsoft.Web/Connections使用 ARM 模板中的托管身份进行创建。文档中没有有关它的信息:apiConnectionlogicapp -MSI

重现

{
  "type": "Microsoft.Web/connections",
  "apiVersion": "2016-06-01",
  "name": "[variables('KeyVault_Connection_Name')]",
  "location": "[variables('location')]",
  "kind": "V1",
  "properties": {
    "api": {
      "id": "[concat('/subscriptions/', variables('subscriptionId'), '/providers/Microsoft.Web/locations/', variables('location'), '/managedApis/', 'keyvault')]"
    },
    "parameterValues": {
      "vaultName": "[variables('keyVaultName')]"
    },
    "displayName": "[variables('KeyVault_Display_Connection_Name')]"
  }
},
{
  "type": "Microsoft.Logic/workflows",
  "apiVersion": "2017-07-01",
  "name": "[variables('logicAppName')]", …
Run Code Online (Sandbox Code Playgroud)

azure-resource-manager azure-logic-apps azure-keyvault azure-managed-identity

6
推荐指数
2
解决办法
5648
查看次数