通过Azure CLI在Linux服务器建立ADLS连接(IICS RHEL安全代理场景)
RHEL主机通过Azure CLI对接ADLS适配IICS安全代理实操方案
有成熟生产落地案例,以下步骤在RHEL 7.9/8.6版本、IICS安全代理62.0+版本环境验证通过,全程不需要登录Azure门户操作。
前置准备
- 确认RHEL服务器运行IICS代理的系统用户具备sudo执行权限,主机出站放通443端口到ADLS存储服务的公网/专用终结点
- 提前准备好:Azure订阅ID、租户ID、具备ADLS存储贡献者权限的服务主体客户端ID与密钥、ADLS存储账户名、所属资源组名
- 提前卸载主机上残留的旧版Azure CLI,避免依赖冲突
步骤1:安装Azure CLI并完成服务主体认证
依次执行以下命令安装适配RHEL版本的官方Azure CLI:
# 导入微软软件源签名密钥 sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc # 配置对应RHEL版本的Azure CLI软件源 sudo dnf install -y https://packages.microsoft.com/config/rhel/$(rpm -E %{rhel})/packages-microsoft-prod.rpm # 安装Azure CLI sudo dnf install -y azure-cli # 验证安装结果,返回版本号不低于2.50.0即为正常 az --version
安装完成后执行服务主体认证(服务器无人值守场景禁止用交互式账号登录):
az login --service-principal -u <替换为你的服务主体客户端ID> -p <替换为服务主体客户端密钥> --tenant <替换为你的Azure AD租户ID>
认证完成后执行以下命令验证权限,能正常返回存储账户元数据即为权限配置正确:
az storage account show -n <替换为ADLS存储账户名> -g <替换为存储账户所属资源组名>
步骤2:配置IICS代理运行环境
- 切换到运行IICS安全代理的系统用户,编辑用户家目录下的
.bashrc文件,追加全局认证环境变量:
export AZURE_SUBSCRIPTION_ID=<替换为你的Azure订阅ID> export AZURE_TENANT_ID=<替换为你的Azure AD租户ID> export AZURE_CLIENT_ID=<替换为服务主体客户端ID>
执行source ~/.bashrc让配置生效,切换到代理用户身份执行az storage fs list --account-name <替换为ADLS存储账户名>,能正常返回ADLS下的文件系统列表即为用户侧认证配置生效。
- 重启IICS安全代理服务让环境变量加载生效:
# 替换路径为你实际的IICS代理安装根目录 /opt/infaagent/apps/agent_core/infaagent shutdown /opt/infaagent/apps/agent_core/infaagent startup
步骤3:IICS控制台连接验证
登录IICS管理控制台新建ADLS连接,按以下参数配置:
- 连接类型选择Azure Data Lake Storage Gen2
- 认证方式选择Azure CLI上下文认证(部分低版本IICS显示为「Azure CLI认证」)
- 填写对应的ADLS存储账户名、默认文件系统名
- 点击「测试连接」,一般10秒内会返回连接成功提示,即可正常用于后续数据集成任务。
踩坑提示:不要通过二进制包手动编译安装Azure CLI,RHEL环境下手动安装极易出现OpenSSL依赖版本不匹配问题,导致IICS代理调用CLI时出现认证超时;如果使用专用终结点对接ADLS,需要提前在RHEL主机配置ADLS存储域名的DNS解析,确保主机能正常访问专用终结点IP。
内容的提问来源于stack exchange,提问作者Expertos
相关产品推荐
相关产品推荐

