機密データの保護では、画像内の機密データを秘匿化できます。infoType 検出器と Cloud Vision を使用すると、機密データの保護で画像に含まれるテキストを調べて、テキスト内の機密データを検出し、一致する機密データを不透明な長方形で隠したものを含む画像を返します。
たとえば、次の「前」と「後」の画像について考えてみましょう。元の画像は、紙のドキュメントをスキャンして生成された一般的な画像ファイルの例です。この例では、内容に応じて色が異なる長方形を使用して、米国社会保障番号、メールアドレス、電話番号を秘匿化するように、機密データの保護は構成されています。
- 画像秘匿化前のスキャン画像
- 画像秘匿化後のスキャン画像
制限事項と考慮事項
画像に含まれるコンテンツを秘匿化する場合は、次の点を考慮してください。
サポートされているファイル形式
機密データの保護では、JPEG、BMP、PNG など、多くの画像タイプの機密データを秘匿化できます。詳細については、サポートされているファイル形式をご覧ください。
SVG、PDF、XLSX、PPTX、DOCX ファイルでの内容の秘匿化はサポートされていません。
検出結果の制限
画像に含まれるデータを秘匿化する場合は、検出結果の制限は適用されません。一部のデータのみが秘匿化されるため、予期しない結果または一貫性のない結果が生じる可能性があります。リクエストに FindingLimits
を含めると、機密データの保護によってエラーが発生します。
準備
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the DLP API.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart
. - Click Create and continue.
-
Grant the Project > Owner role to the service account.
To grant the role, find the Select a role list, then select Project > Owner.
- Click Continue.
-
Click Done to finish creating the service account.
Do not close your browser window. You will use it in the next step.
-
-
Create a service account key:
- In the Google Cloud console, click the email address for the service account that you created.
- Click Keys.
- Click Add key, and then click Create new key.
- Click Create. A JSON key file is downloaded to your computer.
- Click Close.
-
Set the environment variable
GOOGLE_APPLICATION_CREDENTIALS
to the path of the JSON file that contains your credentials. This variable applies only to your current shell session, so if you open a new session, set the variable again. - Install the Google Cloud CLI.
-
Configure the gcloud CLI to use your federated identity.
For more information, see Browser-based sign-in with the gcloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
画像にあるデフォルトの infoType すべてを秘匿化する
画像にある機密データを秘匿化するには、画像を DLP API の image.redact
メソッドに送信します。検索する特定の情報タイプ(infoTypes)を指定しない限り、機密データの保護は最も一般的な infoType を検索します。
画像にあるデフォルトの infoType を秘匿化するには、次のようにします。
画像を base64 文字列としてエンコードします。
機密データの保護クライアント ライブラリのいずれかを使用してこのタスクを実行する場合は、この手順をスキップします。
image.redact
メソッドにリクエストを送信します。デフォルトの infoType を秘匿化する場合は、リクエストに base64 エンコード画像のみが必要です。
たとえば、次の画像について考えてみます。これは、紙のドキュメントをスキャンして生成された一般的な画像ファイルの例です。
このイメージからデフォルトの infoType を秘匿化するには、次のリクエストを DLP API の image.redact
メソッドに送信します。
C#
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
PHP
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
REST
{ "byteItem": { "data": "[BASE64-ENCODED-IMAGE]", "type": "IMAGE_JPEG" } }
機密データの保護は、以下を返します。
{ "redactedImage": "[BASE64-ENCODED-IMAGE]" }
base64 エンコードされた画像をデコードします。
生成された画像は次のようになります。
手書きの社会保障番号、メールアドレス、電話番号が隠されているのに加えて、機密データの保護によって年が秘匿化されていることに注意してください。次のセクションでは、特定の infoType のみを秘匿化する方法を説明します。
画像にある特定の infoType を秘匿化する
画像にある特定の機密データのみを秘匿化する場合は、対応する組み込みの infoType を指定します。
画像にある特定の infoType を秘匿化するには、DLP API の image.redact
メソッドにリクエストを送信します。リクエストには以下を含める必要があります。
- 画像
- 1 つ以上の infoType 検出器
前のセクションの元の画像について考えてみます。米国社会保障番号、メールアドレス、電話番号のみを削除するには、次の JSON を DLP API の image.redact
メソッドに送信します。
C#
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
PHP
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
REST
{ "byteItem": { "data": "[BASE64-ENCODED-IMAGE]", "type": "IMAGE_JPEG" }, "imageRedactionConfigs": [ { "infoType": { "name": "US_SOCIAL_SECURITY_NUMBER" } }, { "infoType": { "name": "EMAIL_ADDRESS" } }, { "infoType": { "name": "PHONE_NUMBER" } } ] }
機密データの保護は、以下を返します。
{ "redactedImage": "[BASE64-ENCODED-IMAGE]" }
base64 エンコードされた画像をデコードします。
生成された画像は次のようになります。
何が秘匿化されたかを一目で把握したい場合は、秘匿化された情報を infoType で色分けできます。詳細については、次のセクションをご覧ください。
画像にある infoType を色分けして秘匿化する
infoType で秘匿化する情報を色分けするには、infoType 検出器と RGB 色空間値を組み合わせます。
画像内の秘匿化する infoType を色分けするには、DLP API の image.redact
メソッドにリクエストを送信します。リクエストには以下を含める必要があります。
- 画像
- 1 つ以上の infoType 検出器。それぞれの検出器には RGB 色空間値を使用して色が割り当てられます。
最初のセクションの元の画像について考えてみます。米国社会保障番号を紫色のボックス、メールアドレスを緑色のボックス、電話番号をオレンジ色のボックスで秘匿化するには、次の JSON を DLP API の image.redact
メソッドに送信します。
C#
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
PHP
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
REST
{ "byteItem": { "data": "[BASE64-ENCODED-IMAGE]", "type": "IMAGE_JPEG" }, "imageRedactionConfigs": [ { "infoType": { "name": "US_SOCIAL_SECURITY_NUMBER" }, "redactionColor": { "red": 0.3, "green": 0.1, "blue": 0.6 } }, { "infoType": { "name": "EMAIL_ADDRESS" }, "redactionColor": { "red": 0.5, "blue": 0.5, "green": 1 } }, { "infoType": { "name": "PHONE_NUMBER" }, "redactionColor": { "red": 1, "blue": 0, "green": 0.6 } } ] }
機密データの保護は、以下を返します。
{ "redactedImage": "[BASE64-ENCODED-IMAGE]" }
base64 エンコードされた画像をデコードします。
生成された画像は次のようになります。
画像のすべてのテキストを秘匿化する
機密データの保護には、画像内で検出されたすべてのテキストを秘匿化するオプションもあります。
画像内のすべてのテキストを秘匿化するには、DLP API の image.redact
メソッドにリクエストを送信します。リクエストには以下を含める必要があります。
- 画像
redactAllText
オプションをtrue
に設定します。
最初のセクションの元の画像について考えてみます。すべてのテキストを秘匿化するには、次の JSON を DLP API の image.redact
メソッドに送信します。
C#
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
PHP
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
REST
{ "byteItem": { "data": "[BASE64-ENCODED-IMAGE]", "type": "IMAGE_JPEG" }, "imageRedactionConfigs": [ { "redactAllText": true } ] }
機密データの保護は、以下を返します。
{ "redactedImage": "[BASE64-ENCODED-IMAGE]" }
base64 エンコードされた画像をデコードします。
指定した画像と同じ画像が API から返されますが、機密情報を含むと判断されたテキストはすべて秘匿化されます。
生成された画像は次のようになります。
可能性の設定によるコードサンプル
この例は、画像にある特定の infoType を秘匿化するに似ています。また、最小の可能性を指定する方法についても説明します。
C#
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
PHP
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
試してみる
image.redact
のリファレンス ページの API Explorer で、このページの各例を試すことができます。また、独自の画像を使用して試すこともできます。
次のステップ
- 画像の検査と秘匿化の詳細を確認する。
- 機密データの保護によるセンシティブ データの削除の Codelab に取り組む。
- 画像の機密データを検査する方法を学習する。
- データの匿名化されたコピーのストレージ内への作成について確認する。