Cloud SQL のロールと権限

このページでは、Identity and Access Management(IAM)のロールと権限、Cloud SQL インスタンスへの接続時にこれらを使用する方法について説明します。

はじめに

Google Cloud APIs のアクセス制御には、認証、認可、監査があります。認証とは、ユーザーの身元を識別することです。アプリケーションのデベロッパーは、Google Cloud の認証に IAM サービスとユーザー アカウントを使用します。アカウントは、一連の権限が含まれているロールを使用します。Cloud SQL で使用可能なロールと権限の一覧については、プロジェクトのアクセス制御をご覧ください。

アカウントを使用して Cloud SQL インスタンスに接続する場合は、アカウントに Cloud SQL > クライアントのロール(roles/cloudsql.client)が必要です。このロールには、接続に必要な権限が含まれています。

アカウントにロールを追加するには、Console で [IAM と管理] > [IAM] ページの順に移動します。ロールに含まれている権限を確認するには、[IAM と管理] > [ロール] の順に移動します。

Cloud SQL は、Cloud SQL と他の Google Cloud プロダクト間の認証にサービス アカウントを使用します。サービス アカウントは credentials を JSON 形式で提供します。これは Console からダウンロードし、さまざまなシナリオで認証に使用できます。たとえば、Docker コンテナで実行中のアプリケーションから接続します。

Cloud SQL Auth Proxy での Cloud SQL のロールと権限

Cloud SQL Auth Proxy を使用して Compute Engine インスタンスから Cloud SQL インスタンスに接続する場合は、Compute Engine インスタンスに関連付けられたデフォルトの Compute Engine サービス アカウントを使用できます。

Cloud SQL インスタンスに接続するその他のアカウントと同様に、サービス アカウントには Cloud SQL > クライアントのロールが必要です。

サーバーレス オプションを使用した Cloud SQL のロールと権限

Google Cloud サーバーレス オプションには、App EngineCloud FunctionsCloud Run などがあります。

これらのオプションからのアクセスを認可するには、サービス アカウントを使用します。サービス アカウントは、特定のプロジェクト内のすべての Cloud SQL へのアクセスを許可します。アプリケーションまたは Cloud Functions を作成すると、このサービスによってこのアカウントが作成されます。アカウントを確認するには、[IAM と管理] > [IAM] ページに移動して、該当するサフィックスを使用して検索します。

サーバーレス オプション サービス アカウントのサフィックス
App Engine @gae-api-prod.google.com.iam.gserviceaccount.com
Cloud Functions @appspot.gserviceaccount.com
Cloud Run compute@developer.gserviceaccount.com

Cloud SQL インスタンスに接続するその他のアカウントと同様に、サービス アカウントには Cloud SQL > クライアントのロールが必要です。

Cloud Storage での Cloud SQL のロールと権限

Cloud SQL のインポート機能とエクスポート機能は連携して動作します。エクスポートでは Cloud Storage への書き込みが行われ、インポートでは Cloud Storage からの読み取りが行われます。このため、これらのオペレーションに使用するサービス アカウントには、Cloud Storage に対する読み取り権限と書き込み権限の両方が必要です。

  • Cloud Storage にデータをインポートし、Cloud Storage からデータをエクスポートするには、Cloud SQL インスタンスのサービス アカウントにプロジェクトで設定された storage.objectAdmin IAM ロールが必要です。インスタンスのサービス アカウント名は、Google Cloud Console のインスタンスの [概要] ページで確認できます。
  • gsutil iam コマンドを使用して、バケットのサービス アカウントにこの IAM ロールを付与できます。
  • IAM ロールと権限の設定については、IAM 権限の使用をご覧ください。
  • 詳細については、Cloud Storage の IAM をご覧ください。

他のシナリオでの Cloud SQL のロールと権限

Cloud SQL は他の Google Cloud プロダクトやツールと連携します。これらの操作を行うには、シナリオによって異なる特定のロールと権限も必要です。Cloud SQL のドキュメントには、以下の各ケースに対する詳細な要件が記載されています。

次のステップ