【ServiceNow】Dynamic Translation (翻訳機能)②-1 Google Cloud Platform(GCP)での翻訳設定

こんにちは、メケです。

今回はGoogleが提供する『Google Cloud Platform』の翻訳サービスを利用するための設定手順を紹介します。

このような方に読んでもらいたいです。
  • ServiceNowの翻訳機能としてGoogle Cloud Platformを使用したい方
  • Google Cloud Platform での翻訳機能を試してみたい方

この記事の内容を行えば、ServiceNow等にて今回行った翻訳サービスを利用することができます

目次

Google Cloud Platformとは

Google Cloud PlatformとはGoogleによって提供されているクラウドサービスになります。
従量課金制にはなりますが一定量までは無料で使用することができます。

翻訳にはGCPの中の「Cloud Translation」というAPIを利用します。
送信した文字数に基づいて月単位で課金されますが、 1ヶ月あたり50万文字は無料で使えるので検証用には全く問題ないと思います。
※使用量が多くなると料金が発生するのでくれぐれも注意して下さい

Google Cloud Platform設定手順

プロジェクト作成

Google Cloud Platformへの登録ができた後は下の画面のようなものが表示されます。

ヘッダー部分のGoogle Cloud Platform横の赤枠部をクリックします。

右上の「新しいプロジェクト」をクリックします。

新しいプロジェクトを作成するために、プロジェクト名を入力します。

設定が必要な項目

プロジェクト名: ”Translate Project”  ※任意の名前でOK

入力後、「作成」ボタンをクリックします。

APIの有効化

左上のナビゲーションメニュー(三本線)より[APIとサービス]▶[ダッシュボード]をクリックします。

「+APIとサービスの有効化」をクリックします。

上部の検索窓にて”Translation”と入力し、検索すると「Cloud Translaion API」が表示されるのでクリックします。

以下の画面で「有効にする」ボタンをクリックします。

サービスアカウントの作成

左上のナビゲーションメニュー(三本線)より

[IAMと管理]▶[サービスアカウント] をクリックします。

[サービスアカウントを作成]をクリックします。

サービスアカウントの詳細

サービスアカウント名に任意の名前を入力します。

設定が必要な項目

サービスアカウント名 : ”translator”  ※任意の名前でOK

入力後、「作成して続行」ボタンをクリックします。

ロールの設定

ロールを設定します。

設定が必要な項目

ロール: 閲覧者  ※ここでは左記の設定とします。

「完了」ボタンをクリックします。

キーの作成

作成したサービスアカウントでキーの作成を行います。

サービスアカウントを選択

メール(アドレス)をクリックして下さい。

新しい鍵を作成

以下のような画面になりますので上部で[キー]をクリックします。

下部に表示される[鍵を追加]▶[新しい鍵を作成]をクリックします。

キーのタイプを選択

秘密鍵のタイプとしてJSONを選択して作成します。

設定が必要な項目

キーのタイプ:JSON

[作成]をクリックします。

秘密鍵の保存

以下のような画面が表示されます。

 jsonファイルがダウンロードフォルダなどに作成されたかと思います。

私はこんな感じのファイル名でした。

translate-project-999999-xxxxxxxxx.json

このファイルを任意の場所(C:\work など)にコピーしておきましょう。

テキストエディタにて中身を確認すると、以下のような感じになっています。

JSONファイルの中身

{
“type”: “service_account”,
project_id“: “translate-project-999999”,
private_key_id“: “xxxxxxxx”,
private_key“: “—–BEGIN PRIVATE KEY—–(中略)—-END PRIVATE KEY—–\n”,
client_email“: “translator@third-node-999999.iam.gserviceaccount.com”,

“client_id”: “XXXXXXXXXXXXXXXXXXXXXXXX”,
“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/translator%40third-node-999999.iam.gserviceaccount.com”
}

