问题标签 [azure-service-principal]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
azure - 使用来自 keyvault 的证书使用服务主体进行天蓝色登录
我正在遵循指南https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli?toc=%2Fazure%2Fazure-resource-manager%2Ftoc。 json&view=azure-cli-latest 创建能够在 shell 脚本中使用的服务主体。
使用上述内容,我将创建的证书存储在密钥库中。
但是我不知道如何使用新的 sp..
我从文档中看到的。是 :-
但即使我从密钥库下载了证书和私钥,这也不起作用。
如何告诉登录从 keyvault 获取密钥?
澄清(更新):
如果真的没有办法使用 keyvault 进行服务主体登录,那么我真的很想知道该官方文档中的两条语句的意义何在。建议这样
1)
可以添加 --keyvault 参数以使用 Azure Key Vault 中的证书。在这种情况下,--cert 值是证书的名称。
2)
对于存储在 Key Vault 中的证书,使用 az keyvault secret show 检索证书的私钥。在 Key Vault 中,证书的机密名称与证书名称相同。如果您无法访问证书的私钥,请重置服务主体凭据。
azure - 通过基于证书的服务主体凭据访问 Azure 存储;azure.identity 与 azure.common.credentials
我已经尝试尝试通过 Python SDK 使用服务主体凭据访问 Azure Blob 存储,并且有一些我认为社区可以提供帮助的困惑。
#1azure.common.credentials
与azure.identity
------------------------------------------------------------ --
我注意到 Azure 中有两个不同的 python 包具有凭据类。
两者有什么区别,什么时候应该用一个来对付另一个?更具体地说,当尝试使用 Azure 服务主体时,
**azure.identity**
两者都提供,**ClientSecretCredential & CertificateCredential**
因此我们可以使用共享密钥或 SSL 证书。**azure.common.credentials**
包只提供**ServicePrincipalCredentials**
需要共享密钥的类,并且没有对应的证书凭证。
我错过了什么吗?我正在寻找使用基于证书的服务主体。
#2 ServicePrincipalCredentials 有效,但 ClientSecretCredential 失败------------------------------------------ ------
我用于访问 Azure 存储的测试代码与 ServicePrincipalCredentials类一起成功运行。但是使用带有异常消息的 ClientSecretCredential 类失败:'ClientSecretCredential' object has no attribute 'signed_session'"
感谢任何有助于理解原因的帮助。除了将凭证实例化为上述两个类之一之外,代码没有任何区别。
上面的#2 问题很重要,主要是因为#1。我希望使用基于证书的身份验证,但在 azure.common.credentials 下找不到支持类。
Python 环境详细信息:
我的代码片段:
当尝试使用证书而不是秘密时,这里是创建凭证实例的代码片段;其余代码相同。
azure - az acr login with subject name and issuer authentication error
我正在尝试使用 cli 对 Azure 容器注册表进行身份验证。我正在使用主题名称和颁发者身份验证,并使用服务主体对 Azure 进行身份验证。
这就是我登录 azure 所做的事情
它有效,然后我尝试使用以下命令登录到 acr:
它失败了:
可能是什么问题呢?
azure-databricks - 使用服务主体从 DataBricks 连接到 Synapse
我正在尝试使用服务主体从 Databricks 连接到 Synapse。我已经在集群配置中配置了服务主体
虽然我可以成功连接到 DataLake 并工作,但当我使用以下命令时,我无法写入突触......
我收到以下错误...
但是我可以使用以下命令写信给 Synapse...
我不确定缺少什么。
azure - Azure Function 身份验证:Azure Active Directory:使用安全组包含身份(用户和服务主体)以访问 Function
我有一个启用了 Azure Active Directory 身份验证的 Azure 函数(包括“请求未通过身份验证时采取的操作”=“使用 Azure Active Directory 登录”)。此外,选项“需要用户分配?” Azure Function 相关服务主体 (sp_func) 的设置为“是”,以避免租户中的每个人最终都能够运行该函数。
目标是拥有一个添加到 sp_func 的“用户和组”的单个安全组(可以包括用户和服务主体),以便分配给该组来决定是否可以访问该功能。对于用户,这可以正常工作,但对于服务主体 (sp_nonfunc) 则不行。为了让他们 (sp_nonfunc) 工作,我必须为他们设置权限 (sp_nonfunc) 最终允许他们与 Azure 函数交互,无论他们 (sp_nonfunc) 是否分配给组。
是否可以只将服务主体 (sp_nonfunc) 添加到组中,并将组添加到 sp_func,然后能够使用 sp_nonfunc 执行该函数(不授予 sp_nonfunc 显式权限)?
编辑:即使我在清单中定义了自己的 appRole,似乎也无法直接将 sp_nonfunc 添加到 sp_func。目前似乎唯一的方法是为 sp_func 添加 sp_nonfunc 的权限 - 但这是我想要避免的。
EDIT2:这里我是如何在 sp_func 清单中定义角色的
EDIT3:当我不直接为 sp_nonfunc 分配角色,而只是将 sp_nonfunc 添加到我得到的安全组时,当https://login.microsoftonline.com/<tenant id>/oauth2/token
使用资源 = sp_func 的注册应用程序的应用程序 ID URI 发出请求时:
c# - DbUp SqlConnection AAD 输出?
由于安全原因,禁用了 SQL 身份验证,只能通过 Azure SPN 登录。从下面的链接,在 C# 中,我们可以连接:
如何在下面的 DbUp 中通过上述成功的访问令牌认证连接program.cs
?
azure - ADLS Gen2 中针对即将到来的用户的文件夹级别访问控制
我有一个 Gen2 存储帐户并创建了一个容器。
文件夹结构看起来像这样
我只想给read only access
用户normal-data
和NOT sensitive-data
这可以通过在文件夹级别设置 ACL并授予对安全服务原则的访问权限来实现。
但是这种方法的局限性是用户只能访问在设置 ACL 后加载到目录中的文件,因此无法访问目录中已经存在的文件。
因为这个限制,不能给新用户完全读取权限(除非新用户使用相同的服务原则,这在我的用例中不是理想的场景)
请建议 ADLS Gen2 中的只读访问方法,其中
- 如果文件夹下已经存在文件并且新用户已加入,他应该能够读取文件夹下的所有文件
- 新用户应该只能访问
normal-data
文件夹而不是sensitive-data
PS:有一个用于递归分配 ACL 的脚本。但是由于我每天都会在normal-data
文件夹下获得近百万条记录,因此使用递归 ACL 脚本对我来说是不可行的
azure - 如何使用 Terraform 为 Azure 服务主体创建客户端密码
我是 Azure 和 Terraform 的新手,我正在尝试使用 Terraform 为 Azure 服务主体创建一个秘密客户端。我无法弄清楚这一点。
这就是我现在所拥有的:
这就是我正在尝试的(不太确定):
这显然是行不通的。这没有给出任何错误,但是在 Azure 控制台上看不到任何秘密。看起来这是为服务主体附加一些密码,但我不太确定它在做什么。
请让我知道对此可以做些什么。任何帮助,将不胜感激。谢谢
azure-active-directory - Azure 通用凭据:在 get_token_with_client_credentials 中检索访问令牌时连接到 Blob 存储时出错
我正在尝试使用 ServicePrincipalCredentials 类连接到 blob 存储,但我随机收到此错误:
我用来连接到 blob 存储的代码如下:
因此,连接一旦工作正常,但在不同时间调用它时,在初始化类ServicePrincipalCredentials时会从上面给出错误。我正在使用 account_name 中的“-secondary”后缀访问存储帐户的辅助终结点。
有什么办法可以防止这种情况发生吗?
错误的完整跟踪如下:
azure - 部署 Azure 服务主体的权限不足
我是 Microsoft 员工,并且是 Azure 的新手。我想在我的内部 Microsoft Azure 订阅上部署服务主体。使用 Azure CLI,当我运行时
我收到错误“权限不足,无法完成操作”。这里的文档(https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli?view=azure-cli-latest)让我看起来像'没有正确配置 Azure Active Directory。
我的内部订阅中没有 Azure Active Directory。我需要添加这个吗?如果是这样,我如何在我的 Microsoft 内部帐户上进行设置?有没有办法在没有 Azure Active Directory 的情况下创建服务主体?