授權(quán)信息
本文以RAM用戶為例介紹如何授權(quán)。
操作步驟
使用阿里云賬號(hào)登錄RAM控制臺(tái)。
創(chuàng)建自定義的權(quán)限策略。
在左側(cè)導(dǎo)航欄,選擇
。在權(quán)限策略頁(yè)面,單擊創(chuàng)建權(quán)限策略。
在創(chuàng)建權(quán)限策略頁(yè)面,單擊腳本編輯頁(yè)簽。
說(shuō)明RAM提供可視化編輯和腳本編輯方式來(lái)創(chuàng)建權(quán)限策略。創(chuàng)建KMS資源的自定義權(quán)限策略時(shí),您需要使用腳本編輯方式,可視化編輯方式僅支持選擇KMS的全部資源和全部操作。
編輯權(quán)限策略腳本,然后單擊繼續(xù)編輯基本信息。
編寫KMS權(quán)限策略腳本時(shí),您需要自定義授權(quán)語(yǔ)句,包括效果(Effect)、操作(Action)、資源(Resource)以及條件(Condition,可選項(xiàng))。更多信息,請(qǐng)參見附錄:KMS支持的資源(Resource)、操作(Action)、條件(Condition)。
說(shuō)明關(guān)于權(quán)限策略語(yǔ)法結(jié)構(gòu)的詳情,請(qǐng)參見權(quán)限策略語(yǔ)法和結(jié)構(gòu)。
輸入權(quán)限策略名稱和備注信息,根據(jù)頁(yè)面提示檢查并優(yōu)化權(quán)限策略內(nèi)容。
單擊確定。
授予RAM用戶自定義的權(quán)限策略。
在左側(cè)導(dǎo)航欄,選擇
。在用戶頁(yè)面,找到目標(biāo)RAM用戶,在操作列單擊添加權(quán)限。
在新增授權(quán)面板,完成如下配置,然后單擊確認(rèn)新增授權(quán)。
配置項(xiàng)
說(shuō)明
資源范圍
選擇權(quán)限在當(dāng)前阿里云賬號(hào)生效或者在指定資源組內(nèi)生效。目前KMS還未支持資源組功能,請(qǐng)選擇整個(gè)云賬號(hào)。
授權(quán)主體
需要授權(quán)的RAM用戶。系統(tǒng)自動(dòng)填入您選擇的RAM用戶,您也可以手動(dòng)添加其他RAM用戶。
權(quán)限策略
根據(jù)使用場(chǎng)景選擇自定義的權(quán)限策略。
附錄:KMS支持的資源(Resource)、操作(Action)、條件(Condition)
資源(Resource)
KMS定義的資源類型包括抽象密鑰容器、抽象憑據(jù)容器、抽象別名容器、密鑰、憑據(jù)、別名,您可以通過(guò)以下方式獲取資源對(duì)應(yīng)的資源名稱ARN(Aliyun Resource Names),用于RAM權(quán)限策略的Resource元素。例如,查看密鑰的ARN:
登錄密鑰管理服務(wù)控制臺(tái),在頂部菜單欄選擇地域后,在左側(cè)導(dǎo)航欄單擊 。
在用戶主密鑰頁(yè)簽,定位到目標(biāo)密鑰,單擊操作列的詳情,在密鑰詳情頁(yè)面獲取ARN。不同資源類型對(duì)應(yīng)的ARN格式不同,具體信息,如下表所示。
說(shuō)明請(qǐng)將
${region}
和${account}
替換為您實(shí)際的地域和阿里云賬號(hào),您也可以根據(jù)需求縮小資源范圍。${region}
支持通配符*,表示所有支持的地域。資源類型
ARN
抽象密鑰容器
acs:kms:${region}:${account}:key
抽象憑據(jù)容器
acs:kms:${region}:${account}:secret
抽象別名容器
acs:kms:${region}:${account}:alias
密鑰
acs:kms:${region}:${account}:key/${key-id}
說(shuō)明密鑰資源的ARN支持通配符*。例如:
acs:kms:${region}:${account}:key/*
:表示對(duì)應(yīng)地域和賬號(hào)下的所有密鑰。acs:kms:*:${account}:key/*
:表示對(duì)應(yīng)賬號(hào)下所有地域的所有密鑰。
憑據(jù)
acs:kms:${region}:${account}:secret/${secret-name}
說(shuō)明憑據(jù)資源的ARN支持以下兩種通配方式:
acs:kms:${region}:${account}:secret/*
:表示對(duì)應(yīng)地域和賬號(hào)下的所有憑據(jù)。acs:kms:${region}:${account}:secret/prefix*
:表示對(duì)應(yīng)地域和賬號(hào)下憑據(jù)名稱前綴為prefix
的所有憑據(jù)。
別名
acs:kms:${region}:${account}:alias/${alias-name}
操作(Action)
針對(duì)每一個(gè)需要進(jìn)行訪問(wèn)控制的接口,KMS都定義了用于RAM權(quán)限策略的操作(Action),通常為kms:<api-name>
。
操作DescribeRegions不需要進(jìn)行訪問(wèn)控制,只要請(qǐng)求可以通過(guò)認(rèn)證校驗(yàn),即可調(diào)用。調(diào)用者可以是阿里云賬號(hào)、RAM用戶或RAM角色。
以下表格列出了KMS接口的對(duì)應(yīng)RAM權(quán)限策略操作,以及接口所訪問(wèn)的資源類型。
請(qǐng)將${region}
和${account}
替換為您實(shí)際的地域和阿里云賬號(hào),您也可以根據(jù)需求縮小資源范圍。${region}
支持通配符*,表示所有支持的地域。
KMS接口 | Action | 資源類型 | ARN格式 |
ListKeys | kms:ListKeys | 抽象密鑰容器 |
|
CreateKey | kms:CreateKey | ||
DescribeKey | kms:DescribeKey | 密鑰 |
|
UpdateKeyDescription | kms:UpdateKeyDescription | ||
EnableKey | kms:EnableKey | ||
DisableKey | kms:DisableKey | ||
ScheduleKeyDeletion | kms:ScheduleKeyDeletion | ||
CancelKeyDeletion | kms:CancelKeyDeletion | ||
GetParametersForImport | kms:GetParametersForImport | ||
ImportKeyMaterial | kms:ImportKeyMaterial | ||
DeleteKeyMaterial | kms:DeleteKeyMaterial | ||
ListAliasesByKeyId | kms:ListAliasesByKeyId | ||
CreateKeyVersion | kms:CreateKeyVersion | ||
DescribeKeyVersion | kms:DescribeKeyVersion | ||
ListKeyVersions | kms:ListKeyVersions | ||
UpdateRotationPolicy | kms:UpdateRotationPolicy | ||
Encrypt | kms:Encrypt | ||
Decrypt | kms:Decrypt | ||
ReEncrypt |
| ||
GenerateDataKey | kms:GenerateDataKey | ||
GenerateDataKeyWithoutPlaintext | kms:GenerateDataKeyWithoutPlaintext | ||
ExportDataKey | kms:ExportDataKey | ||
GenerateAndExportDataKey | kms:GenerateAndExportDataKey | ||
AsymmetricSign | kms:AsymmetricSign | ||
AsymmetricVerify | kms:AsymmetricVerify | ||
AsymmetricEncrypt | kms:AsymmetricEncrypt | ||
AsymmetricDecrypt | kms:AsymmetricDecrypt | ||
GetPublicKey | kms:GetPublicKey | ||
ListAliases | kms:ListAliases | 抽象別名容器 |
|
CreateAlias | kms:CreateAlias | 別名和密鑰 |
|
UpdateAlias | kms:UpdateAlias | ||
DeleteAlias | kms:DeleteAlias |
KMS 接口 | Action | 資源類型 | ARN |
CreateSecret | kms:CreateSecret | 抽象憑據(jù)容器 |
|
ListSecrets | kms:ListSecrets | ||
DescribeSecret | kms:DescribeSecret | 憑據(jù) |
|
DeleteSecret | kms:DeleteSecret | ||
UpdateSecret | kms:UpdateSecret | ||
RestoreSecret | kms:RestoreSecret | ||
GetSecretValue |
說(shuō)明 僅當(dāng)您使用自己創(chuàng)建的CMK作為憑據(jù)的加密主密鑰時(shí),需要驗(yàn)證kms:Decrypt。 | ||
PutSecretValue |
說(shuō)明 僅當(dāng)您使用自己創(chuàng)建的CMK作為憑據(jù)的加密主密鑰時(shí),需要驗(yàn)證kms:GenerateDataKey。 | ||
ListSecretVersionIds | kms:ListSecretVersionIds | ||
UpdateSecretVersionStage | kms:UpdateSecretVersionStage | ||
GetRandomPassword | kms:GetRandomPassword | 無(wú) | 無(wú) |
KMS 接口 | Action | 資源類型 | ARN |
ListResourceTags | kms:ListResourceTags | 密鑰 |
|
UntagResource | kms:UntagResource | 密鑰或憑據(jù) | |
TagResource | kms:TagResource |
條件(Condition)
Condition元素用于指定授權(quán)生效的限制條件,是可選元素。您可以在RAM權(quán)限策略中設(shè)定條件關(guān)鍵字控制對(duì)KMS的訪問(wèn),只有當(dāng)條件滿足時(shí),權(quán)限驗(yàn)證才能通過(guò)。
使用阿里云通用條件關(guān)鍵字:命名格式為
acs:<condition-key>
。例如,您可以使用acs:CurrentTime
條件限制權(quán)限策略有效的時(shí)間。更多信息,請(qǐng)參見權(quán)限策略基本元素。
使用產(chǎn)品級(jí)條件關(guān)鍵字:命名格式為
kms:<condition-key>
。KMS目前支持的產(chǎn)品級(jí)條件關(guān)鍵字,請(qǐng)參見條件鍵。