以下をこの後の設定に使用することになります。

  • project_id
    • (ServieNow)sn_google_trans.GoogleTranslation の ”google”画面
  • private_key
    • privatekey.pemの作成
  • client_email
    • (ServieNow)JWT providerのiss
  • client_x509_cert_url
    • certificate.pemの作成

各種証明書ファイル作成手順

pemファイルの作成

続いてpemファイルを作成していきます。

pemファイルとは・・・

X.509証明書の拡張子 .pemは、Base64で符号化された証明書です。.pem SSL サーバ証明書(連結SSLサーバ証明書)では複数のサーバ証明書を1ファイルに連結させることができ、SSLサーバ証明書のインストール用によく使われます。

国内第1号digicert正規販売代理店である RMS 様のサイトより引用https://rms.ne.jp/sslserver/basis/pem-ssl-creation/

作成が必要なpemファイルは以下の2つです。

  • privatekey.pem ▶秘密鍵用
  • certificate.pem ▶証明書用

改行コード変換

JSONファイルに記載されているKey情報には改行文字(\n)が記載されています。
この改行文字は変換する必要があります。任意のサイトやツールで簡単に変換することが可能です。
私は以下のサイトを利用させていただきました。

JSONファイルのエスケープはコチラ

使い方は以下のようにテキストエリアにKEY情報をコピペし、「UNESCAPE」ボタンをクリックします。

すると、改行を表す”\n”が”CRLF”の改行となりますのでこれをコピペして使います。

privatekey.pemの作成

まずは「privatekey.pem」ファイルの作成から行います。

先程サービスアカウントでキーを作成した時のJSONファイルの中のprivate_keyを使用します。

JSONファイルの改行コードを変換したものを任意のテキストエディタで保存して以下のようなファイルを作成します。

private_keyがわからない方はコチラに戻って確認してみて下さい。

ファイル名は「privatekey.pem」とします。

certificate.pemの作成

お次は「certificate.pem」ファイルの作成を行います。

今度は、先程サービスアカウントでキーを作成した時のJSONファイルの中のclient_x509_cert_urlに記載のあるURLをブラウザで実行すると以下のようなものが表示されます。

BEGIN CERTIFICATE~END CERTIFICATE が1つの固まりとなっています。

BEGIN CERTIFICATEの前に記載されているキーがprivate_key_idのキーと一致するものを使用します。

ファイル名は「certificate.pem」とします。

client_x509_cert_url private_key_idがわからない方はコチラに戻って確認してみて下さい。


.p12証明書ファイルの作成

これまでに以下のファイルを作成できました。

  • privatekey.pem ▶秘密鍵用
  • certificate.pem ▶証明書用

任意のフォルダにファイルを格納します。

次は、これらのファイルを使い「.p12証明書ファイル」を作成します。

.p12証明書ファイルとは・・・
PKCS#12またはPFX形式は、サーバー証明書、中間証明書、および秘密鍵を単一の暗号化可能なファイルに格納するためのバイナリ形式です。 PFXファイルは通常、拡張子.pfxおよび.p12で検出されます。 PFXファイルは通常、WindowsおよびmacOSマシンで証明書と秘密鍵をインポートおよびエクスポートするために使用されます。

https://www.ssl.com/ より引用

OpenSSLダウンロード(Windowsのみ事前に必要)

OpenSSL というコマンドを使用していきます。

Linux・Unix・macOSには初めから含まれているようですが、Windowsでは予めインストールしておく必要があります。

以下のサイトからダウンロードできます。

OpenSSLのダウンロードはコチラ
※新しいタブで開かれます。

ご自身の環境に応じて32bit版か64bit版を選択して下さい。”Light”がついているものが軽量のものになります。今回の用途でのみ使用するのであれば”Light”で問題ありません

環境変数の”path”にOpenSSLのインストールフォルダのパスを追加しておくと便利です。pathが有効になるのはアプリケーションを再起動した際です。コマンドプロンプトを開いている場合は立ち上げ直しましょう。

