このページでは、Speech-to-Text 暗号鍵を設定し Speech-to-Text リソースを暗号化する方法について説明します。
Speech-to-Text では、Cloud Key Management Service の暗号鍵が用意されており、その鍵でデータを暗号化します。暗号化の詳細については、暗号化ページをご覧ください。
始める前に
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
-
Speech-to-Text API を有効にします。
-
プロジェクトに次のロールがあることを確認します。 Cloud Speech Administrator
ロールを確認する
-
Google Cloud コンソールの [IAM] ページに移動します。
[IAM] に移動 - プロジェクトを選択します。
-
[プリンシパル] 列で、自分のメールアドレスを含む行を見つけます。
自分のメールアドレスがその列にない場合、ロールは割り当てられていません。
- 自分のメールアドレスを含む行の [ロール] 列で、ロールのリストに必要なロールが含まれているかどうかを確認します。
ロールを付与する
-
Google Cloud コンソールの [IAM] ページに移動します。
[IAM] に移動 - プロジェクトを選択します。
- [ アクセスを許可] をクリックします。
- [新しいプリンシパル] フィールドに、自分のメールアドレスを入力します。
- [ロールを選択] リストでロールを選択します。
- 追加のロールを付与するには、 [別のロールを追加] をクリックして各ロールを追加します。
- [保存] をクリックします。
-
- Google Cloud CLI をインストールします。
-
gcloud CLI を初期化するには:
gcloud init
-
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
-
Speech-to-Text API を有効にします。
-
プロジェクトに次のロールがあることを確認します。 Cloud Speech Administrator
ロールを確認する
-
Google Cloud コンソールの [IAM] ページに移動します。
[IAM] に移動 - プロジェクトを選択します。
-
[プリンシパル] 列で、自分のメールアドレスを含む行を見つけます。
自分のメールアドレスがその列にない場合、ロールは割り当てられていません。
- 自分のメールアドレスを含む行の [ロール] 列で、ロールのリストに必要なロールが含まれているかどうかを確認します。
ロールを付与する
-
Google Cloud コンソールの [IAM] ページに移動します。
[IAM] に移動 - プロジェクトを選択します。
- [ アクセスを許可] をクリックします。
- [新しいプリンシパル] フィールドに、自分のメールアドレスを入力します。
- [ロールを選択] リストでロールを選択します。
- 追加のロールを付与するには、 [別のロールを追加] をクリックして各ロールを追加します。
- [保存] をクリックします。
-
- Google Cloud CLI をインストールします。
-
gcloud CLI を初期化するには:
gcloud init
-
Google アカウントのローカル認証情報を作成します。
gcloud auth application-default login
クライアント ライブラリは、アプリケーションのデフォルト認証情報を使用することによって、Google API で簡単に認証を行い、これらの API にリクエストを送信できます。アプリケーションのデフォルト認証情報を使用すると、ベースとなるコードを変更することなく、ローカルでのアプリケーションのテストやアプリケーションのデプロイが可能です。詳しくは、<atrack-type="commonincludes" l10n-attrs-original-order="href,track-type,track-name" l10n-encrypted-href="WDE63JFVMK0YqIWBqG8nCycgwkRfOeEqRvzYs1N+2tJUEhcZvE5VtDH5LoWw0lj/" track-name="referenceLink">クライアント ライブラリを使用して認証する</atrack-type="commonincludes">をご覧ください。
また、クライアント ライブラリがインストールされていることを確認してください。
Cloud Key Management Service 鍵へのアクセスを有効にする
Speech-to-Text はサービス アカウントを使用して Cloud KMS 鍵にアクセスします。デフォルトでは、サービス アカウントは Cloud KMS 鍵にアクセスできません。
サービス アカウントのメールアドレスは次のとおりです。
service-PROJECT_NUMBER@gcp-sa-speech.iam.gserviceaccount.com
Cloud KMS 鍵を使用して Speech-to-Text リソースを暗号化するには、このサービス アカウントに roles/cloudkms.cryptoKeyEncrypterDecrypter
ロールを付与します。
gcloud projects add-iam-policy-binding PROJECT_NUMBER \
--member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-speech.iam.gserviceaccount.com \
--role=roles/cloudkms.cryptoKeyEncrypterDecrypter
プロジェクトの IAM ポリシーの詳細については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
Cloud Storage へのアクセスの管理の詳細については、Cloud Storage ドキュメントのアクセス制御リストの作成と管理をご覧ください。
暗号鍵を指定する
次に、Config
リソースを使用して Speech-to-Text に暗号鍵を提供する例を示します。
Python
暗号鍵がプロジェクトの [Config
] リソースで指定されている場合、対応するロケーションで作成された新しいリソースは、この鍵を使用して暗号化されます。暗号化される内容と条件について詳しくは、暗号化ページをご覧ください。
暗号化されたリソースには、Speech-to-Text API レスポンスで kms_key_name
フィールドと kms_key_version_name
フィールドが入力されます。
暗号化を解除する
暗号鍵で今後のリソースが暗号化されないようにするには、上記のコードを使用して、リクエストの鍵として空の文字列(""
)を指定します。これにより、新しいリソースが暗号化されなくなります。このコマンドは、既存のリソースを復号しません。
鍵のローテーションと削除
鍵のローテーション時に、前のバージョンの Cloud KMS 鍵で暗号化されたリソースは、そのバージョンで暗号化されたままになります。鍵のローテーション後に作成されたリソースは、鍵の新しいデフォルト バージョンで暗号化されます。鍵のローテーション後に(Update*
メソッドを使用して)更新されたリソースは、鍵の新しいデフォルト バージョンで再度暗号化されます。
鍵の削除時に、Speech-to-Text はデータの復号やリソースの作成を行うことができません。また、削除された鍵で暗号化されたリソースにアクセスすることもできません。同様に、鍵の Speech-to-Text の権限を取り消すと、Speech-to-Text はデータの復号やリソースの作成を行うことができなくなります。また、Speech-to-Text の権限を取り消された鍵で暗号化されたリソースにアクセスできなくなります。
データを再暗号化する
リソースを再暗号化するには、Config
リソースの鍵仕様を更新した後に、リソースごとに対応する Update*
メソッドを呼び出します。
クリーンアップ
このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の操作を行います。
-
作成した認証情報を取り消して、ローカル認証情報ファイルを削除します。
gcloud auth application-default revoke
-
(省略可)gcloud CLI から認証情報を取り消します。
gcloud auth revoke
コンソール
gcloud
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID
次のステップ
- Speech-to-Text で暗号鍵を指定する際に暗号化される内容について学習する。
- ストリーミング音声を文字に変換する方法を学習する。
- 長い音声ファイルを文字に変換する方法を学習する。
- 短い音声ファイルの文字変換を行う。
- 最高のパフォーマンスと精度を実現するための方法やヒントを確認する。ベスト プラクティスのドキュメントをご覧ください。