我尝试通过 Azure 门户将私钥作为机密存储在 Azure Keyvault 中,但当我检索该值时,我发现它已被修改(添加了额外的空格)。我还尝试通过以下方式添加秘密az cli:
$file = get-content C:\Dev\private.key
az keyvault secret set --name private_key --value $file --vault-name testing-kv
但我遇到了以下错误:
unrecognized arguments: MIIEXXXXXXX...只有-----BEGIN PRIVATE KEY-----私钥的一部分被识别,而其余部分则不能被识别。
我还查看了这篇文章将私钥存储到 Azure KeyVault,值已更改,解决方案指示将私钥转换为安全字符串并将编码值上传到密钥保管库:
$secretvalue = ConvertTo-SecureString 'C:\Dev\private.key' -AsPlainText -Force
az keyvault secret set --name private_key --value $secretValue
但这不起作用,因为它将字符串存储[System.Secure.String]在 keyvault 中。
如何将该私钥完整地存储到密钥库中?
我在 Windows 机器上使用 Azure CLI 2.0,我正在尝试使用此Microsoft 文档创建 Docker VM :
az group deployment create --resource-group myResourceGroup \
--parameters '{"newStorageAccountName": {"value": "mystorageaccount"},
"adminUsername": {"value": "azureuser"},
"adminPassword": {"value": "P@ssw0rd!"},
"dnsNameForPublicIP": {"value": "mypublicdns"}}' \
--template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/docker-simple-on-ubuntu/azuredeploy.json
Run Code Online (Sandbox Code Playgroud)
将所有内容放在一行会导致“无法识别的参数”错误。用双引号替换参数单引号会导致“期望用双引号括起来的属性名称”错误,删除参数选项会导致预期的“部署模板验证失败”错误。提供参数值的正确方法是什么?
运行后az component update,出现以下错误:
$ az component update
100% |????????????????????????????????| 71kB 1.5MB/s
100% |????????????????????????????????| 51kB 1.8MB/s
100% |????????????????????????????????| 81kB 4.1MB/s
100% |????????????????????????????????| 92kB 4.8MB/s
100% |????????????????????????????????| 71kB 4.5MB/s
100% |????????????????????????????????| 808kB 1.5MB/s
100% |????????????????????????????????| 71kB 8.9MB/s
100% |????????????????????????????????| 184kB 5.1MB/s
100% |????????????????????????????????| 276kB 3.7MB/s
100% |????????????????????????????????| 245kB 4.2MB/s
100% |????????????????????????????????| 399kB 2.5MB/s
Traceback (most recent call last):
File "/private/var/folders/59/qls0d_2n2h5g9683fqp5ltl40000gn/T/pip-build-K4RCxY/azure-cli-core/azure/cli/core/telemetry_upload.py", line 10, in <module>
import azure.cli.core.decorators as decorators
ImportError: No module named azure.cli.core.decorators
Run Code Online (Sandbox Code Playgroud)
随后,呼叫az失败。
$ az
/Users/user/lib/azure-cli/bin/python: No …Run Code Online (Sandbox Code Playgroud) 是否可以使用CLI启用/禁用Azure逻辑应用程序?我没有在文档中找到任何有关它的信息。
有一种方法可以通过REST API进行,这需要创建访问令牌。但是,由于我是从Shell或VSTS(具有az CLI任务)运行的,因此我已经获得了授权,因此我想使用CLI简化此过程。
在使用Azure CLI或Azure Python SDK方面是否有推荐的方法?
CLI似乎有更好的文档,但由于它是基于Python构建的,我认为它最终将共享Azure Python SDK的许多功能.
有什么想法吗?是否有一个支持另一个?
作为参考,我们正在构建一个基于Linux的应用程序,包括python和偶尔的shell脚本.所以我们可以使用其中任何一个,尽管我们发现CLI更容易,因为它有更好的文档.
我正在为我的持续部署设置一个临时环境。我将 Azure devops 服务用于存储库和管道。
我需要将 Azure Active Directory 登录添加到我的 Linux VM。到目前为止,我遵循了本指南。它在我的机器上工作,但当我尝试在 Azure devops 上运行它时,我收到以下错误。
2019-04-08T14:54:33.7657868Z ERROR: The client '********-****-****-****-************' with object id '********-****-****-****-************' does not have authorization to perform action 'Microsoft.Authorization/roleAssignments/write' over scope '/subscriptions/***/resourceGroups/staging-rg/providers/Microsoft.Compute/virtualMachineScaleSets/webscaleset/providers/Microsoft.Authorization/roleAssignments/********-****-****-****-************'.
Run Code Online (Sandbox Code Playgroud)
似乎我的 azure devops 服务连接缺少 roleAssignment/write 权限。我不知道如何添加它
我正在使用 Azure CLI 获取 vnet 对等互连列表:az network vnet peering list. 这将返回以下结构的 json:
[
{
...
"name": "prefix1-name",
...
},
{
...
"name": "prefix2-name",
...
}
]
Run Code Online (Sandbox Code Playgroud)
我正在尝试按以某个前缀开头的名称过滤结果。我尝试了以下各种组合:
az network vnet peering list --resource-group my-rg --vnet-name my-vnet --query "[?starts_with(name,'prefix1-')].{name}"
但是这总是失败并显示类似].{name} was unexpected at this time.
我错过了什么?
我ERROR: Insufficient privileges to complete the operation.在跑步时得到az ad app permission add
我需要授予我的服务主体什么权限才能使其工作?
我给了它 AppRoleAssignment.ReadWrite.All 权限,它说:
允许应用代表登录用户管理对任何 API(包括 Microsoft Graph)的应用程序权限的权限授予和任何应用程序的应用程序分配。
更新:我也给了它 Application.ReadWrite.All,但仍然收到错误。
我的最终目标是使用 bash 和 Azure CLI 将文档上传到现有的 CosmosDB (SQL) 实例。问题是:Azure CLI 不提供修改文档的命令。
为了解决这个问题,我查看了az rest命令,希望调用 CosmosDB 的 REST API 来完成任务,但经过几个小时的不成功尝试后,我总是收到错误:
Unauthorized({"code":"Unauthorized","message":"输入的授权令牌无法满足请求。请检查预期的有效负载是否按照协议构建,并检查正在使用的密钥。服务器使用了以下有效负载进行签名:'get\ndbs\n\nsat,2020 年 4 月 25 日 13:50:22 +0000\n\n'\r\nActivityId: ..., Microsoft.Azure.Documents.Common/2.10.0" })
为了暂时简单起见,我尝试使用 REST API 列出我的所有数据库,如文档中所述,如果可行,请继续实际的文档上传。
我还尝试按照文档中提供的有关如何生成授权标头的说明进行操作。
获取数据库列表的请求使用以下格式:GET https://{databaseaccount}.documents.azure.com/dbs
这是我的 bash 脚本,其中突出显示了问题。
第 1 部分:获取访问令牌 -问题:这是正确的令牌吗?
masterKey=$(az cosmosdb keys list --name MYDBINSTANCENAME --query primaryMasterKey --output tsv)
Run Code Online (Sandbox Code Playgroud)
第 2 部分:生成要哈希的有效负载 - 所有内容必须为小写
verb="get"
resourceType="dbs"
resourceLink="dbs"
now=$((date -uR) | tr '[A-Z]' '[a-z]')
payload="$verb\n$resourceType\n$resourceLink\n$now\n\\n"
Run Code Online (Sandbox Code Playgroud)
第 …
我需要在我有权访问的 AAD B2C 租户中获取用户详细信息:
az ad user show --id 0cbb4fd6-7091-44fb-ab5e-d2bd9c366f59
Run Code Online (Sandbox Code Playgroud)
这找不到用户,因为我登录到我的组织常规 AAD 租户。B2C 租户没有订阅,他们链接到主要租户,这意味着我不能这样做
az login -t myb2ctenant.onmicrosoft.com
Run Code Online (Sandbox Code Playgroud)
在门户中工作并不方便,我想在 CLI 中执行我的例程。我怎样才能做到这一点?
command-line-interface azure azure-active-directory azure-cli azure-ad-b2c
azure-cli ×10
azure ×7
azure-devops ×3
azure-ad-b2c ×1
azure-cli2 ×1
bash ×1
hcl ×1
jmespath ×1
private-key ×1
python ×1