使用阿里云CLI調(diào)用RAM OpenAPI
阿里云CLI(Alibaba Cloud Command Line Interface)是基于OpenAPI構(gòu)建的通用命令行工具,您可以通過(guò)阿里云CLI實(shí)現(xiàn)自動(dòng)化管理和維護(hù)訪問(wèn)控制 RAM(Resource Access Management)。本文以調(diào)用CreatePolicy
接口創(chuàng)建一個(gè)自定義權(quán)限策略為例,為您介紹使用阿里云CLI調(diào)用RAM OpenAPI的操作步驟。
前置概念
閱讀本文前,若您還不了解阿里云CLI,請(qǐng)參見(jiàn)什么是阿里云CLI。
步驟一:安裝阿里云CLI
使用阿里云CLI前,您需要先安裝阿里云CLI。阿里云CLI為用戶提供了Windows、Linux和macOS三種操作系統(tǒng)下的安裝服務(wù),請(qǐng)根據(jù)您使用設(shè)備的操作系統(tǒng)選擇對(duì)應(yīng)的安裝服務(wù)。
Windows:在Windows上安裝阿里云CLI。
Linux:在Linux上安裝阿里云CLI。
macOS:在macOS上安裝阿里云CLI。
您也可使用阿里云提供的云命令行Cloud Shell調(diào)試阿里云CLI命令。關(guān)于云命令行的更多信息,請(qǐng)參見(jiàn)什么是云命令行。
步驟二:配置阿里云CLI
阿里云主賬號(hào)擁有所有產(chǎn)品OpenAPI的管理和訪問(wèn)權(quán)限,風(fēng)險(xiǎn)很高。強(qiáng)烈建議您創(chuàng)建RAM身份,并依據(jù)最小化權(quán)限原則授予權(quán)限,使用RAM身份訪問(wèn)OpenAPI。
使用阿里云CLI之前,您需要在阿里云CLI中配置身份憑證、地域ID等信息。阿里云CLI支持多種身份憑證,詳情請(qǐng)參見(jiàn)身份憑證類(lèi)型。本文操作以AK類(lèi)型憑證為例,具體操作步驟如下:
創(chuàng)建一個(gè)RAM用戶,并創(chuàng)建AccessKey,以便后續(xù)配置身份憑證使用。具體操作,請(qǐng)參見(jiàn)創(chuàng)建RAM用戶及創(chuàng)建AccessKey。
為RAM用戶授權(quán)。本文示例需授予RAM用戶管理RAM的權(quán)限
AliyunRAMFullAccess
。具體操作,請(qǐng)參見(jiàn)為RAM用戶授權(quán)。獲取可用的地域ID,以便后續(xù)配置身份憑證使用。阿里云CLI將使用您指定的地域發(fā)起OpenAPI調(diào)用。可用地域詳情,請(qǐng)參見(jiàn)服務(wù)接入點(diǎn)。
說(shuō)明使用阿里云CLI過(guò)程中您可使用
--region
選項(xiàng)指定地域發(fā)起命令調(diào)用,該選項(xiàng)在使用時(shí)將忽略默認(rèn)身份憑證配置及環(huán)境變量設(shè)置中的地域信息。詳情請(qǐng)參見(jiàn)OpenAPI命令可用選項(xiàng)。使用RAM用戶的AccessKey配置AK類(lèi)型憑證,配置文件命名為
AkProfile
。具體操作,請(qǐng)參見(jiàn)配置示例。
步驟三:生成CLI命令示例
在OpenAPI門(mén)戶中,訪問(wèn)CreatePolicy調(diào)試地址。
在參數(shù)配置中輸入請(qǐng)求參數(shù),單擊CLI示例頁(yè)簽,查看生成的CLI示例。
在云命令行中運(yùn)行命令,或復(fù)制CLI示例。
單擊運(yùn)行命令按鈕,可喚出云命令行并快速完成命令調(diào)試。
單擊復(fù)制按鈕,將CLI示例復(fù)制到剪貼板中,可粘貼至本地Shell工具中運(yùn)行。
說(shuō)明復(fù)制CLI示例到本地Shell工具中進(jìn)行調(diào)試時(shí)請(qǐng)注意參數(shù)格式。關(guān)于阿里云CLI命令參數(shù)使用格式的詳細(xì)信息,請(qǐng)參見(jiàn)參數(shù)格式說(shuō)明。
OpenAPI門(mén)戶生成示例中會(huì)默認(rèn)添加
--region
選項(xiàng),復(fù)制命令到本地調(diào)用時(shí)阿里云CLI將忽略默認(rèn)身份憑證配置及環(huán)境變量設(shè)置中的地域信息,優(yōu)先使用指定的地域調(diào)用命令,您可根據(jù)需要對(duì)該選項(xiàng)進(jìn)行刪除或保留。
步驟四:調(diào)用RAM OpenAPI
示例一:獲取支持阿里云CLI調(diào)用的RAM OpenAPI列表
以下示例將為您展示使用--help
選項(xiàng)獲取RAM支持阿里云CLI調(diào)用OpenAPI列表。您也可在API概覽中查看支持調(diào)用的OpenAPI。
執(zhí)行命令。
aliyun ram --help
輸出結(jié)果。
示例二:創(chuàng)建自定義權(quán)限策略
以下示例將為您展示,如何使用阿里云CLI調(diào)用RAM的CreatePolicy
命令,創(chuàng)建一個(gè)僅可查看青島地域下ECS實(shí)例的自定義權(quán)限策略。
執(zhí)行命令。
aliyun ram CreatePolicy \ --PolicyName 'View-ECS-instances-in-a-specific-region' \ --Description '查看指定地域ECS實(shí)例' \ --PolicyDocument '{"Statement": [{"Effect": "Allow","Action": "ecs:Describe*","Resource": "acs:ecs:cn-qingdao:*:instance/*"}],"Version": "1"}'
返回示例。
{ "Policy": { "DefaultVersion": "v1", "Description": "查看指定地域ECS實(shí)例", "PolicyName": "View-ECS-instances-in-a-specific-region", "CreateDate": "2021-10-13T02:46:57Z", "PolicyType": "Custom" }, "RequestId": "BA34C54A-C2B1-5A65-B6B0-B5842C1DB4DA" }
說(shuō)明如果調(diào)用訪問(wèn)控制 RAM(Resource Access Management) OpenAPI后返回錯(cuò)誤,您需要根據(jù)返回的錯(cuò)誤碼提示檢查傳入的請(qǐng)求參數(shù)及其取值是否正確。
您也可以記錄下調(diào)用返回的RequestID或SDK報(bào)錯(cuò)信息,通過(guò)阿里云OpenAPI診斷平臺(tái)進(jìn)行自助診斷。