アクセス制御

一般的に、エージェントの作成は複数のチームメンバーが共同で行います。役割を使用して、チームメンバーに付与されるアクセス権と権限を制御できます。

API を使用することによって、1 つまたは複数のアプリケーションから特定のエージェントにリクエストを送信できます。この場合、サービス アカウントによってアクセスを制御できます。

Identity and Access Management(IAM)または Dialogflow コンソールを使用してアクセスを制御できます。次のような状況では、Google Cloud Console を使用する必要があります。

  • Dialogflow コンソールでは、エージェントを作成したユーザーにオーナー / 管理者の役割が提供されます。オーナー / 管理者の変更、1 つのエージェントへの複数のオーナー / 管理者の追加、1 つのエージェントからのオーナー / 管理者の削除を行う場合は、Cloud Console を使用する必要があります。
  • 他の Google Cloud リソース(Cloud Functions など)を統合していて、プロジェクトに対する完全なアクセス権をアプリケーションに付与したくない場合は、Cloud Console for IAMで Dialogflow API ロール(管理者、クライアント、または読み取り)を割り当てる必要があります。
  • IAM ロールのサブセットには、対応する Dialogflow コンソールのロールがあります。Dialogflow コンソールに存在しないロールを付与するには、Cloud Console を使用する必要があります。

役割

次の表は、Dialogflow に関連するすべての役割を示しています。

エージェントのアクセス権の変更やエージェントの削除をするには、「完全なアクセス権」を提供するオーナー / 管理者のロールが必要です。

Dialogflow コンソールの役割 IAM ロール 権限の概要 権限の詳細
管理 プロジェクト >
オーナー
すべての Google Cloud および Dialogflow リソースに対する完全アクセス権を必要とするプロジェクト オーナーに付与します。
  • Cloud Console または API を使用した、すべての Google Cloud プロジェクトのリソースに対する完全アクセス権。
  • Dialogflow コンソールに対する完全アクセス権があり、エージェントの作成や編集が可能です。
  • API を使用してインテントを検出できます。
IAM 基本ロールの定義をご覧ください。
デベロッパー プロジェクト ->
編集者
すべての Google Cloud および Dialogflow リソースに対する編集アクセス権が必要なプロジェクト編集者に付与します。
  • Cloud Console または API を使用した、すべての Cloud プロジェクトのリソースに対する編集権限。
  • Dialogflow コンソールに対する編集アクセス権があり、エージェントを編集できます。
  • API を使用してインテントを検出できます。
IAM 基本ロールの定義をご覧ください。
審査担当者 プロジェクト >
閲覧者
すべての Google Cloud および Dialogflow リソースに対する読み取りアクセス権が必要なプロジェクト閲覧者に付与します。
  • Cloud Console または API を使用した、すべての Cloud プロジェクトのリソースに対する読み取りアクセス権。
  • Dialogflow コンソールに対する読み取りアクセス権があります。
  • API を使用してインテントを検出することはできません。
IAM 基本ロールの定義をご覧ください。
なし プロジェクト >
参照者
フォルダ、組織、IAM ポリシーなど、プロジェクトの階層を参照するための読み取りアクセス権が必要なプロジェクト参照者に付与します。
  • Cloud プロジェクト階層に対する読み取りアクセス権。
  • Dialogflow コンソールにはアクセスできません。
  • API を使用してインテントを検出することはできません。
IAM プロジェクト ロールの定義をご覧ください。
なし Dialogflow >
Dialogflow API 管理者
Dialogflow 固有のリソースへの完全アクセス権が必要な Dialogflow API 管理者に付与します。
  • Cloud Console または API を使用した、Dialogflow に対する完全アクセス権。
  • Dialogflow コンソールに対する読み取りアクセス権があります。
  • API を使用してインテントを検出できます。
Dialogflow IAM ロールの定義をご覧ください。
なし Dialogflow >
Dialogflow API クライアント
API を使用して Dialogflow 固有の編集を実行し、インテント呼び出しを検出する Dialogflow API クライアントに付与します。
  • Cloud Console または API を使用して、Dialogflow に対して編集アクセスを行うことができます。
  • Dialogflow コンソールにはアクセスできません。
  • API を使用してインテントを検出できます。
Dialogflow IAM ロールの定義をご覧ください。
なし Dialogflow >
Dialogflow コンソール エージェント編集者
既存のエージェントを編集する Dialogflow コンソール編集者に付与します。
  • Cloud Console を使用した、Dialogflow に対する完全アクセス権。
  • Dialogflow コンソールを使用して、ほとんどのエージェント データに対して編集アクセスを行うことができます。Cloud Functions または Google アシスタントを統合するためのインライン エディタにはアクセスできません。
  • API を使用してインテントを検出できます。
