首页 > 解决方案 > 如何安全地将 ADLS Gen 2 连接到 AKS Web 服务?

问题描述

我有一个托管在 AKS 上的模型,需要读取 ADLS Gen 2 中的文件以在 Python 中进行特征工程。我已使用托管标识预配 AKS,并已授予该标识存储 blob 数据参与者访问 ADLS Gen 2 的权限。

鉴于此,如何在我的 Python 代码中将我的 AKS Web 服务连接到 ADLS Gen 2?我在这里看到了给定客户端密码和客户端 ID 的文档但是我可以在不明确使用客户端密码和客户端 ID 的情况下使用托管身份执行此操作吗?

标签: pythonazure-data-lakeazure-aksazure-data-lake-gen2

解决方案


要使用托管标识访问 ADLS Gen 2,您只需使用ManagedIdentityCredential而不是您提供ClientSecretCredential代码示例

credential = ManagedIdentityCredential()
service_client = DataLakeServiceClient(account_url="{}://{}.dfs.core.windows.net".format("https", storage_account_name), credential=credential)

注意:以上代码仅适用于系统分配的托管标识,如果您使用的是用户分配的托管标识,则需要使用client_id参数。

credential = ManagedIdentityCredential(client_id = "<client-id of your user-assigned managed identity>")

推荐阅读