OpenSSLコマンド実行

OpenSSLをインストールできたら、以下のコマンドを使用して「.p12証明書ファイル」を作成します。

実行するコマンド

openssl pkcs12 -export -in certificate.pem -inkey privatekey.pem -certfile certificate.pem -out translatekeystrore.p12

青太字:作成するのに使用するファイル(pemファイル

赤太字:作成されるファイル(.p12証明書ファイル)

コマンド実行後は以下を聞かれます。

Enter Export Password:

エクスポート用のパスワードを入力して下さい。と言われているので任意のパスワードを入力して下さい。このパスワードは後で使いますので覚えておいて下さい。

Verifying - Enter Export Password:

パスワードの確認です。先程入力したパスワードと同じパスワードを入力してください。

ここで設定したパスワードは以下で使用します。

・.jksファイルの作成時の”ソース・キーストアのパスワード”

これで.p12証明書ファイルができました。

.jksファイルの作成

続いてKeytoolというものを使用してJKSファイルというものを作成します。

JKSファイルとは・・・
一連の暗号化キーまたは証明書をバイナリのJavaキーストア(JKS)形式で格納するために使用される暗号化されたセキュリティファイル

Keytoolを使用するにはJRE(Java Runtime Environment)が必要となります。インストールしていない方はOracleのダウンロードサイトからダウンロードしてインストールし下さい。

JREのダウンロードはコチラから

以下のコマンドで「jksファイル」を作成します。

実行するコマンド

keytool -importkeystore -srckeystore translatekeystrore.p12 -srcstoretype pkcs12 -destkeystore trans.jks -deststoretype JKS

青太字:作成するのに使用するファイル(.p12証明書ファイル)

赤太字:作成されるファイル(.jksファイル)

今回はパスワードを3回求められます。

出力先キーストアのパスワードを入力してください: 
新規パスワードを再入力してください:

1,2回目は任意のパスワードを入力します。6文字以上という制約があります。

ここで設定したパスワードは以下で使用します。
・(ServiceNow)X.509 CertificatesのKey store password

ソース・キーストアのパスワードを入力してください:

3回目のパスワードは 「.p12証明書ファイル」を作成した時のパスワードを入力します。

まとめ

今回は以下を行いました。

  • Google Cloud Platform での翻訳サービスを使用するための設定
  • 各種証明書ファイルの作成

これでGoogleの翻訳サービスを使用する準備はできました。

Google Cloud Platform を学ぶなら以下もチェック
【最速で学ぶ - Google Cloud Platform(GCP)入門完全攻略コース】

次回

翻訳サービスプロバイダとしてGoogle社が提供するGoogle Cloud Platformを使用して ServiceNowで翻訳機能を試したい方は、以下の記事を参考にServiceNowとの連携設定をして下さい。

あわせて読みたい
【ServiceNow】Dynamic Translation(翻訳機能)③-1 連携設定を解説~Google Cloud Platform(GCP)編~ こんにちは、メケです。 ServiceNow のDynamic Translation というプラグインを使用すると様々な言語で記載された内容を、ユーザーが使用する言語に変換することが可能...

動的翻訳設定におけるまとめ記事は以下になります。

あわせて読みたい
【ServiceNow】Dynamic Translation(翻訳機能)まとめ ~設定方法を画像つき日本語で徹底解説~ こんにちは、メケです。 この記事ではServiceNowに関わる方に対して、翻訳機能の紹介および詳細な設定方法を解説していきます。 プラグインを使用することで難しいプロ...
よかったらシェアお願いします
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

IT業界で10年以上働くエンジニアです。

ServiceNowを通じて様々な事を学び、発信していきたいです。

■ServiceNow保有資格
 CSA(Certified System Administrator)
 CAD(Certified Application Developer)

コメント

コメントする

CAPTCHA


目次