Google BigQuery Google Service Account
In this article
Overview
Use this SnapLogic Account type to connect Snaps to Google BigQuery using a Google service account.
Prerequisites
Existing Google Service Account with P12 file containing the private key. Learn how to import P12 File into the Google Service Account.
JDK with Keytool utility to set up the Keystore.Â
Limitations and Known Issues
None.
Account Settings
Â
Asterisk ( * ): Indicates a mandatory field.
Suggestion icon ( ): Indicates a list that is dynamically populated based on the configuration.
Expression icon ( ): Indicates the value is an expression (if enabled) or a static value (if disabled). Learn more about Using Expressions in SnapLogic.
Add icon ( ): Indicates that you can add fields in the field set.
Remove icon ( ): Indicates that you can remove fields from the field set.
Field Name | Field Type | Description |
---|---|---|
Label* Default Value:Â None | String/Expression | Specify a unique label for the account. Â |
Properties for Google BigQuery | ||
Account ID*Â Â Default Value:Â None | Integer/Expression | Specify the ID of the service account available in the Google web console. |
Private Key ID*Â Default Value:Â N/A | String/Expression | Specify the ID of the private key available in the Google web console. |
Email ID* Default Value:Â N/A | String/Expression | Specify the email id of the service account available in the Google web console. |
Keystore URI* Default Value:Â N/A | String/Expression | Specify the location of the Keystore that contains the private key you use. You can upload the file using the Upload icon. |
Keystore Passphrase* | String/Expression | Specify the passphrase to access the Keystore. |
Private Key Alias* Default Value:Â N/A | String/Expression | Specify the alias to identify the private key. This is a suggestible field and will lists all the available aliases in the key store. |
Properties for Cloud Storage | ||
Account IDÂ Default Value:Â N/A | Integer/Expression | Specify the ID of the service account available in the Google web console. |
Private Key IDÂ Default Value:Â N/A | String/Expression | Specify the ID of the private key available in the Google web console. |
Email IDÂ Default Value:Â None | String/Expression | Specify the email id of the the service account available in the Google web console. |
Keystore URI Default Value:Â N/A | String/Expression | Specify the location of the Keystore that contains the private key to be used. Click the browse icon to load into/select from SLDB. |
Keystore Passphrase Default Value: N/A | String/Expression | Specify the passphrase to access the Keystore. |
Private Key Alias Default Value: N/A | String/Expression | Specify the alias to identify the private key. This is a suggestible field and will list all the aliases in the key store. |
Default Standard SQL Default Value: Deselected | Checkbox | Select this checkbox if you want to default the dialect in the Query field in the Snaps using this account to Standard SQL. To override this default setting use the |
Importing P12 File
Key Steps
To perform the above steps, open a Command Prompt window. The steps along with the requisite syntax are described in detail below:
Step 1 - Create New Keystore
 Execute the following command at the Command Prompt.
keytool -genkey -alias <some alias> -keyalg RSA -keysize 2048 -keystore <keystore name> Example: keytool -genkey -alias demoalias1 -keyalg RSA -keysize 2048 -keystore demokeystore1
Specify the follow-up questions for First and Last name, Organizational unit name, Organization name, City/Locality, State/Province, and Two-letter country code.
Click Yes in the Details confirmation dialog box.
Enter the key password for the provided alias.
Press Enter.
Step 2 - Empty the Keystore
Execute the following command at the Command Prompt:
keytool -delete -alias <alias name> -keystore <keystore name> Example: keytool -delete -alias demoalias1 -keystore demokeystore1
Enter the password as given in Step 1.
Step 3 -Â Verify if Keystore is Empty
Execute the following command at the Command Prompt:
keytool -v -list -keystore <keystre name> Example: keytool -v -list -keystore demokeystore1
Enter password as given in Step 1.
The response should be "Your keystore contains 0 entries".
Step 4 -Â Import the P12 file
Execute the following command at the Command Prompt:
keytool -v -importkeystore -srckeystore <p12file.p12> -srcstoretype PKCS12 -destkeystore <keystore name> -deststoretype JKS -destkeypass <password for private key (should be same as keystore passphrase)> Example: keytool -v -importkeystore -srckeystore sample_p12_file.p12 -srcstoretype PKCS12 -destkeystore demokeystore1 -deststoretype JKS -destkeypass demoPassword1
Enter the destination Keystore password given in Step 1.
Enter the source Keystore password that was obtained while generating P12 file.
The response should be "Import command completed: 1 entries successfully imported, 0 entries failed or canceled".
Step 5 -Â Check Keystore to be Non-empty
Execute the following command at the Command Prompt:
keytool -v -list -keystore <keystre name> Example: keytool -v -list -keystore demokeystore1
Enter password as given in Step 1. The response should show:
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 1 entry
Alias name: privatekey
Creation date: 12 Oct, 2017
Entry type: PrivateKeyEntry
The Keystore is ready with one entry having a private key imported from the P12 file. The alias for that private key is privatekey.
Step 6 -Â Change Alias if needed
Execute the following command at the Command Prompt:
keytool -changealias -keystore <keystore name> -alias <current alias> -destalias <new alias>
Example:
keytool -changealias -keystore demokeystore1 -alias privatekey -destalias first_entry |
The response will be blank if the change is successful.
Step 7 -Â Verify New Alias
Repeat Step 5 and ensure the alias name is what is given in Step 6. The Keystore "demokeystore1" is ready to be used in the snaps with the passphrase given in Step 1.
Related Content
Have feedback? Email documentation@snaplogic.com | Ask a question in the SnapLogic Community
© 2017-2024 SnapLogic, Inc.