Google Cloud には Identity and Access Management(IAM)機能があり、特定の Google Cloud リソースに対するアクセス権を設定できるため、他のリソースへの不要なアクセスを防ぐことができます。このページでは、Cloud SQL と IAM の統合について説明します。Google Cloud IAM の詳細については、IAM のドキュメントをご覧ください。
Cloud SQL リソースへのアクセス権を制御できるように、Cloud SQL には事前定義ロールが用意されています。事前定義ロールの中に必要な権限を付与するものがない場合は、独自にカスタムロールを作成することもできます。また、以前の基本ロール(編集者、閲覧者、オーナー)もまだ使用できますが、Cloud SQL ロールほど細かい制御はできません。特に、基本ロールは Cloud SQL だけではなく、Google Cloud 全体のリソースへのアクセス権を付与します。Google Cloud の基本ロールの詳細については、基本ロールをご覧ください。
IAM ポリシーは、リソース階層の任意のレベル(組織レベル、フォルダレベル、プロジェクト レベル)で設定できます。リソースは親リソースのポリシーをすべて継承します。
Cloud SQL 用 IAM リファレンス
- Google Cloud コンソールでの一般的なタスクに必要な権限
gcloud sql
コマンドに必要な権限- Cloud SQL Admin API メソッドに必要な権限
- 事前定義された Cloud SQL IAM ロール
- 権限とそのロール
- カスタムロール
IAM 認証のコンセプト
IAM 認証を使用する場合、リソース(Cloud SQL インスタンス)へのアクセス権はエンドユーザーに直接付与されません。代わりに、複数の権限をロールにまとめて、プリンシパルに付与します。詳細については、IAM の概要をご覧ください。
IAM ポリシーには、次のエンティティが含まれます。
- プリンシパル。Cloud SQL では、ユーザー アカウントとサービス アカウント(アプリケーション用)という 2 種類のプリンシパルを使用できます。詳細については、ID に関するコンセプトをご覧ください。
- ロール。ロールとは、一連の権限のことです。プリンシパルにロールを付与して、特定のタスクの実行に必要な権限を付与できます。IAM ロールの詳細については、ロールについてをご覧ください。
- リソース。プリンシパルがアクセスするリソースは Cloud SQL インスタンスです。デフォルトでは、IAM ポリシー バインディングはプロジェクト レベルで適用されるため、プリンシパルはプロジェクト内のすべての Cloud SQL インスタンスのロール権限を受け取ります。