認証情報は、Google の認証サーバーからアクセス トークンを取得するために使用されます。これにより、アプリは Google Workspace API を呼び出すことができます。このドキュメントでは、アプリに必要な認証情報を選択して設定する方法について説明します。
最適なアクセス認証情報を選択する
必要な認証情報は、アプリのデータの種類、プラットフォーム、アクセス方法によって異なります。使用できる認証情報には次の 3 種類があります。
| ユースケース | 認証方法 | この認証方法について |
|---|---|---|
| アプリで一般公開されているデータに匿名でアクセスする。 | API キー | この認証方法を使用する前に、使用する API が API キーをサポートしていることを確認してください。 |
| メールアドレスや年齢などのユーザーデータにアクセスする。 | OAuth クライアント ID | アプリがユーザーに同意をリクエストして取得する必要があります。 |
| アプリが所有するデータ、特定の共有ドキュメント( Google スプレッドシートなど)にアクセスする。または、 ドメイン全体の委任を使用して、ユーザーに代わって Google Workspace リソースにアクセスする。 | サービス アカウント | アプリがサービス アカウントとして認証されると、アプリはサービス アカウントにアクセス権が付与されているすべての リソースにアクセスできます。 |
このページで使用されている用語の定義については、認証と 認可の概要をご覧ください。
API キー認証情報
API キーは、大文字、小文字、数字、アンダースコア、ハイフンを含む長い文字列です(例: AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe)。
この認証方法は、[このリンクを知っているインターネット上の全員] 共有設定を使用して共有された Google Workspace ファイルなど、一般公開されているデータに匿名でアクセスするために使用されます。詳細については、API
キーを管理するをご覧ください。
API キーを作成するには:
- Google Cloud コンソールで、メニュー アイコン > [API とサービス] > [認証情報] に移動します。
- [認証情報を作成] > [API キー] をクリックします。
- 新しい API キーが表示されます。
- Copy をクリックして、アプリのコードで使用する API キーをコピーします。API キーは、プロジェクトの認証情報の [API キー] セクションにもあります。
- 不正使用を防ぐため、API キーを使用できる場所と対象の API を制限することをおすすめします。 詳細については、 API 制限を追加するをご覧ください。
OAuth クライアント ID 認証情報
エンドユーザーを認証してアプリ内のユーザーデータにアクセスするには、1 つ以上の OAuth 2.0 クライアント ID を作成する必要があります。クライアント ID は、Google の OAuth サーバーで個々のアプリを識別するために使用します。アプリが複数のプラットフォームで実行される場合は、プラットフォームごとに個別のクライアント ID を作成する必要があります。OAuth クライアント ID を作成する手順については、アプリケーション タイプ を選択してください。
ウェブ アプリケーション
- Google Cloud コンソールで、メニュー アイコン > [Google 認証プラットフォーム] > [クライアント] に移動します。
- [クライアントの作成] をクリックします。
- [アプリケーションの種類] [>] [ウェブ アプリケーション] をクリックします。
- [名前] フィールドに、認証情報の名前を入力します。この名前は Google Cloud コンソールにのみ表示されます。
- アプリに関連する承認済み URI を追加します。
- [クライアントサイド アプリ(JavaScript)] – [承認済みの JavaScript オリジン] で [URI を追加] をクリックします。次に、ブラウザ リクエストに使用する URI を入力します。これにより、アプリケーションが OAuth 2.0 サーバーに API リクエストを送信できるドメインが識別されます。
- サーバーサイド アプリ(Java、Python など)–[承認済みのリダイレクト URI] で [URI を追加] をクリックします。次に、OAuth 2.0 サーバーがレスポンスを送信できるエンドポイント URI を入力します。
- [作成] をクリックします。
新しく作成した認証情報が [OAuth 2.0 クライアント ID] に表示されます。
クライアント シークレットはウェブ アプリケーションでは使用されません。
Android
- Google Cloud コンソールで、メニュー アイコン > [Google 認証プラットフォーム] > [クライアント] に移動します。
- [クライアントの作成] をクリックします。
- [アプリケーションの種類] [>] [Android] をクリックします。
- [名前] フィールドに、認証情報の名前を入力します。この名前は Google Cloud コンソールにのみ表示されます。
- [パッケージ名] フィールドに、
AndroidManifest.xmlファイルのパッケージ名を入力します。 - [SHA-1 証明書フィンガープリント] フィールドに、生成した SHA-1 証明書フィンガープリントを入力します。
- [作成] をクリックします。
新しく作成した認証情報が [OAuth 2.0 クライアント ID] に表示されます。
iOS
- Google Cloud コンソールで、メニュー アイコン > [Google 認証プラットフォーム] > [クライアント] に移動します。
- [クライアントの作成] をクリックします。
- [Application type] [>] [iOS] をクリックします。
- [名前] フィールドに、認証情報の名前を入力します。この名前は Google Cloud コンソールにのみ表示されます。
- [バンドル ID] フィールドに、アプリの
Info.plistファイルに記載されているバンドル識別子を入力します。 - 省略可: アプリが Apple App Store に表示される場合は、App Store ID を入力します。
- 省略可: [チーム ID] フィールドに、Apple によって生成され、チームに割り当てられている、10 文字からなる固有の文字列を入力します。
- [作成] をクリックします。
新しく作成した認証情報が [OAuth 2.0 クライアント ID] に表示されます。
Chrome 拡張機能
- Google Cloud コンソールで、メニュー アイコン > [Google 認証プラットフォーム] > [クライアント] に移動します。
- [クライアントの作成] をクリックします。
- [Application type] > [Chrome Extension] をクリックします。
- [名前] フィールドに、認証情報の名前を入力します。この名前は Google Cloud コンソールにのみ表示されます。
- [商品アイテム ID] フィールドに、アプリの一意の 32 文字の ID 文字列を入力します。この ID 値は、アプリの Chrome ウェブストアの URL と Chrome ウェブストア デベロッパー ダッシュボードで確認できます。
- [作成] をクリックします。
新しく作成した認証情報が [OAuth 2.0 クライアント ID] に表示されます。
デスクトップ アプリ
- Google Cloud コンソールで、メニュー アイコン > [Google 認証プラットフォーム] > [クライアント] に移動します。
- [クライアントの作成] をクリックします。
- [Application type] [>] [Desktop app] をクリックします。
- [名前] フィールドに、認証情報の名前を入力します。この名前は Google Cloud コンソールにのみ表示されます。
- [作成] をクリックします。
新しく作成した認証情報が [OAuth 2.0 クライアント ID] に表示されます。
テレビと入力が限られたデバイス
- Google Cloud コンソールで、メニュー アイコン > [Google 認証プラットフォーム] > [クライアント] に移動します。
- [クライアントの作成] をクリックします。
- [アプリケーションの種類] [>] [テレビと入力が限られたデバイス] をクリックします。
- [名前] フィールドに、認証情報の名前を入力します。この名前は Google Cloud コンソールにのみ表示されます。
- [作成] をクリックします。
新しく作成した認証情報が [OAuth 2.0 クライアント ID] に表示されます。
サービス アカウント認証情報
サービス アカウントは、ユーザーではなく、アプリケーションで使用される特別な種類のアカウントです。サービス アカウントを使用すると、ロボット アカウントでデータにアクセスしたり、アクションを実行したり、Google Workspace または Cloud Identity ユーザーに代わってデータにアクセスしたりできます。詳しくは、 サービス アカウントの概要をご覧ください。Google Cloud コンソールで構成された Identity and Access Management(IAM)ロールでは、Google Workspace アセット(スプレッドシートや Gmail など)へのアクセス権は付与されません。サービス アカウントに Google Workspace リソースへのアクセス権を付与するには、次のいずれかを使用します。
| アプリで次の操作が必要な場合... | 構成場所... |
|---|---|
| 特定のファイル(Google スプレッドシートなど)にアクセスする | サービス アカウントのメールアドレスとのファイルまたはフォルダの直接ドキュメント共有 |
| ドメイン管理を行う(Google Workspace ユーザーの作成など) | サービス アカウントに管理者ロールを直接割り当てる |
| ドメイン全体のユーザーデータにアクセスする(任意のユーザーの Gmail や Google カレンダーの予定の読み取りなど) | サービス アカウントにドメイン全体の委任を使用する権限を付与する |
サービス アカウントを作成する
サービス アカウントは、Google Cloud コンソールまたは gcloud コマンドライン ツールを使用して作成できます。
Google Cloud コンソール
-
Google Cloud コンソールで、メニュー アイコン
> [IAM と管理]
> [サービス アカウント] に移動します。
残りの手順は、Google Cloud コンソールに表示されます。
- Google Cloud プロジェクトを選択します。
- [サービス アカウントを作成] をクリックします。
- Google Cloud コンソールに表示するサービス アカウント名を入力します。
- アクセス制御を今すぐ設定しない場合は、[完了] をクリックしてサービス アカウントの作成を終了します。アクセス制御を今すぐ設定するには、[作成して続行] をクリックして次の手順に進みます。
- 省略可: サービス アカウントにロールを割り当てて、Google Workspace リソースに加えて Google Cloud プロジェクトのリソースへのアクセス権を付与します。詳細については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。
- [続行] をクリックします。
- 省略可: このサービス アカウントで管理とアクションの実行ができるユーザーまたはグループを入力します。詳細については、サービス アカウントの権限借用をご覧ください。
- [完了] をクリックして、サービス アカウントの作成を完了します。
サービス アカウントのメールアドレスをメモします。
gcloud CLI
- サービス アカウントを作成します。
gcloud iam service-accounts createSERVICE_ACCOUNT_NAME\ --display-name="SERVICE_ACCOUNT_NAME" - 省略可: サービス アカウントにロールを割り当てて、Google Workspace リソースに加えて Google Cloud プロジェクトのリソースへのアクセス権を付与します。詳細については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。
サービス アカウントを使用して Google Workspace ファイルに直接アクセスする
アプリで特定のファイル(Google スプレッドシートや Google ドライブ フォルダなど)の読み取りまたは書き込みのみが必要な場合は、管理者ロールを割り当てたり、ドメイン全体の委任を構成したりする必要はありません。代わりに、標準の UI を使用して、個々のファイルをサービス アカウントのメールアドレスと直接共有できます。サービス アカウントのメールアドレスは、ドキュメントの共有設定でユーザー アカウントとして扱うことができます。管理者権限は必要ありません。
アクセスを許可するには:
- サービス アカウントのメールアドレスをコピーします。例:
my-service-account@my-project.iam.gserviceaccount.com - アクセスするスプレッドシート ドキュメントまたはドライブ フォルダを開きます。
- [共有] をクリックします。
- サービス アカウントのメールアドレスを追加し、適切なアクセスレベル(編集者や閲覧者など)を割り当てます。
- [ユーザーに通知] をオフにします(サービス アカウントには受信トレイがないため、招待メールは届きませんが、権限は付与されます)。
- [共有] をクリックします。
サービス アカウント キーを作成する
公開鍵と秘密鍵のペアの形式で認証情報を取得する必要があります。これらの認証情報は、アプリ内のサービス アカウント アクションを承認するためにコードで使用されます。サービス アカウント キーを作成するには:
-
Google Cloud コンソールで、メニュー アイコン
> [**IAM と管理**]
> [**サービス アカウント**] に移動します。
残りの手順は、Google Cloud コンソールに表示されます。
- Google Cloud プロジェクトを選択します。
- キーを作成するサービス アカウントのメールアドレスをクリックします。
- [キー] タブをクリックします。
- [鍵を追加] プルダウン メニューをクリックして、[新しい鍵を作成] を選択します。
- [鍵のタイプ] として [JSON] を選択し、[作成] をクリックします。
新しい公開鍵と秘密鍵のペアが生成され、サービス アカウント キーファイルとして マシンにダウンロードされます。ダウンロードした JSON ファイルを、作業ディレクトリに
credentials.jsonとして保存します。このファイルはこの鍵の唯一のコピーです。鍵ファイルをダウンロードした後、再度ダウンロードすることはできません。鍵を安全に保存する方法については、サービス アカウント キーの管理のベスト プラクティスをご覧ください。
サービス アカウントに Google Workspace 管理者ロールを割り当てる
サービス アカウントには、特権管理者ロールを除く、規定の Google Workspace ロールまたはカスタムロールを割り当てることができます。
Google 管理コンソールで、メニュー アイコン > [アカウント] > [管理者ロール] に移動します。
この操作を実施するには、特権管理者としてログインする必要があります。
残りの手順は、Google 管理コンソールに表示されます。
割り当てるロールにカーソルを合わせ、
Actionsプルダウン メニューをクリックして [管理者を割り当て] を選択します。[サービス アカウントへの割り当て] をクリックします。
サービス アカウントのメールアドレスを入力します。
[追加 > ロールを割り当て] をクリックします。
省略可: サービス アカウントのドメイン全体の委任を設定する
ドメイン全体の委任は、個々のユーザーの同意を必要とせずに、組織内の複数の個々のユーザーに代わって Google Workspace データにアクセスする必要がある場合(Gmail API を使用してメールを送信するなど)に使用します。 Google Workspace 組織内のユーザーに代わって API を呼び出すには、特権管理者アカウントを使用して Google 管理コンソールでサービス アカウントにドメイン全体の権限の委任を付与します。詳細については、 ドメイン全体の権限をサービス アカウントに委任するをご覧ください。サービス アカウントのドメイン全体の権限の委任を設定するには:
- Google Cloud コンソールで、メニュー アイコン > [**IAM と管理**] > [**サービス アカウント**] に移動します。
- Google Cloud プロジェクトを選択します。
- ドメイン全体の委任を設定するサービス アカウントのメールアドレスをクリックします。
- [詳細設定を表示] をクリックします。
- [ドメイン全体の委任] で、サービス アカウントの [クライアント ID] を探します。
- Copy をクリックして、クライアント ID の値をクリップボードにコピーします。
関連する Google Workspace アカウントに対する特権管理者権限がある場合は、[Google Workspace 管理コンソールを表示]をクリックし、特権管理者ユーザー アカウントでログインして、次の手順に進みます。
関連する Google Workspace アカウントに対する特権管理者権限がない場合は、 アカウントの特権管理者に連絡してください。サービス アカウントのクライアント ID と、アプリに必要な OAuth スコープのリストを送信して、Google 管理コンソールで次の手順を完了してもらいます。
- Google 管理コンソールで、メニュー アイコン > [**セキュリティ**] > [**アクセスとデータ管理**] > [**API の制御**] に移動します。
- [ドメイン全体の委任を管理] をクリックします。
- [新しく追加] をクリックします。
- [クライアント ID] フィールドに、先ほどコピーしたクライアント ID を貼り付けます。
- [OAuth スコープ] フィールドに、アプリに必要なスコープのカンマ区切りリストを入力します。これは、OAuth 同意画面の構成時に定義したスコープと同じセットです。
- [Authorize(承認)] をクリックします。
変更が反映されるまでに最長で 24 時間ほどかかることがありますが、通常はこれより短い時間で完了します。詳細については、API アクセスをドメイン全体の委任で制御するをご覧ください。
次のステップ
Google Workspace での開発を開始する準備ができました。 Google Workspace デベロッパー プロダクトのリストとヘルプの 検索方法をご確認ください。