amazon-web-services - 使用 MFA 登录 Azure CLI
问题描述
我们正在尝试配置 AWS CLI 与 Azure 的集成。我们使用了https://github.com/sportradar/aws-azure-login,它非常适合 GUI 模式,但我们正在寻找来自 CLI 的体验。以下是我们正在寻找的经验。任何有关新包或更新 aws-azure-login 包的指导都会有所帮助。
用户将她的 Azure AD 用户名/密码凭据提交到 CLI。
CLI 使用凭据对 Azure 进行身份验证,Azure 会为最终用户(例如 MFA)返回一个令牌或另一个质询。如果返回另一个质询,CLI 将等待来自用户的输入(例如,MFA 代码)并将输入提交给 Azure AD MFA 输入。
如果成功,Azure AD 会返回一个令牌。CLI 将返回的令牌和 SAML2 请求提交到 Azure AD SAML 端点,并从 Azure AD 返回 SAML2 响应。
然后,CLI 将 SAML2 响应提交到 AWS SAML 终端节点并取回 AWS IAM 临时凭证。
解决方案
在 aws-azure login 中,您可以在配置中进行以下更改:
要配置 aws-azure-login 客户端,请运行:
aws-azure-login -- 配置
在配置期间,您可以决定保持登录状态:
? 保持登录状态:刷新 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 应用程序,这样它也会更安全:)