キーを管理できるユーザーと使用できるユーザーを制御するには、キーポリシーで RAM ユーザーや RAM ロールを追加または削除して、キー管理者とキーユーザーを指定します。このトピックでは、キーポリシーの設定方法について説明します。
KMS コンソールでのキーポリシーの設定
Key Management Service (KMS) コンソールにログインします。上部のナビゲーションバーでリージョンを選択します。左側のナビゲーションウィンドウで、 を選択します。
-
キー タブで、対象のキーを見つけ、キー ID または 操作 列の 詳細 をクリックします。
-
詳細ページで、Key Policy セクションまでスクロールし、Configure Key Policy をクリックしてキーポリシーを設定し、OK をクリックします。
-
グラフィカル編集:このモードでは、デフォルトのポリシー権限 (アクション) を使用して、事前定義されたロールに権限を付与されたプリンシパル (RAM ユーザーまたは RAM ロール) を割り当てます。
-
管理者:このロールに割り当てられたプリンシパルは、キーに対する管理操作を実行できますが、暗号操作は実行できません。現在の Alibaba Cloud アカウント内の RAM ユーザーと RAM ロールを割り当てることができます。
-
ユーザー:このロールに割り当てられたプリンシパルは、暗号操作のためにのみキーを使用できます。現在の Alibaba Cloud アカウント内の RAM ユーザーと RAM ロールを割り当てることができます。
-
その他のアカウントユーザー:
重要-
別の Alibaba Cloud アカウントの RAM ユーザーまたは RAM ロールに権限を付与すると、ご利用の KMS インスタンスのアクセス管理クォータを消費します。クォータの消費量は Alibaba Cloud アカウントの数によって計算されます。権限付与を取り消した後、クォータは約 5 分後に返却されます。
-
プリンシパルがキーを使用する前に、RAM コンソールで RAM ユーザーまたはロールに対応するキー権限を設定する必要もあります。詳細については、「カスタムポリシー」、「RAM ユーザーの権限管理」、および「RAM ロールの権限の管理」をご参照ください。
-
これは、別の Alibaba Cloud アカウントの RAM ユーザーまたは RAM ロールです。クロスアカウントのプリンシパルは、暗号操作のためにのみキーを使用できます。
-
他のアカウントのユーザー ID の追加 をクリックし、権限を付与するプリンシパルの ARN を入力します。ARN は、RAM コンソールのユーザーまたはロールの詳細ページから取得できます。
-
RAM ユーザー:フォーマット:
acs:ram::<Other Alibaba Cloud account ID>:user/<ramuser>。例:acs:ram::119285303511****:user/testpolicyuser。 -
RAM ロール:フォーマット:
acs:ram::<Other Alibaba Cloud account ID>:role/<ramrole>。例:acs:ram::119285303511****:role/testpolicyrole。
-
-
-
-
構文編集:構文エディターで権限ステートメントを直接変更または追加します。以下に設定例を示します。
-
シナリオ:この例では、Alibaba Cloud アカウント 119285303511**** に属するキーのキーポリシーを設定します。
-
現在の Alibaba Cloud アカウント (119285303511****) は、キーの管理と使用に対するフルアクセス権を持ちます。このステートメントは変更しないことを推奨します。
-
現在の Alibaba Cloud アカウント (119285303511****) の RAM ユーザー (key_ramuser1) にキーの管理を許可します。
-
現在の Alibaba Cloud アカウント (119285303511****) の RAM ユーザー (key_ramuser2) と、別の Alibaba Cloud アカウント (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" }説明上記の例では、
Resourceフィールドは["*"]に設定されており、ポリシーが現在のキーに適用されることを示します。Resourceを特定のキー ARN に設定して、ポリシーの範囲を制限することもできます。キー ARN のフォーマットについては、「キーポリシーの概要」をご参照ください。
-
-
制限事項
-
キーポリシーは キー でのみサポートされます。
キーポリシーは 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" ] -
クロスアカウントでのキーの権限付与: 別の Alibaba Cloud アカウントの RAM ユーザーまたは RAM ロールにご利用のアカウントのキーの使用を許可するには、両方のアカウントで権限を設定する必要があります:
-
KMS コンソールでキーポリシーを設定し、対象のアカウントに使用権限を付与します。その他のアカウントユーザー のポリシーステートメントを追加します。
-
対象のアカウントは、RAM コンソールでその 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"
]
よくある質問
-
キーポリシーと RAM 権限ポリシーの関係は何ですか?
キーポリシーと RAM 権限ポリシーは、異なるディメンションから KMS キーへのアクセスを制御します。RAM ユーザーまたは RAM ロールをキーポリシーに追加した後、RAM コンソールでその RAM ユーザーまたは RAM ロールにすでに設定されている KMS の操作権限を管理するために、RAM 権限ポリシーも設定する必要があります。
説明権限評価の優先順位については、「権限評価の優先順位」をご参照ください。
-
Key Policy:特定のキーにアタッチされるリソースレベルのポリシーです。どの ID (RAM ユーザー、RAM ロール、または Alibaba Cloud アカウント) がキーを管理または使用できるかを宣言します。
-
RAM 権限ポリシー:RAM ユーザーまたは RAM ロールにアタッチされる ID レベルのポリシーです。その ID がどの KMS アクションを実行できるかを宣言します。
-