首页 > 解决方案 > 使用 MFA 登录 Azure CLI

问题描述

我们正在尝试配置 AWS CLI 与 Azure 的集成。我们使用了https://github.com/sportradar/aws-azure-login,它非常适合 GUI 模式,但我们正在寻找来自 CLI 的体验。以下是我们正在寻找的经验。任何有关新包或更新 aws-azure-login 包的指导都会有所帮助。

  1. 用户将她的 Azure AD 用户名/密码凭据提交到 CLI。

  2. CLI 使用凭据对 Azure 进行身份验证,Azure 会为最终用户(例如 MFA)返回一个令牌或另一个质询。如果返回另一个质询,CLI 将等待来自用户的输入(例如,MFA 代码)并将输入提交给 Azure AD MFA 输入。

  3. 如果成功,Azure AD 会返回一个令牌。CLI 将返回的令牌和 SAML2 请求提交到 Azure AD SAML 端点,并从 Azure AD 返回 SAML2 响应。

  4. 然后,CLI 将 SAML2 响应提交到 AWS SAML 终端节点并取回 AWS IAM 临时凭证。

标签: amazon-web-servicesazurecommand-line-interfacemulti-factor-authentication

解决方案


在 aws-azure login 中,您可以在配置中进行以下更改:

  1. 要配置 aws-azure-login 客户端,请运行:

    aws-azure-login -- 配置

  2. 在配置期间,您可以决定保持登录状态:

    ? 保持登录状态:刷新 aws 凭据时跳过身份验证 (true|false) (false)

如果将此配置设置为 true,则会跳过使用用户名/密码/MFA 进行的常规身份验证,因为它使用会话 cookie 来记住您的身份。这使您可以使用 --no-prompt 而无需将密码存储在任何地方。一旦您完成了完整的登录过程,您就可以使用:

aws-azure-login --no-prompt

或者

aws-azure-login --profile foo --no-prompt

另一种方式可能是我在下面提到的方式,但我不确定 aws-azure-login 是否有办法,我猜你想坚持使用 Aws-azure 登录。

最好的方法是创建一个服务主体并尝试使用它登录。

服务主体没有 MFA,您可以只将所需的角色和权限分配给服务主体/AAD 应用程序,这样它也会更安全:)


推荐阅读