最近、GoogleはCloud SQL向けのIAM条件とタグの一般提供(GA)を発表した。これはMySQL、PostgreSQL、SQL Server用のフルマネージドリレーショナルデータベースサービスである。
昨年8月、Googleは最初にCloud SQL向けのIAM条件をサポートを開始した。タグは2022年2月から利用可能になり、現在は両方とも一般提供可能になっている。同社はこれらの機能を導入して、アクセス制御に関するCloud SQLインスタンスの管理を改善する。GoogleのプロダクトマネージャのAkhil Jariwala氏は、一般提供されているブログ投稿に次のように書いている。
Cloud SQLユーザが増えるということは、適切なユーザが適切なデータベースインスタンスに適切にアクセスできるようにするための作業が増えることを意味します。以前は、Cloud SQLインスタンスを個別のプロジェクトに分離し、プロジェクトの境界に沿ってアクセスを分離することで、この課題に対応していたかもしれません。しかし、このアプローチでは、管理が煩雑になる可能性のある膨大な数のプロジェクトが発生する可能性があります。
また、レプリケーショングループなど、同じプロジェクトにあるべきインスタンスのグループ内でアクセス権限が異なる場合、プロジェクトによるインスタンスの分離は機能しない。ゆえに、この機能はその答えを提供する。
IAM条件は、Cloud IdentityとAccess Management(IAM)の一部である。これは、Cloud SQLと他のGoogle Cloudサービスがクラウドリソースへのアクセスに依存するサービスである。Cloud SQLのユーザは、IAMポリシーバインディングのプロパティとして条件を追加できるようになった。これにより、プリンシパルがCloud SQLロールにアクセスできる状況を記述できる。
出典: https://cloud.google.com/blog/products/databases/cloud-sql-launches-iam-conditions-and-tags
IAM条件は歓迎されたが、Ubisoftのオンライン開発者のHugo Hervieux氏は次のようにツイートしている。
実際にはIAM条件をサポートするGCPサービスが少なすぎます :/
他の機能タグはキーと値のペアのリソースである。これは、他のGoogle Cloudリソースへのアクセスを整理し、管理するために使用される。Cloud SQLユーザは、Resource Managerでタグを管理できる。そして、IAMポリシーバインディングでのタグを使って、それらのタグバインディングを持つリソースへの条件付きアクセスを許可することができる。さらに、Cloud SQLインスタンスにタグを割り当てたり、タグが配置されているプロジェクトまたはフォルダーからタグを継承したりできる。
タグキーはプロパティのような環境であり、タグ値は開発や本番のような属性である。タグは、特定のリソースの特定のキーに対して1つの値だけを持つことができる。
出典: https://cloud.google.com/blog/products/databases/cloud-sql-launches-iam-conditions-and-tags
最後に、IAM条件とタグを組み合わせて使うと、Cloud SQLへの管理アクセスと接続アクセスをより安全かつ効率的に管理できる。IAM条件とタグの詳細については、それぞれのIAM条件のドキュメントページとタグのドキュメントページを参照してください。