【问题标题】:Best practices for using Azure CLI in a Azure VM via Jenkins [closed]通过 Jenkins 在 Azure VM 中使用 Azure CLI 的最佳实践 [关闭]
【发布时间】:2021-11-06 06:50:26
【问题描述】:

我对 Azure 很陌生。 我有一个 Jenkins 集群。作业在从站中启动。从站是 Azure VM (Ubuntu)。

我需要运行一些 Azure CLI 命令来将文件部署到 Azure 存储 Blob。

我认为我需要一个允许在 VM 内使用 Azure CLI 的身份(用户?)。

也许我可以只为 Jenkins 创建一个特定用户吗? 托管标识是否也可以使用 Azure CLI?

我想知道实现这一目标的最佳方法是什么。 谢谢。

【问题讨论】:

    标签: azure jenkins azure-storage azure-cli


    【解决方案1】:

    我已经在我的环境中测试过了。

    请使用门户或 Azure CLI 创建服务主体。

    要使用 CLI 创建服务主体,请使用以下命令:

    az ad sp create-for-rbac --name ServicePrincipalName
    

    更多详情请参考:https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli

    要使用 Portal 创建服务主体,

    转到 Azure Active Directory --> 应用注册 --> 新注册 --> 填写表格 --> 注册

    转到您的存储帐户 --> 选择访问控制 (IAM)--> 添加角色分配 --> 在角色下,选择存储帐户参与者 --> 在选择下,搜索您的服务主体 --> 单击保存

    现在,服务主体将拥有存储帐户参与者访问权限。您可以使用 CLI 将文件部署到 Azure 存储。

    转到 Azure Active Directory --> 应用注册 --> 搜索您的服务主体并单击它。

    请注意应用程序 ID、租户 ID。

    转到 Clients & secrets --> 点击 New Client Secret --> 填写表格并点击 Ok。

    注意客户端密码。

    在 VM 中,请使用以下命令使用您的服务主体登录 Azure

    az login --service-principal -u <app-id> -p <client-secret> --tenant <tenant-id>
    

    现在您可以使用 CLI 从 VM 将文件部署到 Azure 存储帐户。

    要将文件上传到您的存储帐户,请使用以下 CLI 命令:

    az storage blob upload --account-name StorageAccountName --container-name ContainerName --name fileName --file sourceFileName
    

    【讨论】:

    • 很清楚,你帮了很多忙。非常感谢。
    猜你喜欢
    • 2021-12-21
    • 2020-04-04
    • 1970-01-01
    • 2021-08-11
    • 2019-11-12
    • 2012-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多