API Gateway API アクセスの概要

このページでは、API Gateway で使用可能な API アクセス制御オプションについて説明します。

概要

API Gateway は、Identity and Access Management(IAM)を使用して API へのアクセスを制御します。プロジェクト レベルとサービス ユーザー レベルで API へのアクセス権限を付与できます。たとえば、次のようなことが可能です。

  • API ユーザーにアクセス権限を付与して、ユーザーが自分の Google Cloud プロジェクトで API を有効化できるようにする。
  • すべての API Gateway リソースの表示をプリンシパルに許可します。
  • プリンシパルに API Gateway リソースの作成、更新、削除を許可します。

サービスとリソースへのアクセスを制御するロール

ロールを表示して付与するには、Google Cloud コンソールで [API Gateway] > [API] または [Gateways] の詳細ページの権限パネルを使用します。ロールは、API または Google Cloud CLI を使用して付与することもできます。

IAM ロール名 役割のタイトル 説明
roles/servicemanagement.serviceConsumer サービス ユーザー Google アカウント、Google グループ、またはサービス アカウントで、それぞれのプロジェクトで API を表示し、有効化できる権限。このロールについては、Service Management API アクセス制御をご覧ください。
roles/apigateway.viewer API Gateway 閲覧者 API ゲートウェイと関連リソースに対する読み取り専用アクセス権。このロールには、API、API 構成、ゲートウェイ、ロケーションを取得して一覧表示するための権限が含まれています。
roles/apigateway.admin API Gateway 管理者 API ゲートウェイと関連リソースに対する完全アクセス権。このロールには、API、API 構成、ゲートウェイ、ロケーションの取得、作成、更新、削除を行うための権限が含まれます。

API Gateway の権限とロール

次の表に、API Gateway リソースへのアクセスを許可するプロジェクト レベルのロールと、関連する権限を示します。

ロール 権限
API Gateway 閲覧者 apigateway.apiconfigs.get
apigateway.apiconfigs.getIamPolicy
apigateway.apiconfigs.list
apigateway.apis.get
apigateway.apis.getIamPolicy
apigateway.apis.list
apigateway.gateways.get
apigateway.gateways.getIamPolicy
apigateway.gateways.list
apigateway.locations.get
apigateway.locations.list
apigateway.operations.get
apigateway.operations.list
resourcemanager.projects.get
resourcemanager.projects.list
API Gateway 管理者 API Gateway 閲覧者のロールに含まれるすべての権限と
apigateway.apiconfigs.create
apigateway.apiconfigs.delete
apigateway.apiconfigs.setIamPolicy
apigateway.apiconfigs.update
apigateway.apis.create
apigateway.apis.delete
apigateway.apis.setIamPolicy
apigateway.apis.update
apigateway.gateways.create
apigateway.gateways.delete
apigateway.gateways.setIamPolicy
apigateway.gateways.update
apigateway.operations.cancel
apigateway.operations.delete

カスタムロール

基本ロールまたは事前定義ロールが特定のニーズに合わない場合は、API Gateway でカスタムロールを使用できます。API Gateway のカスタムロールを作成するには、IAM を使用します。