【问题标题】:Azure ACR Repo AccessAzure ACR 存储库访问
【发布时间】:2019-02-05 05:29:44
【问题描述】:

我们在 Azure 云上运行了一个 ACR,其中包含多个存储库,它最近被迁移。我们面临的挑战是我们希望在 ACR 上很好地应用 repo 访问控制,类似于 Nexus,我们希望与 Azure Active Directory 集成。 由于我是 Active Directory 的新手,有人可以帮助我提供一些信息吗

【问题讨论】:

    标签: azure active-directory azure-active-directory azure-container-service


    【解决方案1】:

    These 是 ACR 中可用的角色:

    this 谈到以 Azure AD 用户身份进行身份验证。基本上你需要这样做:

    az acr login --name <acrName>
    

    如果您想要 SP 身份验证,上面的文章也谈到了那个。对我来说,使用 SP 凭据进行 docker 登录“正常工作”

    【讨论】:

    • 这些角色适用于 ACR。在 ACR 内部我们有多个 repos,挑战是在 ACR 内部的存储库上实现角色
    • 你不能拥有 ACR 内的 repos 权限
    【解决方案2】:

    我没有使用 Nexus 的经验,但如果您想了解有关使用 Azure AD 对 ACR 进行访问控制的信息,我可以提供一些消息。

    要控制对 ACR 的访问,您可以通过 Azure 服务主体访问具有不同角色的 ACR。控制角色类型是指以权限控制访问。详情请见Azure Container Registry authentication with service principals

    此外,如果您不想通过访问控制提供或管理注册表凭据,您可以使用 Azure 资源的托管标识从另一个 Azure 资源对 Azure 容器注册表进行身份验证。它还依赖于 Azure 服务主体,可以帮助你实现你想要的。详情请见Use an Azure managed identity to authenticate to an Azure container registry

    【讨论】:

    • 这些角色适用于 ACR。在 ACR 内部我们有多个 repos,挑战是在 ACR 内部的存储库上实现角色
    • @Manpreet 看来您可以使用 ACR 内的 repo 直接控制访问。您可以控制整个 ACR 的访问。
    • @Manpreet 据我所知,在 Azure 中无法实现。
    • 在资源组上实施的自定义 Azure AD 策略,是否有效?有什么想法吗?
    • @Manpreet 我认为这不是一个好方法。您最终需要获得访问组中 ACR 的权限。如果只是有组权限而没有ACR权限,也是不行的。
    猜你喜欢
    • 1970-01-01
    • 2013-12-31
    • 1970-01-01
    • 1970-01-01
    • 2022-11-15
    • 2021-12-14
    • 1970-01-01
    • 1970-01-01
    • 2017-02-03
    相关资源
    最近更新 更多