在Azure Vault中,当我尝试创建新的保管库并提供对特定应用程序的保管库访问权限时,通过rest api提供访问?

时间:2018-06-07 07:02:02

标签: azure azure-keyvault

我使用过Azure vault Rest API并在此页面上使用了“试试”选项

https://docs.microsoft.com/en-us/rest/api/keyvault/vaults/createorupdate#uri-parameters

我以用户身份登录。并使用此API尝试创建保管库,并提供对在同一租户下的azure应用程序上注册的应用程序的访问权限。

我面临的问题是创建了保险库并且还授予了应用程序访问权限,但该类型未在应用程序的访问策略中列出。但是如果提到使用Portal类型创建“应用程序”。因此,我猜有一个访问问题。该应用程序在尝试访问Vault时会拒绝访问。

{  "location": "East US", 
   "properties": {
        "tenantId": "actualtenantid",
        "sku": {
          "family": "A",
          "name": "standard"
    },"accessPolicies": [{        
        "tenantId": "actualtenantid",
        "objectId": "objecidofappregistedinazureportal",
        "permissions": {
          "keys": [
            "encrypt",
            "decrypt",
            "wrapKey",
            "unwrapKey",
            "sign",
            "verify",
            "get",
            "list",
            "create",
            "update",
            "import",
            "delete",
            "backup",
            "restore",
            "recover",
            "purge"
          ],
          "secrets": [
            "get",
            "list",
            "set",
            "delete",
            "backup",
            "restore",
            "recover",
            "purge"
          ],
          "certificates": [
            "get",
            "list",
            "delete",
            "create",
            "import",
            "update",
            "managecontacts",
            "getissuers",
            "listissuers",
            "setissuers",
            "deleteissuers",
            "manageissuers",
            "recover",
            "purge"
          ]
        }
      }]}}

enter image description here

1 个答案:

答案 0 :(得分:1)

我找到了解决方案。

How do I fix an "Operation 'set' not allowed" error when creating an Azure KeyVault secret programmatically?

问题是我使用的是应用程序的对象ID,它显示在门户网站应用内注册中。但是这里对象ID指的是主体的对象id而不是应用程序。