一般的に、エージェントの作成は複数のチームメンバーが共同で行います。役割を使用して、チームメンバーに付与されるアクセス権と権限を制御できます。
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 リソースに対する完全アクセス権を必要とするプロジェクト オーナーに付与します。
|
IAM の基本役割の定義をご覧ください。 |
デベロッパー | プロジェクト -> 編集者 |
すべての Google Cloud および Dialogflow リソースに対する編集アクセス権が必要なプロジェクト編集者に付与します。
|
IAM の基本役割の定義をご覧ください。 |
審査担当者 | プロジェクト > 閲覧者 |
すべての Google Cloud および Dialogflow リソースに対する読み取りアクセス権が必要なプロジェクト閲覧者に付与します。
|
IAM の基本役割の定義をご覧ください。 |
なし | プロジェクト > 参照者 |
フォルダ、組織、IAM ポリシーなど、プロジェクトの階層を参照するための読み取りアクセス権が必要なプロジェクト参照者に付与します。
|
IAM プロジェクト ロールの定義をご覧ください。 |
なし | Dialogflow > Dialogflow API 管理者 |
Dialogflow 固有のリソースへの完全アクセス権が必要な Dialogflow API 管理者に付与します。
|
Dialogflow IAM ロールの定義をご覧ください。 |
なし | Dialogflow > Dialogflow API クライアント |
API を使用して Dialogflow 固有の編集を実行し、インテント呼び出しを検出する Dialogflow API クライアントに付与します。
|
Dialogflow IAM ロールの定義をご覧ください。 |
なし | Dialogflow > Dialogflow コンソール エージェント編集者 |
既存のエージェントを編集する Dialogflow コンソール編集者に付与します。
|
Dialogflow IAM ロールの定義をご覧ください。 |
なし | Dialogflow > Dialogflow API 読み取り |
API を使用して Dialogflow 固有の読み取り専用呼び出しを実行する Dialogflow API クライアントに付与します。
|
Dialogflow IAM ロールの定義をご覧ください。 |
Cloud Console でのアクセス制御
IAM 設定を使用してアクセスを制御できます。権限の追加、編集、削除の詳細な手順については、IAM クイックスタートをご覧ください。
以下の設定にアクセスするには、Cloud Console で [IAM] ページを開きます。
プロジェクトにユーザーまたはサービス アカウント メンバーを追加する
ユーザーまたはサービス アカウントを Cloud プロジェクトのメンバーとして追加すると、権限を付与できます。ユーザーを追加するには、そのユーザーのメールアドレスを入力します。サービス アカウントを追加する場合も、そのアカウントに関連付けられているメールアドレスを入力します。1 つのサービス アカウントを複数のプロジェクトとエージェントで使用する場合は、サービス アカウント メンバーを追加する必要があります。サービス アカウントに関連付けらたメールアドレスを確認するには、Cloud Console で IAM の [サービス アカウント] ページをご覧ください。
メンバーを追加するには:
- ページ上部の追加ボタン( )をクリックします。
- メンバーのメールアドレスを入力します。
- 役割を選択します。
- [保存] をクリックします。
権限を変更する
- メンバーの編集ボタン( )をクリックします。
- 別の役割を選択します。
- [保存] をクリックします。
メンバーを削除する
- メンバーの削除ボタン( )をクリックします。
Dialogflow コンソールによるアクセス制御
エージェントの設定内に共有オプションがあります。エージェント共有設定を開くには、次の手順を行います。
- Dialogflow ES コンソールに移動します。
- 左側のサイドバー メニューの上部付近でエージェントを選択します。
- エージェント名の横にある設定ボタン( )をクリックします。
- [Share] タブをクリックします。必要とされるオーナー / 管理者の役割を持たない場合は、[Share] タブが表示されません。
ユーザーを追加する
- [Invite New People] の下に、ユーザーのメールアドレスを入力します。
- 役割を選択します。
- [Add] をクリックします。
- [Save] をクリックします。
権限を変更する
- 対象とするユーザーをリスト内で見つけます。
- 別の役割を選択します。
- [Save] をクリックします。
ユーザーを削除する
- 対象とするユーザーをリスト内で見つけます。
- ユーザーの削除ボタン( )をクリックします。
- [保存] をクリックします。
サービス アカウントの自動作成
エージェントを作成して使用すると、Dialogflow によって一部の Google 管理のサービス アカウントが自動的に作成されます。
これらのサービス アカウントを表示するには、[IAM] ページで [Google 提供のロール付与を含みます] オプションを有効にします。
これらのサービス アカウントについては、キーの削除、編集、ダウンロードを行わないでください。このようなサービス アカウントを使用して API を直接呼び出しないでください。これらの名前は、エージェントで使用されるさまざまな Google Cloud サービスへの接続に Dialogflow サービスによってのみ使用されます。特定の Dialogflow 機能の構成時に、メールでこれらのサービス アカウントを参照する必要がある場合があります。
次の表に、これらのサービス アカウントの一部を示します。
IAM メールフォーム | 目的 |
---|---|
service-project-number @gcp-sa-dialogflow.iam.gserviceaccount.com |
エージェントを統合トラフィックを処理するサービスに接続するために使用します。 |
firebase-adminsdk-alphanum @project-id.iam.gserviceaccount.com |
エージェントをGoogle アシスタントの統合トラフィックを処理するサービスに接続するために使用します。 |
project-id @appspot.gserviceaccount.com |
エージェントをGoogle アシスタントの統合トラフィックを処理するサービスに接続するために使用します。 |