認証情報を保護する

このガイドでは、アプリケーションとユーザーの認証情報の安全性を確保する方法について説明します。

OAuth アプリの確認を完了する

Google Ads API の OAuth 2.0 スコープは制限付きスコープに分類されているため、アプリケーションを本番環境に導入する前に、OAuth アプリケーションの確認プロセスを完了する必要があります。詳細については、Google Identity のドキュメントヘルプセンターの記事をご覧ください。

アプリケーションの認証情報を保護する

アプリケーションの OAuth 2.0 クライアント ID とクライアント シークレットを保護する必要があります。これらの認証情報は、ユーザーと Google がアプリケーションを識別するうえで役立つため、慎重に取り扱う必要があります。これらのアプリケーションの認証情報は パスワードのように扱う必要があります公開フォーラムへの投稿、認証情報を含む構成ファイルをメールの添付ファイルで送信する、認証情報のハードコード、コード リポジトリへの commit など、安全でないメカニズムを使用して共有しないでください。可能であれば、Google Cloud Secret ManagerAWS Secret Manager などのシークレット マネージャーを使用することをおすすめします。

OAuth 2.0 クライアントのシークレットが不正使用された場合は、リセットできます。開発者トークンはリセットすることもできます。

開発者トークンを保護する

開発者トークンを使用すると、アカウントへの API 呼び出しを行うことができますが、呼び出しに使用できるアカウントに制限はありません。その結果、不正使用された開発者トークンを第三者が使用して、アプリに関連付けられた呼び出しを行う可能性があります。このシナリオを回避するには、次の予防策を講じます。

  • 開発者トークンはパスワードのように扱います。公開フォーラムへの投稿や、デベロッパー トークンを含む構成ファイルをメールの添付ファイルとして送信するなど、安全でないメカニズムを使用してトークンを共有しないでください。可能であれば、Google Cloud Secret ManagerAWS Secret Manager などの Secret Manager を使用することをおすすめします。

  • 開発者トークンが不正使用された場合は、トークンをリセットする必要があります。

    • Google Ads API のお申し込み時に使用した Google 広告 MCC アカウントにログインします。
    • [ツールと設定] > [API センター] に移動します。
    • [開発者トークン] の横にあるプルダウン矢印をクリックします。
    • [Reset token] リンクをクリックします。古い開発者トークンは直ちに機能しなくなります。
    • 新しい開発者トークンを使用するように、アプリケーションの本番環境設定を更新します。

サービス アカウントを保護する

Google Ads API で適切に機能するには、サービス アカウントに対してドメイン全体のなりすましが必要です。また、ドメイン全体のなりすましを設定するには、Google Workspace のユーザーである必要があります。そのため、Google Ads API 呼び出しを行う際は、サービス アカウントを使用しないことをおすすめします。ただし、サービス アカウントを使用する場合は、次のように保護する必要があります。

ユーザー トークンを保護する

アプリが複数のユーザーを承認している場合は、ユーザーの更新トークンとアクセス トークンを保護するために、追加の手順を行う必要があります。トークンは安全に保管し、書式なしテキストで送信しないでください。プラットフォームに適した安全なストレージ システムを使用してください。

更新トークンの取り消しと期限切れを処理する

アプリが承認の一環として OAuth 2.0 更新トークンをリクエストする場合は、その無効化または有効期限も処理する必要があります。更新トークンはさまざまな理由で無効になる可能性があるため、アプリは、次回のログイン セッションでユーザーを再認証するか、必要に応じてデータをクリーンアップして、適切な対応を行う必要があります。cron ジョブなどのオフライン ジョブでは、失敗したリクエストを続行するのではなく、更新トークンの有効期限が切れたアカウントを検出して記録する必要があります。Google では、API サーバーの安定性を維持するために、長時間にわたって高レベルのエラーを生成するアプリケーションをスロットリングする場合があります。

複数のスコープの同意を管理する

アプリが複数の OAuth 2.0 スコープの承認をリクエストした場合、リクエストしたすべての OAuth スコープがユーザーによって付与されない可能性があります。アプリでは関連する機能を無効にして、スコープの拒否を処理する必要があります。スコープを必要とする特定の機能を使用する意思をユーザーが明確に示した場合にのみ、再度ユーザーに表示できます。そのような場合は、段階的な承認を使用して、適切な OAuth スコープをリクエストします。

アプリの基本機能で複数のスコープが必要な場合は、同意を求める前に、この要件をユーザーに説明してください。