Dialogflow IAM ロールの定義をご覧ください。
なし Dialogflow >
Dialogflow API 読み取り
API を使用して Dialogflow 固有の読み取り専用呼び出しを実行する Dialogflow API クライアントに付与します。
  • Cloud Console または API を使用して、Dialogflow に対して読み取りアクセスを行うことができます。
  • Dialogflow コンソールに対する読み取りアクセス権があります。
  • API を使用してインテントを検出することはできません。
Dialogflow IAM ロールの定義をご覧ください。

Cloud Console でのアクセス制御

IAM 設定を使用してアクセスを制御できます。権限の追加、編集、削除の詳細な手順については、IAM クイックスタートをご覧ください。

以下の設定にアクセスするには、Cloud Console で [IAM] ページを開きます。

プロジェクトにユーザーまたはサービス アカウント メンバーを追加する

ユーザーまたはサービス アカウントを Cloud プロジェクトのメンバーとして追加すると、権限を付与できます。ユーザーを追加するには、そのユーザーのメールアドレスを入力します。サービス アカウントを追加する場合も、そのアカウントに関連付けられているメールアドレスを入力します。1 つのサービス アカウントを複数のプロジェクトとエージェントで使用する場合は、サービス アカウント メンバーを追加する必要があります。サービス アカウントに関連付けらたメールアドレスを確認するには、Cloud Console で IAM の [サービス アカウント] ページをご覧ください。

メンバーを追加するには:

  1. ページ上部の追加ボタン()をクリックします。
  2. メンバーのメールアドレスを入力します。
  3. 役割を選択します。
  4. [保存] をクリックします。

権限を変更する

  1. メンバーの編集ボタン()をクリックします。
  2. 別の役割を選択します。
  3. [保存] をクリックします。

メンバーを削除する

  1. メンバーの削除ボタン()をクリックします。

Dialogflow コンソールによるアクセス制御

エージェントの設定内に共有オプションがあります。エージェント共有設定を開くには、次の手順を行います。

  1. Dialogflow コンソールに移動します。
  2. 左側のサイドバー メニューの上部付近でエージェントを選択します。
  3. エージェント名の横にある設定ボタン()をクリックします。
  4. [Share] タブをクリックします。必要とされるオーナー / 管理者の役割を持たない場合は、[Share] タブが表示されません。

アクセスレベルとともにユーザーを表示する[Share] タブ。

ユーザーを追加する

  1. [Invite New People] の下に、ユーザーのメールアドレスを入力します。
  2. 役割を選択します。
  3. [Add] をクリックします。
  4. [Save] をクリックします。

権限を変更する

  1. 対象とするユーザーをリスト内で見つけます。
  2. 別の役割を選択します。
  3. [Save] をクリックします。

ユーザーを削除する

  1. 対象とするユーザーをリスト内で見つけます。
  2. ユーザーの削除ボタン()をクリックします。
  3. [保存] をクリックします。

自動的に作成されたサービス アカウント

エージェントを作成して使用すると、Dialogflow によっていくつかのサービス アカウントが自動的に作成されます。プロジェクトのサービス アカウントの一覧を表示するには、IAM サービス アカウント ページにアクセスします。これらのサービス アカウントに使用するキーを削除、編集、ダウンロードしたり、これらのサービス アカウントを使用した直接の API 呼び出しを行わないでください。サービス アカウントは、エージェントが使用するさまざまな Google Cloud サービスに接続するため、Dialogflow サービスによってのみ使用されます。特定の Dialogflow 機能の構成時、これらのサービス アカウントへのメールでの参照が必要になることがあります。次の表に、これらのサービス アカウントの一部を示します。

IAM メールフォーム 目的
dialogflow-alphanum
@project-id.iam.gserviceaccount.com
Dialogflow シミュレータによって Dialogflow API を呼び出すために使用します。これは、Dialogflow コンソールでエージェントの [一般] ページに表示されるサービス アカウントです。
service-project-num
@gcp-sa-dialogflow.iam.gserviceaccount.com
エージェントを統合トラフィックを処理するサービスに接続するために使用します。
firebase-adminsdk-alphanum
@project-id.iam.gserviceaccount.com
Google アシスタントの統合トラフィックを処理するサービスにエージェントを接続するために使用します。
project-id
@appspot.gserviceaccount.com
Google アシスタントの統合トラフィックを処理するサービスにエージェントを接続するために使用します。