0

假设我有我的 PowerShell 代码,它对我的​​ Azure 订阅执行特定操作。我知道它必须使用我的 Azure 用户名或 Azure 服务主体登录 Azure。

就我而言,我想使用服务主体,因为很多人将使用此代码,我不想让每个人都访问我的订阅。所以我只提供对这个 SP 的访问。

我意识到,要使用 SP 登录,我需要在我的代码中包含 App ID 和密钥,如果我的代码被泄露,那么我们公司以外的人也可以使用 App ID 和密钥登录并做一些事情在我的订阅上。

有什么办法可以保护自己免受这种安全风险?我看到 Azure AD 上还有一个部分,我可以指定可以访问服务主体(Azure 应用程序)的用户/组。但它会更像是双重身份验证吗?你能指出我正确的方向吗?

如果您也可以与我分享一些示例代码,我们将不胜感激。

4

1 回答 1

0

老实说,请不要这样做。任何获得证书访问权限的人(如果您通过代码分发证书)也将作为服务主体访问 Azure。

我建议您创建一个 Azure 自动化运行手册并将webhook附加到它。然后,您可以创建一个小的 html 文件来执行 runbook(提示输入您需要的任何参数)。这样,用户只能运行您设置的代码(通过 webhook),并且您可以定期循环 webhook url(通过删除它并重新创建一个新的)。

于 2017-07-27T20:56:04.787 回答