使用阿里雲SDK通過共用網關和專屬網關訪問OpenAPI時認證方式相同,支援AK、STS Token、RamRoleArn、ECS執行個體RAM角色等基於RAM的身份認證方式。本文介紹如何建立訪問憑證。
AccessKey
阿里雲帳號預設有所有資源的Administrator許可權且不可修改,其AccessKey泄露會危及資源安全,因此強烈建議不要為主帳號建立AccessKey,請建立專用於API訪問的RAM使用者並建立對應的AccessKey,並完成最小化授權。具體操作,請參見建立AccessKey。
登入RAM控制台,在使用者頁面,單擊目標RAM使用者名稱稱。
在認證管理頁簽下的AccessKey地區,單擊建立AccessKey,並按照指引完成建立。

授予RAM使用者訪問KMS的許可權。
方式一:設定基於身份的策略
KMS內建了系統權限原則,可以直接綁定到RAM使用者,詳細介紹,請參見Key Management Service系統權限原則參考。您也可以自訂權限原則。

方式二:設定基於資源的策略
KMS支援基於資源的策略,即為單個密鑰和憑據設定存取權限,用於控制哪些阿里雲帳號、RAM使用者、RAM角色有許可權來管理或使用KMS密鑰、憑據。詳細介紹,請參見密鑰策略、憑據策略。
STS Token
通過STS服務為RAM使用者或RAM角色頒發一個臨時訪問憑證,可以在限定的有效期間內,以符合策略規定的許可權訪問KMS,超過有效期間後,該憑證自動失效。
為RAM使用者或RAM角色授予
AliyunSTSAssumeRoleAccess許可權。具體操作,請參見為RAM使用者授權、為RAM角色授權。
授予RAM使用者或RAM角色訪問KMS的許可權。
方式一:設定基於身份的策略
KMS內建了系統權限原則,可以直接綁定到RAM使用者或RAM角色,詳細介紹,請參見Key Management Service系統權限原則參考。您也可以自訂權限原則。

方式二:設定基於資源的策略
KMS支援基於資源的策略,即為單個密鑰和憑據設定存取權限,用於控制哪些阿里雲帳號、RAM使用者、RAM角色有許可權來管理或使用KMS密鑰、憑據。詳細介紹,請參見密鑰策略、憑據策略。
使用RAM使用者或RAM角色調用STS服務的AssumeRole介面擷取STS臨時訪問憑證。具體操作,請參見AssumeRole - 擷取扮演角色的臨時身份憑證。
RamRoleArn
RAM使用者或雲產品可以通過扮演角色的方式擷取臨時許可權,而不是直接使用長期密鑰,降低了密鑰泄露的風險。例如,在臨時的資料處理任務中,RAM使用者或雲產品臨時扮演一個具有特定RamRoleArn的角色,完成任務后角色許可權被收回,減少泄露風險。
授予RAM角色訪問KMS的許可權。
方式一:設定基於身份的策略
KMS內建了系統權限原則,可以直接綁定到RAM角色,詳細介紹,請參見Key Management Service系統權限原則參考。您也可以自訂權限原則。

方式二:設定基於資源的策略
KMS支援基於資源的策略,即為單個密鑰和憑據設定存取權限,用於控制哪些阿里雲帳號、RAM使用者、RAM角色有許可權來管理或使用KMS密鑰、憑據。詳細介紹,請參見密鑰策略、憑據策略。
擷取目標RAM角色的RamRoleArn。具體操作,請參見查看RAM角色。
說明RamRoleArn是RAM角色的ARN資訊,即需要扮演的角色ID。格式為acs:ram::$accountID:role/$roleName。$accountID為阿里雲帳號ID。$roleName為RAM角色名稱。

ECS RAM角色
ECS RAM角色是指為ECS執行個體授予的RAM角色,該RAM角色是一個受信服務為雲端服務器的普通服務角色。使用執行個體RAM角色可以實現在ECS執行個體內部無需配置AccessKey即可擷取臨時訪問憑證(STS Token),從而調用KMS的OpenAPI。
具體操作,請參見執行個體RAM角色。
登入RAM控制台,建立可信實體為阿里雲服務的RAM角色。
可信實體類型:選擇阿里雲服務。
角色類型:選擇普通服務角色。
受信服務:選擇雲端服務器。
授予RAM角色訪問KMS的許可權。
方式一:設定基於身份的策略
KMS內建了系統權限原則,可以直接綁定到RAM角色,詳細介紹,請參見Key Management Service系統權限原則參考。您也可以自訂權限原則。

方式二:設定基於資源的策略
KMS支援基於資源的策略,即為單個密鑰和憑據設定存取權限,用於控制哪些阿里雲帳號、RAM使用者、RAM角色有許可權來管理或使用KMS密鑰、憑據。詳細介紹,請參見密鑰策略、憑據策略。
登入ECS管理主控台,將RAM角色授予ECS執行個體。

相關文檔
如果您想瞭解更多類型的訪問憑證,請參見管理訪問憑據。

