Skip to content

Latest commit

 

History

History
89 lines (66 loc) · 3.72 KB

File metadata and controls

89 lines (66 loc) · 3.72 KB

Google Cloud Platform logo

Google Cloud KMS API Node.js Samples

The Cloud KMS API is a service that allows you to keep encryption keys centrally in the cloud, for direct use by cloud services.

Table of Contents

Setup

  1. Read Prerequisites and How to run a sample first.

  2. Install dependencies:

     npm install
    

Samples

Quickstart

View the documentation or the source code.

Run the sample:

node quickstart.js

Keys

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