Set up the Google Cloud Translator Service spoke
Integrate your Google account with your ServiceNow instance.
Before you begin
- Request an Integration Hub subscription.
- Activate the Google Cloud Translator Service spoke.
- Create a service account on Google Cloud, generate a service account key of JSON type and download it. For information on creating the service account key, see the Google documentation.
- Enable the Cloud Translation API service. For information on enabling a service, see the Google documentation.
- Role required: admin
Create a Java KeyStore certificate
Encrypt the security certificates obtained from Google by creating a Java KeyStore (JKS) file.
Before you begin
- Role required: admin
Download a JSON file containing the service account key from Google. For information on downloading the JSON file, see the Google documentation. Following is a sample JSON file:
{ "type": "service_account", "project_id": "primeval-nectar-242610", "private_key_id": "0c6c7b1511f1c236c1300c5933d528bbf45314e5", "private_key": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n", "client_email": "service-now-google-trans-v3@primeval-nectar-242610.iam.gserviceaccount.com", "client_id": "113255944370425109391", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/service-now-google-trans-v3%40primeval-nectar-242610.iam.gserviceaccount.com" }
Procedure
In the JSON file, perform the following for the
private_keyvalue.Unescape the
\ncharacters.Tip: To unescape characters in a JSON file, you can parse a JSON string into a JavaScript object.
Store the private key in a file with .pem extension.
In the JSON file, perform the following for the
client_x509_cert_urlvalue.Open the link specified for
client_x509_cert_url.Unescape the
\ncharacters for the certificate associated with the private_key_id mentioned in the JSON file.Store the certificate value in a file with .pem extension.
Use the openssl command to create a PKCS 12 file using the recently created private key and certificate files.
openssl pkcs12 -export -in [path to certificate] -inkey [path to private key] -certfile [path to certificate ] -out testkeystore.p12For example, if certificate.pem is the certficate and privatekey.pem is the private key:
openssl pkcs12 -export -in certificate.pem -inkey privatekey.pem -certfile certificate.pem -out testkeystore.p12A PKCS 12 file, testkeystore.p12, is created.
Specify an export password or source keystore password.
Note: You should specify this password when creating a JWT key for Google Cloud Translator Service spoke.
Use the keytool command to create a JKS file from the PKCS 12 file.
keytool -importkeystore -srckeystore testkeystore.p12 -srcstoretype pkcs12 -destkeystore wso2carbon.jks -deststoretype JKSNote: testKeyStore.p12 is the PKCS 12 file and wso2carbon.jks is the JKS file.
Specify a destination keystore password.
Note: You should specify this password when attaching a JKS certificate to Google Cloud Translator Service spoke.
Attach a Java KeyStore certificate to Google Cloud Translator Service spoke
Enable the JWT client authentication by attaching a valid Java KeyStore (JKS) certificate to Google Cloud Translator Service spoke.
Before you begin
- Role required: admin
- Valid Java KeyStore certificate
Procedure
Navigate to All > System Definition > Certificates.
Click New.
On the form, fill in the fields.
Field Description Name Identifier of the certificate. Notify on expiration Users to be notified when the certificate expires. Warn in days to expire Number of days to send a notification before the certificate expires. Active Option to activate the certificate. Type Type of the certificate. Select Java Key Store. Expires in days Number of days until the certificate expires. Key store password Password to access the certificate. Use the destination keystore password specified when creating the JKS certificate. For more information on this password, see Create a Java KeyStore certificate. Short description Summary about the certificate. Click the manage attachments icon (
Attachments icon\) and attach a JKS certificate.
To validate the JKS certificate, click Validate Stores/Certificates.
Click Submit.
Create a JWT signing key for Google Cloud Translator Service spoke
Assign a JSON Web Token (JWT) signing key to your Java KeyStore certificate.
Before you begin
Role required: admin
Procedure
Navigate to All > System OAuth > JWT Keys.
Click New.
On the form, fill in the fields.
Field Description Name Identifier of the JWT signing key. Signing Keystore Valid JKS certificate for which you want to assign the key. Key Id Key ID to identify which key is used when multiple keys are used to sign tokens. Signing Algorithm Algorithm to sign with the key. Signing Key Password Password associated with the key. Use the export password or the source keystore password specified when creating the JKS certificate. For more information on this password, see Create a Java KeyStore certificate. Active Option to activate the key. Click Submit.
Create a JWT provider for Google Cloud Translator Service spoke
Add a JSON Web Token (JWT) provider to Google Cloud Translator Service spoke.
Before you begin
Role required: admin
Procedure
Navigate to All > System OAuth > JWT Providers.
Click New.
On the form, fill in the fields.
Field Description Name Identifier of the JWT provider. Expiry Interval (sec) Number of seconds that indicate the lifespan of the JWT provider token. Specify 3600.Signing Configuration JWT signing key. Right-click the form header, and click Save.
In the Standard Claims related list, enter the values for these claims.
Claim name Claim value aud https://www.googleapis.com/oauth2/v4/token iss client_email value from the JSON file. In the Custom Claims related list, create the scope claim and enter its value as
https://www.googleapis.com/auth/cloud-translation.Click Update.
Configure the credential for the GoogleTranslation alias
Authorize actions of Google Cloud Translator Service spoke by configuring the Google OAuth 2.0 credential.
Before you begin
Role required: admin
Procedure
Navigate to All > Connections & Credentials > Credentials.
Select the Google OAuth 2.0 credential.
Open the record specified in the OAuth Entity Profile field.
In the JWT Provider field, specify the JWT provider that you want to use.
Click Update.
To verify if an OAuth Access token is generated to connect to Google's translation services, click the Get OAuth Token related link of the Google OAuth 2.0 credential.
Configure the connection attributes for the GoogleTranslation alias
Connect to the Google's translation service by configuring the Google connection. Provide information that is used by HTTP(s) actions or activities to connect to that service.
Before you begin
Role required: connection_admin
Procedure
Navigate to All > Connections & Credentials > Connections.
Open for the record for Google.
In the Attributes related list of the HTTP(S) Connection form, fill in the fields.
| Field | Value required |
|---|---|
| location | Location of the customer. If the value is not specified when creating an account on Google Cloud, then specify `global`. |
| project\_id | Identifier of a project. Specify the project_id value from the JSON file. |
| version | API version that the related spokes are built for. The default value is `v3beta1`.Because Google now supports the v3 version, you can override this value as `v3`. |
- Right-click the form header and click Save.