アクセス制御

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

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

アクセスは、GCP IAM 設定か、Dialogflow コンソールのいずれかを使用して制御できます。次のような状況では GCP Console を使用する必要があります。

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

ロール

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

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

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

GCP Console によるアクセス制御

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

以下の設定にアクセスするには、IAM メインページを開きます。

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

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

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

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

権限を変更する

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

メンバーを削除する

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

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

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

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

ユーザーを追加する

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

権限を変更する

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

ユーザーを削除する

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