SafeNet KMIP and Google Cloud Storage Integration Guide



Similar documents
SafeNet KMIP and Amazon S3 Integration Guide

KMIP installation Guide. DataSecure and KeySecure Version SafeNet, Inc

SSL Configuration on Weblogic Oracle FLEXCUBE Universal Banking Release [August] [2014]

Exchange Reporter Plus SSL Configuration Guide

Configuring Secure Socket Layer and Client-Certificate Authentication on SAS 9.3 Enterprise BI Server Systems That Use Oracle WebLogic 10.

Adeptia Suite 6.2. Application Services Guide. Release Date October 16, 2014

CA Nimsoft Unified Management Portal

How to Implement Two-Way SSL Authentication in a Web Service

Use Enterprise SSO as the Credential Server for Protected Sites

Cisco Prime Central Managing Certificates

Junio SSL WebLogic Oracle. Guía de Instalación. Junio, SSL WebLogic Oracle Guía de Instalación CONFIDENCIAL Página 1 de 19

How To Enable A Websphere To Communicate With Ssl On An Ipad From Aaya One X Portal On A Pc Or Macbook Or Ipad (For Acedo) On A Network With A Password Protected (

SSL Configuration on WebSphere Oracle FLEXCUBE Universal Banking Release [September] [2013] Part No. E

Using LDAP Authentication in a PowerCenter Domain

Entrust Managed Services PKI. Configuring secure LDAP with Domain Controller digital certificates

CHAPTER 7 SSL CONFIGURATION AND TESTING

Enabling SSL and Client Certificates on the SAP J2EE Engine

Entrust Certificate Services. Java Code Signing. User Guide. Date of Issue: December Document issue: 2.0

Creating and Managing Certificates for My webmethods Server. Version 8.2 and Later

Configuring SSL in OBIEE 11g

ADFS Integration Guidelines

Security Guide vcenter Operations Manager for Horizon View 1.5 TECHNICAL WHITE PAPER

Quick and Easy Solutions With Free Java Libraries Part II

ZeroTurnaround License Server User Manual 1.4.0

Configuring the NetBackup 7.7 Cloud Connector for use with StorReduce

VMware vrealize Operations for Horizon Security

SDK Code Examples Version 2.4.2

Director and Certificate Authority Issuance

HTTPS Configuration for SAP Connector

VMware vrealize Operations for Horizon Security

RHEV 2.2: REST API INSTALLATION

PowerChute TM Network Shutdown Security Features & Deployment

App Orchestration 2.5

Installing Digital Certificates for Server Authentication SSL on. BEA WebLogic 8.1

How to Implement Transport Layer Security in PowerCenter Web Services

Configuring HTTPS support. Overview. Certificates

Capture Pro Software FTP Server System Output

Creating an authorized SSL certificate

Configuring TLS Security for Cloudera Manager

Scenarios for Setting Up SSL Certificates for View

Introduction to Mobile Access Gateway Installation

SSL Certificate Generation

Microsoft Exchange 2010 and 2007

Universal Content Management Version 10gR3. Security Providers Component Administration Guide

Sophos Mobile Control Installation guide. Product version: 3

Clearswift Information Governance

etoken Enterprise For: SSL SSL with etoken

NSi Mobile Installation Guide. Version 6.2

Cloud Backup for Joomla

Configuring Secure Socket Layer (SSL) for use with BPM 7.5.x

Chapter 1: How to Configure Certificate-Based Authentication

SolarWinds Technical Reference

AWS Plug-in Guide. Qlik Sense 1.1 Copyright QlikTech International AB. All rights reserved.

Practice Fusion API Client Installation Guide for Windows

Getting Started with the Ed-Fi ODS and Ed-Fi ODS API

Certificate Management for your ICE Server

Customizing SSL in CA WCC r11.3 This document contains guidelines for customizing SSL access to CA Workload Control Center (CA WCC) r11.3.

DISTRIBUTED CONTENT SSL CONFIGURATION AND TROUBLESHOOTING GUIDE

Enterprise Content Management System Monitor 5.1 Security Considerations Revision CENIT AG Brandner, Marc

IUCLID 5 Guidance and Support

PrinterOn Print Delivery Station Admin Guide

Set up SSL in Deployment Solution 7.5

Configure Managed File Transfer Endpoints

How to FTP (How to upload files on a web-server)

User Management Tool 1.6

Content Filtering Client Policy & Reporting Administrator s Guide

Funambol Exchange Connector v6.5 Installation Guide

Using etoken for SSL Web Authentication. SSL V3.0 Overview

Securing Adobe connect Server and CQ Server

A Practical Guide to creating, compiling and signing an Android Application using Processing for Android.

RoomWizard Synchronization Software Manual Installation Instructions

Configuring Security Features of Session Recording

Eclipse installation, configuration and operation

DEPLOYING EMC DOCUMENTUM BUSINESS ACTIVITY MONITOR SERVER ON IBM WEBSPHERE APPLICATION SERVER CLUSTER

Mobility Manager 9.0. Installation Guide

RMFT Web Client User Guide

IBM WebSphere Application Server V8.5 lab Basic Liberty profile administration using the job manager

1. If there is a temporary SSL certificate in your /ServerRoot/ssl/certs/ directory, move or delete it. 2. Run the following command:

The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code.

Public Health Information Network Messaging System

Application Interface Services Server for Mobile Enterprise Applications Configuration Guide Tools Release 9.2


Force.com Canvas Developer's Guide

UserGuide ReflectionPKIServicesManager

Monitoring Oracle Enterprise Performance Management System Release Deployments from Oracle Enterprise Manager 12c

Overview of Web Services API

Unifying Information Security. Implementing TLS on the CLEARSWIFT SECURE Gateway

Using etoken for Securing s Using Outlook and Outlook Express

Customer Tips. Xerox Network Scanning HTTP/HTTPS Configuration using Microsoft IIS. for the user. Purpose. Background

Fusion Installer Instructions

Qlik REST Connector Installation and User Guide

Copyright 2012 Trend Micro Incorporated. All rights reserved.

ECA IIS Instructions. January 2005

App Orchestration 2.0

EMC Data Protection Search

Transcription:

SafeNet KMIP and Google Cloud Storage Integration Guide Documentation Version: 20130719

Table of Contents CHAPTER 1 GOOGLE CLOUD STORAGE................................. 2 Introduction............................................................... 2 Prerequisites.............................................................. 2 Creating Google APIs Console Project................................... 3 Activating Google Cloud Storage Service................................. 3 Authorizing Requests with OAuth 2.0.................................... 3 SafeNet Integration......................................................... 4 Configuring SafeNet Integration........................................ 4 Uploading Data Using Keys Stored on KeySecure.......................... 5 Downloading Data Using Keys Stored on KeySecure........................ 6 CHAPTER 2 SETTING UP SSL........................................ 7 SSL Configuration Procedures................................................ 7 Creating a Local CA................................................. 7 Creating a Server Certificate Request on the Management Console............ 8 Signing a Server Certificate Request with a Local CA....................... 8 Downloading the Local CA Certificate.................................... 9 Adding the CA Certificate to the Java Keystore............................ 9 SSL with Client Certificate Authentication Procedures.............................. 9 Generating a Client Certificate Request with Keytool....................... 10 Signing a Certificate Request and Downloading the Certificate............... 11 Adding the CA and Client Certificates to the Java Keystore.................. 12 Updating the Properties File................................................. 12 CHAPTER 3 SAMPLE APPLICATION................................... 13 Extracting SafeNet Integration............................................... 13 Using Sample Application................................................... 13 Using SafeNetKmipGCSSample............................................. 14 Creating Encryption Keys............................................ 14 Managing Buckets.................................................. 15 Managing Objects.................................................. 16 Use Cases.............................................................. 17 Uploading/Downloading Data without KeySecure.......................... 17 Uploading/Downloading Data Using KeySecure........................... 17 SAFENET KMIP AND GOOGLE CLOUD STORAGE INTEGRATION GUIDE 1

Chapter 1 Google Cloud Storage This chapter presents an overview of Google Cloud Storage; steps to create a Google APIs console project; steps to activate the Google Cloud Storage service; and how the SafeNet KMIP integration with Google Cloud Storage is implemented. Introduction Google Cloud Storage is an Internet service to store data in the Google's cloud. Google Cloud Storage allows world-wide storing and retrieval of any amount of data and at any time. It provides a simple programming interface which enables developers to take advantage of Google's own reliable and fast networking infrastructure to perform data operations in a secure and cost effective manner. If expansion needs arise, developers can benefit from the scalability provided by Google's infrastructure. Google Cloud Storage provides a range of programming languages to choose from when creating applications. These languages are supported by client libraries that allow applications to communicate with Google Cloud Storage. The libraries take care of the HTTP protocol details when using the Google Cloud Storage APIs. Google Cloud Storage allows providing browser-based authenticated downloads to individual Google account holders. Authenticated browser-based downloads can be provided by first applying Google account-based ACLs to an object and then sending users a URL that is scoped to the object. To use the Google Cloud Storage service, users need to activate Google Cloud Storage, create unique buckets to store data (objects), upload data, and control access. On Google Cloud Storage, the data is stored in plaintext. Prerequisites Before implementing SafeNet integration, make sure to activate the Google Cloud Storage service. The Google Cloud Storage service can be activated on a project-by-project basis. Activating the Google Cloud Storage service requires a Google account and a Google APIs console project. At least one project must exist before the Google Cloud Storage service can be activated. SAFENET KMIP AND GOOGLE CLOUD STORAGE INTEGRATION GUIDE 2

Creating Google APIs Console Project A Google account is needed to create a Google APIs console project. To create a Google APIs console: 1 Log on to the Google APIs Console (https://code.google.com/apis/console/). If no project already exists, a prompt appears to create a project. 2 Click Create project... A new project gets created. 3 Click the Overview tab. The Dashboard page displays Project Summary which includes project name, project number, a link to register project ID, and the owner name. 4 Click Register... next to Project ID. The Register Project ID dialog box appears. 5 In the Project ID field, enter an ID for the project. 6 Click Check availability. 7 Click Choose this ID if the entered ID is available. The selected project ID now appears next to Project ID under Project Summary. Activating Google Cloud Storage Service After creating a project, the Google Cloud Storage service needs to be activated. To activate the Google Cloud Storage service: 1 Log on to the Google APIs Console (if needed). In case of multiple projects, enter the project to activate Google Cloud Storage for. 2 Click the Services tab. 3 In the All Services table, click Off next to Google Cloud Storage. The Google Cloud Storage service is turned on for the project. The Billing and Google Cloud Storage tabs are now visible in the left navigation pane. 4 Click the Billing tab. 5 Click Enable Billing to enable billing for the project. Authorizing Requests with OAuth 2.0 Any requests to access private data must be authorized by an authenticated user who has access to that data. To authorize private data requests: 1 Log on to the Google APIs Console (if needed). In case of multiple projects, enter the project to authorize requests for. 2 Click the API Access tab. SAFENET KMIP AND GOOGLE CLOUD STORAGE INTEGRATION GUIDE 3

3 Click Create an OAuth 2.0 client ID... The Create Client ID dialog box appears. 4 Specify branding information including product name, product logo, URL to home page. 5 Click Next. 6 Select Installed application under Application type. 7 Select Other under Installed application type. 8 Click Create client ID. The entered branding information and generated Google client secrets (Client ID and Client secret) appear on the screen. 9 Click Download JSON. The downloaded client_secrets.json file is required while using the sample application. This file contains Google client secrets used to retrieve access token from Google. The retrieved access token is stored in the credential.json file in the working directory. The access token is used for Google authentication. If needed, another client ID can be created by clicking Create another client ID... SafeNet Integration SafeNet integrates Google Cloud Storage with the KeySecure server for key management services. With SafeNet integration, users can manage encryption keys on a KeySecure server. Encryption keys can be generated, managed, and stored on the KeySecure server. Configuring SafeNet Integration There are some configuration steps needed before using SafeNet integration. Certain parameters in the IngrianNAE.properties (also known as properties file) file need to be modified to define how the provider interacts with KeySecure. SSL setup is also needed for secure communication with KeySecure. For details on SSL setup, refer to Chapter 2, Setting up SSL. SAFENET KMIP AND GOOGLE CLOUD STORAGE INTEGRATION GUIDE 4

Uploading Data Using Keys Stored on KeySecure With SafeNet integration, the encryption process is as follows: 1 User provides the key name, data, and Google client secrets to SafeNet integration. 2 SafeNet integration sends Google client secrets to retrieve access token from Google. 3 SafeNet integration connects to KeySecure, locates the key name on KeySecure, and fetches the key. 4 SafeNet integration sends the data and the encryption key to the JCE client. 5 JCE client encrypts the data using the encryption key. 6 JCE client sends the encrypted data to SafeNet integration. 7 SafeNet integration uploads the encrypted data to Google Cloud Storage under a specified bucket. SAFENET KMIP AND GOOGLE CLOUD STORAGE INTEGRATION GUIDE 5

Downloading Data Using Keys Stored on KeySecure With SafeNet integration, the decryption process is as follows: 1 User provides the key name and Google client secrets to SafeNet integration. 2 SafeNet integration connects to KeySecure, locates the key name on KeySecure, and fetches the key. 3 SafeNet integration requests the data from Google Cloud Storage using the already retrieved access token. 4 SafeNet integration retrieves encrypted data from Google Cloud Storage. 5 SafeNet integration sends the encrypted data and the key retrieved from KeySecure to the JCE client. 6 JCE client decrypts the encrypted data using the key received from SafeNet integration. 7 JCE client sends the decrypted data to SafeNet integration. 8 SafeNet integration sends the decrypted data to the user. SAFENET KMIP AND GOOGLE CLOUD STORAGE INTEGRATION GUIDE 6

Chapter 2 Setting up SSL This chapter provides an overview of SafeNet SSL and SSL with Client Certificate Authentication features. SSL Configuration Procedures This section describes the procedures you will follow when configuring SSL. It explains the following processes: 1 Creating a Local CA 2 Creating a Server Certificate Request on the Management Console 3 Signing a Server Certificate Request with a Local CA 4 Downloading the Local CA Certificate 5 Adding the CA Certificate to the Java Keystore Creating a Local CA To create a local CA: 1 Log on to the Management Console as an administrator with Certificate Authorities access control. 2 Navigate to the Create Local Certificate Authority section on the Certificate and CA Configuration page (Security, Local CAs). 3 Modify the fields as needed. 4 Select either Self-signed Root CA or Intermediate CA Request as the Certificate Authority Type. 5 Click Create. Note: Only a local CA can sign certificate requests on KeySecure. If you are using a CA that does not reside on KeySecure, you cannot use the Management Console to sign certificate requests. Important! Local CA certificates must be added to a trusted CA list to be recognized by the Cryptographic Key Server. Local CA certificates should be backed up for protection. To add a local CA to a trusted CA list: 1 Navigate to the Certificate and CA Configuration page. (Security, Trusted CA Lists). 2 Select Default under Profile Name. 3 Click Edit under the Trusted Certificate Authority List section. 4 Select the local CA in the Available CAs list. SAFENET KMIP AND GOOGLE CLOUD STORAGE INTEGRATION GUIDE 7

5 Click Add. The local CA now appears in the Trusted CAs list. 6 Click Save. Creating a Server Certificate Request on the Management Console To create a server certificate request on the Management Console: 1 Log on to the Management Console as an administrator with Certificates access control. 2 Navigate to the Create Certificate Request section of the Certificate and CA Configuration page (Security, SSL Certificates) and modify the fields as needed. 3 Click Create Certificate Request. This creates the certificate request and places it in the Certificate List section of the Certificate and CA Configuration page. The new entry shows that the Certificate Purpose is Certificate Request and that the Certificate Status is Request Pending. Signing a Server Certificate Request with a Local CA To sign a server certificate request with a local CA: 1 Log on to the Management Console as an administrator with Certificates and Certificate Authorities access control. 2 Navigate to the Certificate List section on the Certificate and CA Configuration page (Security, SSL Certificates). 3 Select the certificate request and click Properties. 4 Copy the text of the certificate request. The copied text must include the header (-----BEGIN CERTIFICATE REQUEST-----) and footer (-----END CERTIFICATE REQUEST-----). 5 Navigate to the Local Certificate Authority List (Security, Local CAs). Select the local CA and click Sign Request to access the Sign Certificate Request section. 6 Modify the fields as shown: - Sign with Certificate Authority - Select the CA that signs the request. - Certificate Purpose - Select Server. - Certificate Duration (days) - Enter the life span of the certificate. - Certificate Request - Paste all text from the certificate request, including the header and footer. 7 Click Sign Request. This will take you to the CA Certificate Information section. 8 Copy the actual certificate. The copied text must include the header (-----BEGIN CERTIFICATE-----) and footer (-----END CERTIFICATE-----). 9 Navigate back to the Certificate List section (Security, SSL Certificates). Select your certificate request and click Properties. 10 Click Install Certificate. SAFENET KMIP AND GOOGLE CLOUD STORAGE INTEGRATION GUIDE 8

11 Paste the actual certificate in the Certificate Response text box. Click Save. The Management Console returns you to the Certificate List section. The section will now show that the Certificate Purpose is Server and that the Certificate Status is Active. The certificate can now be used as the server certificate for the NAE Server. Downloading the Local CA Certificate To download a local CA certificate from KeySecure: 1 Log on to the Management Console as an administrator with Certificate Authorities access control. 2 Navigate to the Local Certificate Authority List section of the Certificates and CA Configuration page (Security, Local CAs). 3 Select the Local CA and click the Download button to download the file to your client. Adding the CA Certificate to the Java Keystore To add the CA certificate to the keystore: 1 Open a command prompt window on the client and navigate to the Java security directory. This is typically <JRE-Home>/lib/security. 2 Use the keytool utility to import the CA certificate by issuing the command below. This statement selects cacerts as the keystore. You create an alias for the CA at this time. keytool -import -keystore cacerts -alias <CAAlias> -file <CertFileName.crt> Here, <CertFileName.crt> represents the name of the certificate file with the path. 3 Enter the keystore password when prompted. By default, the password is changeit. 4 Indicate that the CA is trusted, when prompted. The utility will then issue a message confirming that the certificate has been added to the keystore. For information about the keytool utility, please refer to Sun s documentation at: http://java.sun.com/j2se/1.4.2/docs/tooldocs/solaris/keytool.html SSL with Client Certificate Authentication Procedures This section describes the procedures you will follow when configuring SSL with Client Certificate Authentication. It explains the following processes: 1 Generating a Client Certificate Request with Keytool 2 Signing a Certificate Request and Downloading the Certificate 3 Adding the CA and Client Certificates to the Java Keystore SAFENET KMIP AND GOOGLE CLOUD STORAGE INTEGRATION GUIDE 9

Generating a Client Certificate Request with Keytool Note: You cannot authenticate the client IP address if you use keytool to generate the client certificate request. To generate a client certificate request: 1 Open a command prompt window on your client and navigate to the Java security directory (<Java_Home>\lib\security). 2 Generate a public/private key pair by issuing the command below. You create an alias for the key pair at this time. keytool -keystore <KeystoreName> -genkey -alias <KeyPairAlias> -keyalg RSA The key generation process will then request the following data: - A keystore password. - The distinguished name. This is a series of fields whose values are incorporated into the certificate request. These fields include country name, state or province name, city or locality name, organization name, organizational unit name, and the users first and last name. Important! The user name specified here must exist on KeySecure. If the user does not exist, create it on the User & Group Configuration page. (Security, Local Authentication, Local Users & Groups) - The key password. The certificate password must be the same as the keystore password. You can simply press Return to set the password. You need not retype the keystore password. The sample output looks similar to the following: C:\Program Files\Java\jdk1.7.0_07\jre\lib\security>keytool -keystore cacerts -genkey -alias KeyPairAlias1 -keyalg RSA Enter keystore password: What is your first and last name? [Unknown]: AB What is the name of your organizational unit? [Unknown]: ENGG What is the name of your organization? [Unknown]: SFNT What is the name of your City or Locality? [Unknown]: NOIDA What is the name of your State or Province? [Unknown]: UP SAFENET KMIP AND GOOGLE CLOUD STORAGE INTEGRATION GUIDE 10

What is the two-letter country code for this unit? [Unknown]: IN Is CN=AB, OU=ENGG, O=SFNT, L=NOIDA, ST=UP, C=IN correct? [no]: yes Enter key password for <KeyPairAlias1> (RETURN if same as keystore password): Important! The user name, AB, specified above must exist on KeySecure. If the user does not exist, create it on the User & Group Configuration page. (Security, Local Authentication, Local Users & Groups) 3 Create the certificate request by issuing the command below. Reference the Key Pair Alias you created above. keytool -certreq -alias <KeyPairAlias> -file <CertReqFileName> -keystore <KeystoreName> You will now have a certificate request in the <CertReqFileName> file. Signing a Certificate Request and Downloading the Certificate This section describes how to sign a certificate request with a local CA and then download the certificate. You must download the certificate immediately after it is signed by the CA. To sign a certificate request with a local CA: 1 Open the certificate request in a text editor. 2 Copy the text of the certificate request. The copied text must include the header (-----BEGIN CERTIFICATE REQUEST-----) and the footer (-----END CERTIFICATE REQUEST-----). 3 Log on to KeySecure as an administrator with Certificate Authorities access control. 4 Navigate to the Local Certificate Authority List (Security, Local CAs). Select the local CA and click Sign Request to access the Sign Certificate Request section. 5 Modify the fields as shown: - Sign with Certificate Authority Select the CA that signs the request. - Certificate Purpose Select Client. - Certificate Duration (days) Enter the life span of the certificate. - Certificate Request Paste all text from the request, including the header and footer. 6 Click Sign Request. This will take you to the CA Certificate Information section. 7 Click the Download button to save the certificate on your local machine. SAFENET KMIP AND GOOGLE CLOUD STORAGE INTEGRATION GUIDE 11

Adding the CA and Client Certificates to the Java Keystore To add the client certificate to the Java keystore: 1 Open a command prompt window on your client and navigate to the Java security directory (<Java_Home>\lib\security). 2 Import the CA certificate that signed the client certificate using the command below. You create an alias for the CA at this time. When prompted, enter the keystore password and indicate that the CA is trusted. keytool -keystore <KeystoreName> -import -alias <CAAlias> -file <CertFileName.crt> The above step is required if a CA other than the Local CA is to be used. 3 Import the signed client certificate using the following command. Use the key pair alias you used to create the certificate request. When prompted, enter the keystore password. keytool -keystore <KeystoreName> -alias <KeyPairAlias> -import -file <CertFileName.crt> 4 Verify that the client certificate was properly imported by executing the following command. Reference the key pair alias you used above. The system should display the certificate. keytool -keystore <KeystoreName> -alias <KeyPairAlias> -list -v Important! To enable Client Certificate Authentication, your keystore must have a copy of the CA certificate that signed the server certificate. Updating the Properties File After setting up the SSL, the SSL-related parameters must be updated in the properties file. The following parameters in the IngrianNAE.properties file need to be updated as follows: NAE_IP.1=<IP address of the server.> KMIP_Port=<KMIP SSL port on the server.> Protocol=ssl Key_Store_Location=<path and name of keystore that contains a copy of the server s local CA, the client certificate, and the CA that signed the client certificate.> Key_Store_Password=<keystore password> Client_Cert_Alias=<client certificate alias> Client_Cert_Passphrase=<client certificate password, if used> SAFENET KMIP AND GOOGLE CLOUD STORAGE INTEGRATION GUIDE 12

Chapter 3 Sample Application A sample application, SafeNetKmipGCSSample, is included to demonstrate the data upload/download with and without SafeNet key management. Extracting SafeNet Integration Extracting the SafeNetKMIPGCS.zip file creates a SafeNetKMIPGCS folder. This folder contains the following items: src Source file for the sample application. bin Package and class file generated by compiling the source file. lib Library (jar) dependencies, Google API, SafeNet KMIP library (jar), and the properties file. doc JavaDoc html and resource files. UserGuide SafeNet KMIP and Google Cloud Storage Integration Guide. readme.txt Instructions to implement SafeNet integration. Using Sample Application 1 Add the lib and bin folder to the CLASSPATH environment variable. For example, set CLASSPATH= %CLASSPATH%;"D:\SafeNetKMIPGCS\lib\*;D:\SafeNetKMIPGCS\bin"; 2 Set the properties file IngrianNAE.properties. For details, refer to Updating the Properties File on page 12. 3 Copy the downloaded client_secrets.json file to the working directory. 4 Check the command usage for available options. a Navigate to the path where SafeNet integration is extracted. b Execute java SafeNetKMIPGCS. The command usage is displayed: D:\SafeNetKMIPGCS\bin>java SafeNetKmipGCSSample Usage: -createenckey <KeyName> <KeySize> -createbucket <Project ID> <BucketName> SAFENET KMIP AND GOOGLE CLOUD STORAGE INTEGRATION GUIDE 13

-listbucket <Project ID> -getbucket <BucketName> -deletebucket <BucketName> -putobject <BucketName> <FileName> <ENCKey>* -getobject <BucketName> <ObjectName> <FilePath> <ENCKey>* -listobject <BucketName> -deleteobject <BucketName> <ObjectName> *ENCKey should be provided in case of encrypting data before uploading to Google storage. 5 Use the sample SafeNetKmipGCSSample with required parameters shown in the command usage above. Using SafeNetKmipGCSSample Use SafeNetKmipGCSSample to upload and download data from Google Cloud Storage with or without SafeNet KeySecure. All user data is stored in buckets in the form of objects. Symmetric keys can also be created on KeySecure using sample application SafeNetKmipGCSSample. The following topics describe the tasks that can be performed using the sample application SafeNetKmipGCSSample. Important! Performing operations on Google Cloud Storage requires access token for authentication. While using the sample application, the application may prompt to retrieve access token from Google (if the access token does not already exist). Allow the application to retrieve the access token. The retrieved access token is stored in the credential.json file downloaded at the working directory. The same access token will be used for all future authentications. Creating Encryption Keys To create an encryption key, execute: java SafeNetKmipGCSSample -createenckey <KeyName> <KeySize> <KeyName>: Name for the symmetric key. <KeySize>: Size for the symmetric key. SAFENET KMIP AND GOOGLE CLOUD STORAGE INTEGRATION GUIDE 14

Managing Buckets Creating Buckets To create a bucket in a project, execute: java SafeNetKmipGCSSample -createbucket <Project ID> <BucketName> <Project ID> ID of the project in which the bucket is to be created. To view a project ID, click the Overview tab. The Dashboard page displays the project ID. <BucketName>: Name for the bucket. Listing Buckets in a Project To list buckets in a project, execute: java SafeNetKmipGCSSample -listbucket <Project ID> ID of the project. <Project ID> Viewing Properties of a Bucket To view properties (metadata) of a bucket, execute: java SafeNetKmipGCSSample -getbucket <BucketName> <BucketName> Name of the bucket. Deleting Buckets Note: Only empty buckets can be deleted. Before deleting a bucket, delete all the objects stored in the bucket, as described in Deleting Objects from a Bucket on page 16. To delete a bucket from a project, execute: java SafeNetKmipGCSSample -deletebucket <BucketName> <BucketName> Name of the bucket to be deleted. SAFENET KMIP AND GOOGLE CLOUD STORAGE INTEGRATION GUIDE 15

Managing Objects Listing Objects in a Bucket To list objects in a bucket, execute: java SafeNetKmipGCSSample -listobject <BucketName> <BucketName> Name of the bucket. Uploading Objects to a Bucket To upload an object to a bucket, execute: java SafeNetKmipGCSSample -putobject <BucketName> <FileName> <ENCKey>* <BucketName> Name of the bucket. <FileName> Name and path of the file to be uploaded. <ENCKey> Name of the key for encryption. Downloading Objects from a Bucket To download an object from a bucket, execute: java SafeNetKmipGCSSample -getobject <BucketName> <ObjectName> <FilePath> <ENCKey>* <BucketName> Name of the bucket. <ObjectName> Name of the object to be downloaded. <FilePath> Path to store the downloaded object. <ENCKey> Name of the key used for encryption. Deleting Objects from a Bucket To delete an object from a bucket, execute: java SafeNetKmipGCSSample -deleteobject <BucketName> <ObjectName> <BucketName> Name of the bucket. SAFENET KMIP AND GOOGLE CLOUD STORAGE INTEGRATION GUIDE 16

<ObjectName> Name of the object to be deleted. Use Cases This section describes how data is uploaded to and downloaded from Google Cloud Storage in various real life scenarios. Uploading/Downloading Data without KeySecure This use case describes how data is uploaded to and downloaded from Google Cloud Storage without using SafeNet integration. 1. Uploading Data to Google Cloud Storage without KeySecure This use case describes how the data is uploaded to Google Cloud Storage without using SafeNet integration. To upload data to Google Cloud Storage, execute: java SafeNetKmipGCSSample -putobject <BucketName> <FileName> <BucketName> Name of the bucket. <FileName> Name and path of the file to be uploaded. 2. Downloading Data from Google Cloud Storage without KeySecure This use case describes how the data is downloaded from Google Cloud Storage without using SafeNet integration. To download data from Google Cloud Storage, execute: java SafeNetKmipGCSSample -getobject <BucketName> <ObjectName> <FilePath> <BucketName> Name of the bucket. <ObjectName> Name of the object to be downloaded. <FilePath> Path to store the downloaded object. Uploading/Downloading Data Using KeySecure This use case describes how data is uploaded to and downloaded from Google Cloud Storage using SafeNet integration when the key is created on KeySecure. SAFENET KMIP AND GOOGLE CLOUD STORAGE INTEGRATION GUIDE 17

1. Creating Symmetric Key on KeySecure To create a symmetric key on KeySecure using SafeNet integration, execute the following command: java SafeNetKmipGCSSample -createenckey <KeyName> <KeySize> <KeyName> Name for the symmetric key. <KeySize> Size for the symmetric key. 2. Uploading Data to Google Cloud Storage Using KeySecure This use case describes how the data is uploaded to Google Cloud Storage using SafeNet integration. To upload data to Google Cloud Storage, execute: java SafeNetKmipGCSSample -putobject <BucketName> <FileName> <ENCKey>* <BucketName> Name of the bucket. <FileName> Name and path of the file to be uploaded. <ENCKey> Name of the key for encryption. Note: *ENCKey is needed to encrypt the data before uploading it to Google Cloud Storage. 3. Downloading Data from Google Cloud Storage Using KeySecure This use case describes how the data is downloaded from Google Cloud Storage using SafeNet integration. To download data from Google Cloud Storage, execute: java SafeNetKmipGCSSample -getobject <BucketName> <ObjectName> <FilePath> <ENCKey>* <BucketName> Name of the bucket. <ObjectName> Name of the object to be downloaded. <FilePath> Path to store the downloaded object. <ENCKey> Name of the key used for encryption. Note: *ENCKey is needed to decrypt the data before downloading it from Google Cloud Storage. SAFENET KMIP AND GOOGLE CLOUD STORAGE INTEGRATION GUIDE 18