認証情報の管理

次の表に、アプリが管理する必要がある認証情報をまとめます。アプリのタイプについて詳しくは、Google Identity OAuth 2.0 ドキュメントをご覧ください。

認証ワークフロー 認証情報 認証情報の種類 目的

JavaScript ウェブアプリ

Android アプリ

OAuth クライアント ID アプリの認証情報 OAuth フロー中にアプリを一意に識別します。
アクセス トークンと更新トークン ユーザー認証情報 アプリがユーザーに代わって Google 広告アカウントにアクセスすることを許可するユーザーの承認を表します。

サーバーサイドのウェブアプリ

デスクトップ アプリと iOS アプリ

テレビとデバイスのアプリ

OAuth クライアント ID とクライアント シークレット アプリの認証情報 OAuth フロー中にアプリを一意に識別します。
アクセス トークンと更新トークン ユーザー認証情報 アプリがユーザーに代わって Google 広告アカウントにアクセスすることを許可するユーザーの承認を表します。
サービス アカウント OAuth サービス アカウント キー アプリの認証情報 OAuth リクエストの署名に使用されます。
サービス アカウントのアクセス トークン ユーザー認証情報 ユーザーが Google 広告アカウントをサービス アカウントと共有したときのサービス アカウントの承認を表します。

Google 広告 API アプリの認証情報を管理する際は、次の点について考慮する必要があります。

アプリの認証情報を安全に処理する

アプリの認証情報とは、アプリに固有の設定であり、ユーザーごとに異なるものではありません。OAuth アプリの認証情報は、アプリの ID を使用してユーザー情報にアクセスできるため、厳重に管理してください。OAuth アプリの認証情報は、パスワードと同様に安全な場所に保管し、保護してください。可能であれば、Google Cloud Secret Manager などのシークレット マネージャーを使用して、アプリの認証情報を保存します。クライアント認証情報を一般公開されているコード リポジトリにコミットしてはなりません。コード リポジトリにコミットしないことを強くおすすめします。

ユーザー認証情報を安全に処理する

ユーザー認証情報とは、ユーザーの認可を表す OAuth トークンを指します。ユーザーは、アプリを直接認証するか、Google 広告アカウントをサービス アカウントと共有することで、ユーザーに代わって行動し、データにアクセスする権限をユーザーから付与されます。トークンをプレーンテキストで送信しないでください。また、データ漏洩が発生した場合に備えて、暗号化されたトークンを常に保存してください。ユーザーのアカウントへのアクセスが不要になった場合は、トークンまたはサービス アカウントの権限を取り消します。トークンを取り消したら、アプリケーションまたはシステムから完全に削除します。

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

ユーザー認証フローを使用する場合は、更新トークンはいつでも無効にできることに注意してください。たとえば、マルチユーザー認証フローを使用している場合、ユーザーはアプリへのアクセスを取り消すことができます。シングル ユーザー認証フローを使用しているアプリは、このような影響を受けにくいですが、ユーザーを保護するために設計された手動または自動プロセスによって更新トークンが削除されたり、更新トークンの有効期限が切れたりする可能性があります。アプリでユーザーに優れたエクスペリエンスを提供するためにトークンの取り消しに関する通知が必要な場合は、クロスアカウント保護機能サービスと統合する必要があります。

API リクエスト間でユーザー認証情報を再利用する

OAuth アクセス トークンの有効期間は短く、1 時間後に期限切れになります。Google Ads API クライアント ライブラリを使用する場合、ライブラリはアクセス トークンの有効期限と更新をスレッドセーフな方法で処理します。適切な OAuth 認証情報を使用して Google Ads API クライアント オブジェクトを作成し、そのライフサイクル全体で再利用します。

独自のアクセス トークンの更新と管理戦略を構築する場合は、アクセス トークンの有効期限を追跡し、有効期限が切れるまでトークンを再利用します。トークンの更新をリクエストすると、認可サーバーは新しいアクセス トークンと残りの有効期間(秒単位)(expires_in)を返します。有効期限が切れるまで 5 分未満になった場合は、アクセス トークンを事前に更新することをおすすめします。