EB CLI 和 AWS CLI 无法识别 SSO sso_start_url 和 sso_region 配置

buz*_*ert 10 amazon-web-services single-sign-on aws-cli amazon-elastic-beanstalk ebcli

EB CLI按照这些说明进行安装。

为了使用它,我按照以下说明AWS CLI配置了SSO

这将创建一个包含以下内容的配置文件~/.aws/config

[profile <profile_name>]
sso_session = <session_name>
sso_account_id = <account_no>
sso_role_name = <role_name>
region = <region>
output = json
[sso-session <session_name>]
sso_start_url = <start_url>
sso_region = <region>
sso_registration_scopes = <scopes>
Run Code Online (Sandbox Code Playgroud)

所有的值似乎都是正确的。

配置完成后,我可以使用以下方式登录SSO

aws sso login --profile <profile_name>
Run Code Online (Sandbox Code Playgroud)

这会将我重定向到 SSO <start_url>,并收到登录确认信息:

Successfully logged into Start URL: <start_url>
Run Code Online (Sandbox Code Playgroud)

EB CLI应该能够使用设置的身份验证方法登录AWS CLI。我正在尝试这样做:

eb init --profile <profile_name>
Run Code Online (Sandbox Code Playgroud)

但是,选择区域后,我收到此错误:

ERROR: InvalidConfigError - The profile "<profile_name>" is configured to use SSO but is missing required configuration: sso_start_url, sso_region
Run Code Online (Sandbox Code Playgroud)

我不确定我缺少什么,因为该~/.aws/config文件似乎已使用sso_start_urlsso_regionAWS CLI配置中指定的正确设置。

是否还有任何其他中间步骤可以让 EB CLI 使用SSO

小智 3

我也有类似的问题,但是boto3是 EB 的问题。不过,当我创建客户端时,在我的 Python 脚本中出现了同样的错误消息。我发现在虚拟环境中,我boto3已经两年没有更新了。当我更新它时,它起作用了。尝试更新您的 EB CLI,或者boto3如果您有的话。