キーポリシーに Resource Access Management (RAM) ユーザーや RAM ロールを追加または削除することで、キーの管理者とユーザーを設定できます。このトピックでは、キーポリシーの設定方法について説明します。
KMS コンソールでのキーポリシーの設定
-
Key Management Service (KMS) コンソールにログインします。上部のメニューバーからリージョンを選択します。左側のナビゲーションウィンドウで、 をクリックします。
キー タブで、ポリシーを設定するキーを見つけます。キー ID をクリックするか、キーに対応する 操作 列の 詳細 をクリックします。
詳細ページの下部にある Key Policy セクションで、Configure Key Policy をクリックします。設定が完了したら、OK をクリックします。
グラフィック編集:このモードでは、デフォルトの権限 (操作) を持つ事前定義されたロールに Principal (RAM ユーザーまたは RAM ロール) を割り当てます。
Administrator:このロールを持つプリンシパルは、キーに対する管理操作を実行できます。このロールには、暗号操作の権限は含まれません。このロールは、ご利用の Alibaba Cloud アカウント内の RAM ユーザーおよび RAM ロールに割り当てることができます。
User:このロールを持つプリンシパルは、暗号操作にのみキーを使用できます。このロールは、ご利用の Alibaba Cloud アカウント内の RAM ユーザーおよび RAM ロールに割り当てることができます。
Cross-account User:
重要別の Alibaba Cloud アカウントの RAM ユーザーまたは RAM ロールに権限を付与すると、ご利用の KMS インスタンスのアクセス管理クォータが消費されます。クォータは、アクセスを許可する一意の Alibaba Cloud アカウントの数に基づいて消費されます。権限付与を取り消した場合、クォータは約 5 分後にリリースされます。
クロスアカウントのプリンシパルがキーを使用できるようにするには、ターゲットアカウントの RAM コンソールで、対応するユーザーまたはロールに必要な権限を付与する必要もあります。詳細については、「Key Management Service のカスタム権限ポリシー」、「RAM ユーザーの権限管理」、および「RAM ロールの権限管理」をご参照ください。
これは、別の Alibaba Cloud アカウントの RAM ユーザーまたは RAM ロールです。クロスアカウントユーザーは、暗号操作にのみキーを使用できます。
Add ARN of Cross-account User をクリックし、プリンシパルの ARN を入力します。RAM コンソールのユーザーまたはロールの詳細ページで ARN を確認できます。
RAM ユーザー:フォーマットは
acs:ram::<他の Alibaba Cloud アカウント ID>:user/<ramuser>です。例:acs:ram::119285303511****:user/testpolicyuser。RAM ロール:フォーマットは
acs:ram::<他の Alibaba Cloud アカウント ID>:role/<ramrole>です。例:acs:ram::119285303511****:role/testpolicyrole。
文法編集:ポリシーエディターで権限ステートメントを直接変更または追加できます。次の例は、設定のサンプルを示しています。
シナリオ:この例は、Alibaba Cloud アカウント 119285303511**** に属するキーのキーポリシーを示しています。
キーの所有者 (Alibaba Cloud アカウント 119285303511****) は、キーを管理および使用するための完全なアクセス権を持っています。このデフォルトのステートメントは変更しないことを推奨します。
説明デフォルトでは、キーの所有者はすべての権限を持っています。このルールは変更できません。
このステートメントは、同じアカウント (119285303511****) 内の RAM ユーザー key_ramuser1 がキーを管理することを許可します。
このステートメントは、同じアカウント (119285303511****) 内の RAM ユーザー key_ramuser2 と、別のアカウント (190325303126****) の RAM ユーザー key_ramuser3 がキーを使用することを許可します。
ポリシーの例:
{ "Statement": [ { "Action": [ "kms:*" ], "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::119285303511****:*" ] }, "Resource": [ "*" ], "Sid": "kms default key policy" }, { "Action": [ "kms:List*", "kms:Describe*", "kms:Create*", "kms:Enable*", "kms:Disable*", "kms:Get*", "kms:Set*", "kms:Update*", "kms:Delete*", "kms:Cancel*", "kms:TagResource", "kms:UntagResource", "kms:ImportKeyMaterial", "kms:ScheduleKeyDeletion" ], "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::119285303511****:user/key_ramuser1" ] }, "Resource": [ "*" ] }, { "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey", "kms:GenerateAndExportDataKey", "kms:AsymmetricEncrypt", "kms:AsymmetricDecrypt", "kms:DescribeKey", "kms:DescribeKeyVersion", "kms:ListKeyVersions", "kms:ListAliasesByKeyId", "kms:TagResource" ], "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::119285303511****:user/key_ramuser2", "acs:ram::190325303126****:user/key_ramuser3" ] }, "Resource": [ "*" ] } ], "Version": "1" }
制限事項
キーポリシーは キー にのみ適用できます。
キーポリシーのコンテンツは JSON フォーマットである必要があり、長さは 32,768 バイトを超えることはできません。
キーポリシーでは、次の操作を設定できます:
警告このリストにない操作を指定した場合、その権限は有効になりません。
"Action": [ "kms:List*", "kms:Describe*", "kms:Create*", "kms:Enable*", "kms:Disable*", "kms:Get*", "kms:Set*", "kms:Update*", "kms:Delete*", "kms:Cancel*", "kms:TagResource", "kms:UntagResource", "kms:ImportKeyMaterial", "kms:ScheduleKeyDeletion" "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey", "kms:GenerateAndExportDataKey", "kms:AsymmetricEncrypt", "kms:AsymmetricDecrypt", "kms:DescribeKey", "kms:DescribeKeyVersion", "kms:ListKeyVersions", "kms:ListAliasesByKeyId", "kms:TagResource" ]クロスアカウントでのキー権限付与:クロスアカウントの RAM ユーザーまたは RAM ロールにキーの使用を許可するには、両方のアカウントで権限を設定する必要があります:
KMS コンソールで、キーポリシーを設定してターゲットアカウントに使用権限を付与します。これには、Cross-account User のポリシーステートメントの追加が含まれます。
ターゲットアカウントの RAM コンソールで権限ポリシーを設定し、対応するユーザーまたはロールにキーの使用権限を付与します。
デフォルトの権限 (操作)
管理者
このロールを持つプリンシパルは、キーに対する管理操作を実行できます。このロールには、暗号操作の権限は含まれません。
"Action": [
"kms:List*",
"kms:Describe*",
"kms:Create*",
"kms:Enable*",
"kms:Disable*",
"kms:Get*",
"kms:Set*",
"kms:Update*",
"kms:Delete*",
"kms:Cancel*",
"kms:TagResource",
"kms:UntagResource",
"kms:ImportKeyMaterial",
"kms:ScheduleKeyDeletion"
]ユーザー/クロスアカウントユーザー
このロールを持つプリンシパルは、暗号操作にのみキーを使用できます。
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:GenerateDataKey",
"kms:GenerateAndExportDataKey",
"kms:AsymmetricEncrypt",
"kms:AsymmetricDecrypt",
"kms:DescribeKey",
"kms:DescribeKeyVersion",
"kms:ListKeyVersions",
"kms:ListAliasesByKeyId",
"kms:TagResource"
]