使用CLI登錄云SSO并訪問阿里云資源
云SSO已與阿里云CLI進行了集成。用戶除了使用瀏覽器登錄云SSO用戶門戶,也可以通過阿里云CLI登錄。登錄后,選擇對應RD賬號和權限,通過CLI命令行訪問阿里云資源。本文為您介紹云SSO用戶使用阿里云CLI登錄云SSO的操作方法。
步驟一:安裝CLI
您需要安裝阿里云CLI和云SSO CLI,具體如下:
安裝阿里云CLI
安裝云SSO CLI
更多信息,請參見云SSO CLI。
步驟二:配置云SSO登錄信息
執行以下命令,開始配置云SSO登錄信息。
acs-sso configure
輸入用戶登錄地址
signinUrl
。說明用戶登錄地址
signinUrl
獲取方法:請登錄云SSO控制臺,在概覽頁面的右側,獲取用戶登錄URL。請求示例:
acs-sso configure ? please input 'signinUrl': https://signin-******.alibabacloudsso.com/device/login
配置成功的返回示例:
configuration done!
步驟三:云SSO用戶登錄阿里云
常用命令如下:
默認登錄
執行以下命令,開始登錄。
acs-sso login
在彈出的瀏覽器窗口中,根據界面提示,完成云SSO用戶登錄,登錄成功后請關閉瀏覽器窗口。
如果瀏覽器窗口未彈出,您可以根據CLI的提示信息,手動復制登錄URL和用戶碼完成登錄。
提示信息示例:
If your default browser is not opened automatically, please use the following URL to finish the signin process. Signin URL: https://signin-****.alibabacloudsso.com/device/code User Code: *********
如果當前用戶被授予了多個RD賬號的訪問權限,CLI會交互式地提醒您選擇要使用的RD賬號和訪問配置,并最終生成相應的阿里云訪問密鑰。
返回示例:
You have logged in. used account: test-account(191585963325****) used access configuration: TestAC(ac-x08xz11covd3cyzd****) { "mode": "StsToken", "access_key_id": "STS.****", "access_key_secret": "****", "sts_token": "****" }
登錄成功后,
profile
會綁定該RD賬號和訪問配置。下次登錄時,將會使用本次緩存的RD賬號和訪問配置直接登錄。指定云SSO的登錄配置名稱
acs-sso login --profile sso
當您想同時配置多個RD賬號和訪問配置所對應的SSO登錄信息時,可以通過指定登錄配置名稱來區分。您可以使用
--profile
指定云SSO的不同登錄配置名稱。上述命令表示指定使用的登錄配置名稱是sso。不指定
--profile
時,默認使用的登錄配置名稱是default。獲取登錄配置列表
acs-sso profile --list
刪除指定的登錄配置
執行以下命令,刪除默認登錄配置。
acs-sso profile --delete --profile default
執行以下命令,刪除名為sso的登錄配置。
acs-sso profile --delete --profile sso
配置輸出模式
以下兩種方式,您可以任選其一進行配置:
外部進程模式(默認):當您與阿里云CLI的外部進程(External)模式配合使用時,您可以使用該輸出模式。
返回示例:
{ "mode": "StsToken", "access_key_id": "STS.NUyPeEoab****", "access_key_secret": "GBubpmh****", "sts_token": "CAIS****" }
環境變量模式:您可以使用
--env
參數配置返回結果為環境變量模式。例如:acs-sso login --profile user1 --env
。返回示例:
export ALIBABACLOUD_ACCESS_KEY_ID=STS.NUyPeEoab**** export ALIBABACLOUD_ACCESS_KEY_SECRET=GBubpmh**** export SECURITY_TOKEN=CAIS****
環境變量可以與阿里云的相關工具(例如:Terraform等)配合使用。例如:
`acs-sso login --profile user1 --env` && terraform plan
。環境變量也可以與阿里云CLI配合使用。例如:
`acs-sso login --profile user1 --env` && aliyun ecs DescribeRegions
。
步驟四:配合阿里云CLI使用
請求示例:
aliyun configure --mode External --profile sso
Configuring profile 'sso' in 'External' authenticate mode...
Process Command []: acs-sso login --profile sso
Default Region Id []: cn-shanghai
Default Output Format [json]: json (Only support json)
Default Language [zh|en] en:
Saving profile[sso] ...Done.
其中,Process Command
使用命令acs-sso login --profile sso
指定云SSO的登錄配置名稱為sso
。建議您在阿里云CLI和云SSO CLI指定相同的配置名稱,這樣當有多個云SSO登錄配置時,可以多次配置CLI憑證,并匹配不同的云SSO登錄配置。
配置成功的返回示例:
Configure Done!!!
..............888888888888888888888 ........=8888888888888888888D=..............
...........88888888888888888888888 ..........D8888888888888888888888I...........
.........,8888888888888ZI: ...........................=Z88D8888888888D..........
.........+88888888 ..........................................88888888D..........
.........+88888888 .......Welcome to use Alibaba Cloud.......O8888888D..........
.........+88888888 ............. ************* ..............O8888888D..........
.........+88888888 .... Command Line Interface(Reloaded) ....O8888888D..........
.........+88888888...........................................88888888D..........
..........D888888888888DO+. ..........................?ND888888888888D..........
...........O8888888888888888888888...........D8888888888888888888888=...........
............ .:D8888888888888888888.........78888888888888888888O ..............
執行以下測試示例,驗證阿里云CLI是否可用。
aliyun sts GetCallerIdentity --profile sso