【Azure 应用服务】App Service for Container中配置与ACR(Azure Container Registry)的RABC权限
问题描述
在使用App Service for container时,在从ACR(Azure Container Registry)中获取应用的镜像时,需要使用对应的权限。默认情况为在ACR中启用Admin User权限,在App Service中使用Admin User访问拉取镜像。

而为了更准确的控制权限,在ACR中需要为App Service赋予什么样的RBAC 角色才能通过Container Setting选择镜像并拉取更新呢?
问题解答
一种是使用Contributor权限
授予完全访问权限来管理所有资源,但不允许在 Azure RBAC 中分配角色或在 Azure 蓝图中管理分配,也不允许共享映像库。https://docs.microsoft.com/zh-cn/azure/role-based-access-control/built-in-roles#contributor
如:在App Service门户界面更改ACR镜像操作时,其中的持续集成功能,是会对ACR资源进行更新操作,所以需要App Service中有ACR的Contributor操作权限。

一种是通过自定义角色,自定义组合ACR中的权限,以避免给予用户过度的权限
使用 Azure 门户创建 Azure 自定义角色
如果 Azure 内置角色不能满足组织的具体需求,你可以创建自己的 Azure 自定义角色。 与内置角色一样,可将自定义角色分配到订阅和资源组范围内的用户、组与服务主体。 自定义角色存储在 Azure Active Directory (Azure AD) 目录中,可以在订阅之间共享。 每个目录最多可以有 5000 个自定义角色。 可以使用 Azure 门户、Azure PowerShell、Azure CLI 或 REST API 创建自定义角色。
https://docs.microsoft.com/zh-cn/azure/role-based-access-control/custom-roles
经测试,通过自定义角色的方式,来组合ACR的权限授权给用户,这样就可以开放适度的管理权限给用户,如以下权限列表可以用于App Service 更新镜像的权限设定:

参考资料
Configure App Service to deploy the image from the registry: https://docs.microsoft.com/en-us/azure/app-service/tutorial-custom-container?pivots=container-linux
使用 Azure 门户创建 Azure 自定义角色: https://docs.microsoft.com/zh-cn/azure/role-based-access-control/custom-roles-portal#clone-a-role
【Azure 应用服务】App Service for Container中配置与ACR(Azure Container Registry)的RABC权限的更多相关文章
- 【应用服务 App Service】当遇见某些域名在Azure App Service中无法解析的错误,可以通过设置指定DNS解析服务器来解决
问题情形 当访问部署在Azure App Service中的应用返回 "The remote name could not be resolved: ''xxxxxx.com'" ...
- 【应用服务 App Service】Azure 应用服务测试网络访问其他域名及请求超时限制(4分钟 ≈ 230秒)
测试App Service是否可以访问其他DNS 当应用服务(Azure App Service)创建完成后,想通过ping命令来查看是否可以访问其他站点或解析DNS,但是发现ping命令无法使用.这 ...
- 【应用服务 App Service】快速获取DUMP文件(App Service for Windows(.NET/.NET Core))
问题情形 当应用在Azure 应用服务App Service中运行时,有时候出现CPU,Memory很高,但是没有明显的5XX错误和异常日志,有时就是有异常但是也不能明确的指出具体的代码错误.当面临这 ...
- 【Azure 应用服务】App Service for Linux 中实现 WebSocket 功能 (Python SocketIO)
问题描述 使用 python websockets 模块作为Socket的服务端,发布到App Service for Linux环境后,发现Docker Container无法启动.错误消息为: 2 ...
- 【Azure 应用服务】NodeJS Express + MSAL 应用实现AAD集成登录并部署在App Service Linux环境中的实现步骤
问题描述 实现部署NodeJS Express应用在App Service Linux环境中,并且使用Microsoft Authentication Library(MSAL)来实现登录Azure ...
- 【应用服务 App Service】App Service中抓取网络日志
问题描述 众所周知,Azure App Service是一种PaaS服务,也就是说,IaaS层面的所有内容都由平台维护,所以使用App Service的我们根本无法触碰到远行程序的虚拟机(VM), 所 ...
- 【应用服务 App Service】App Service发生错误请求时,如何查看IIS Freb日志,从中得知错误所发生的模块,请求中所携带的Header信息
问题描述 在使用Azure App Service时候,我们有时候对 一些请求发生错误毫无头绪,能从错误代码中知道请求错误,但是更多的信息呢? 当我们需要更多的信息时候,通常有以下的一些方式来查找问题 ...
- 【应用服务 App Service】Azure App Service 中如何安装mcrypt - PHP
问题描述 Azure App Service (应用服务)如何安装PHP的扩展 mcrypt(mcrypt 是php里面重要的加密支持扩展库) 准备条件 创建App Service, Runtime ...
- 【应用服务 App Service】在Azure App Service中使用WebSocket - PHP的问题 - 如何使用和调用
问题描述 在Azure App Service中,有对.Net,Java的WebSocket支持的示例代码,但是没有成功的PHP代码. 以下的步骤则是如何基于Azure App Service实现PH ...
- 【Azure 应用服务】Azure Mobile App (NodeJS) 的服务端部署在App Service for Windows中出现404 Not Found -- The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.
问题描述 使用NodeJS的后端应用,开发一个Mobile App的服务端,手机端通过REST API来访问获取后端数据.在本地编译好后,通过npm start启动项目,访问效果如下: 但是,当把项目 ...
随机推荐
- 【图】苹果Safari 6.0停止支持Windows PC (转载)
[图]果Safari 6.0停止支持Windows PC (转载) http://bbs.tianya.cn/post-414-41510-1.shtml 2012年之后 苹果就不在开发 window ...
- UData查询引擎优化-如何让一条SQL性能提升数倍
1 UData-解决数据使用的最后一公里 1.1 背景 在大数据的范畴,我们经历了数据产业化的历程,从各个生产系统将数据收集起来,经过实时和离线的数据处理最终汇集在一起,成为我们的主题域数据,下一步挖 ...
- Ant Design Vue数字输入框InputNumber 有值但是验证却不能够通过
InputNumber 有值但是验证却不能够通过 今天遇见这样一个问题,InputNumber 输入框中有值 但是却却提示验证不能够通过 后来经过分析,怀疑是数据类型不正确, 后面经过验证,果然是数据 ...
- C/C++ 实现获取硬盘序列号
获取硬盘的序列号.型号和固件版本号,此类功能通常用于做硬盘绑定或硬件验证操作,通过使用Windows API的DeviceIoControl函数与物理硬盘驱动程序进行通信,发送ATA命令来获取硬盘的信 ...
- 3.1 C/C++ 使用字符与指针
C/C++语言是一种通用的编程语言,具有高效.灵活和可移植等特点.C语言主要用于系统编程,如操作系统.编译器.数据库等:C语言是C语言的扩展,增加了面向对象编程的特性,适用于大型软件系统.图形用户界面 ...
- IDEA破解激活
!!!不要使用最新2021.2.3以后的版本,没有30天免费试用.推荐使用2021年之前的版本!!! 1: IDEA安装后使用30天免费试用进入,然后找到图中位置点击 2: 点击下图链接下载破解jar ...
- 数学问题,2的n次方 - 1 是怎么来的? 通常用作计算数值
- 解析Sermant热插拔能力:服务运行时动态挂载JavaAgent和插件
本文分享自华为云社区<服务运行时动态挂载JavaAgent和插件--Sermant热插拔能力解析>,作者:华为云高级软件工程师 栾文飞 一.概述 Sermant是基于Java字节码增强技术 ...
- numpy数组初始化方法总结
1 使用list初始化 a=np.array([[1,2,3],[4,5,6]],dtype='float32') #a=[[1. 2. 3.],[4. 5. 6.]] 2 赋值与复制 (1)赋值 a ...
- python中矩阵合并、拼接、组合
1 numpy数组 1.1 append() import numpy as np a=np.array([[1,3],[5,7]]) b=np.array([[2,4],[6,8]]) c=np.a ...