The Cloud KMS API is a service that allows you to keep encryption keys centrally in the cloud, for direct use by cloud services.
-
Read Prerequisites and How to run a sample first.
-
Install dependencies:
npm install
View the documentation or the source code.
Run the sample:
node quickstart.js
View the documentation or the source code.
Usage: node keys.js --help
Commands:
create <keyRingName> <keyName> Creates a crypto key.
decrypt <keyRingName> <keyName> <infile> <outfile> Decrypts a file.
encrypt <keyRingName> <keyName> <infile> <outfile> Encrypts a file.
get <keyRingName> <keyName> Gets a crypto key.
get-policy <keyRingName> <keyName> Gets a crypto key's IAM policy.
grant-access <keyRingName> <keyName> <member> <role> Adds a members to a crypto key's IAM policy.
keyrings <command> Access key rings subcommands.
list <keyRingName> Lists crypto keys.
revoke-access <keyRingName> <keyName> <member> <role> Removes a member from a crypto key's IAM policy.
set-primary <keyRingName> <keyName> <version> Sets a crypto key's primary version.
versions <command> Access crypto key versions subcommands.
Options:
--help Show help [boolean]
--location, -l [string] [default: "global"]
--projectId, -p [string]
Examples:
node keys.js keyrings create "my-key-ring"
node keys.js keyrings list
node keys.js keyrings get-policy "my-key-ring"
node keys.js keyrings grant-access "my-key-ring" "user:developer@company.com" "roles/viewer"
node keys.js keyrings revoke-access "my-key-ring" "user:developer@company.com" "roles/viewer"
node keys.js create "my-key-ring" "my-key"
node keys.js list
node keys.js encrypt "my-key-ring" "my-key" ./resources/plaintext.txt ./resources/plaintext.txt.encrypted
node keys.js decrypt "my-key-ring" "my-key" ./resources/plaintext.txt.encrypted ./resources/plaintext.txt.decrypted
node keys.js set-primary "my-key-ring" "my-key" 123
node keys.js get-policy "my-key-ring" "my-key"
node keys.js grant-access "my-key-ring" "my-key" "user:developer@company.com" "roles/viewer"
node keys.js revoke-access "my-key-ring" "my-key" "user:developer@company.com" "roles/viewer"
node keys.js versions create "my-key-ring" "my-key"
node keys.js versions list "my-key-ring" "my-key"
node keys.js versions destroy "my-key-ring" "my-key" 123
node keys.js versions restore "my-key-ring" "my-key" 123
node keys.js versions disable "my-key-ring" "my-key" 123
node keys.js versions enable "my-key-ring" "my-key" 123
For more information, see https://cloud.google.com/kms/docs