コンテンツに移動
デベロッパー

Cloud Storage の認証管理にルールを適用

2021年4月2日
https://storage.googleapis.com/gweb-cloudblog-publish/images/csb-authentication.max-700x700.jpeg
Google Cloud Japan Team

※この投稿は米国時間 2021 年 3 月 20 日に、Google Cloud blog に投稿されたものの抄訳です。

この投稿をポッドキャストでお聴きになりたい場合は、Google Cloud Reader をご確認ください。

データを Cloud Storage に保存したら、次に重要になるのは認証です。この投稿では、保存したデータにアクセスできるユーザーを決めるための重要な要素についてご説明します。

バケットを最初に作成した時点に戻りましょう。権限の適用方法として、均一なアクセス制御ときめ細かいアクセス制御のどちらを使用するかを決める必要があります。そのおすすめの方法をご紹介します。

均一なバケットレベルのアクセス制御

一般的に、均一なバケットレベルのアクセス制御を使用することをおすすめします。この方法では、Identity and Access Management(IAM)を使用して、バケット内のすべてのオブジェクトの権限を管理できます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/access_control.max-500x500.png

この方法を使用すると、ストレージに対するアプローチを再考する必要が出てくる場合がありますが、心配は要りません。それに役立つドキュメントが多数あります。

例を見てみましょう。

犬の保育園を運営しているとします。毎日、預かった犬の写真を撮って、ログインした飼い主がペットの様子を確認できるようにしています。よくあるサービスですが、飼い主には好評です。

すべての写真を 1 つのバケットに保存している場合、ウィローの飼い主にルーシーやレミの写真を共有しないように、写真ごとに権限を設定する必要があります。

しかし、飼い主ごとにバケットを作成すれば、そのバケットに権限を付与してデータ漏洩のリスクを軽減できます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/uniform_access_control.max-600x600.png

ウィローの飼い主がアカウントに 2 人目のユーザーを追加しても、そのユーザーに権限を付与するだけで、愛らしいウィローの写真すべてが共有されるようになります。

https://storage.googleapis.com/gweb-cloudblog-publish/images/uniform_access_control_2.max-600x600.png

これは、IAM によって管理者に完全な制御と可視性が提供され、権限を簡単に管理できるからです。

Cloud IAM を使用すると、さまざまな Google Cloud サービスにわたって組織全体のセキュリティ管理を一元的に把握できるため、従業員、犬の飼い主、訪問者、他のフランチャイズ店舗などの権限の付与や確認を一か所で行うことができます。これにより、何十頭もの犬を預かっている場合でも、運用上の負担が軽減されます。

Cloud Storage の均一なアクセス制御の仕組みをご説明しました。その他の例については、こちらのドキュメントをご覧ください。

きめ細かいアクセス制御

バケットのオブジェクト レベルで権限を管理する必要があることがわかっている場合は、きめ細かいアクセス制御を選択できます。きめ細かいアクセス制御を選択すると、IAM とアクセス制御リスト(ACL)を併用して権限を管理できます。

この方法は主に、他のサービスとの相互運用に以前のアクセス制御システムを利用している統合に適しています。きめ細かい管理と ACL を併用すると、Cloud Audit Logs や他の IAM 条件の使用が制限されます。

また、均一なバケットレベルのアクセス制御を有効にしても、均一なバケットレベルのアクセス制御が永続的になるまで、90 日間は再度きめ細かいアクセス制御に切り替えることができます。推奨されるバケット アーキテクチャなどの詳細については、こちらのドキュメントをご覧ください。

その他の認証オプション

バケットを作成する際に、均一なアクセス制御ときめ細かいアクセス制御のどちらかを選択できるのに加えて、特別な管理状況向けのオプションもあります。

署名付き URL(クエリ文字列認証): ユーザーが Google アカウントを持っているかどうかにかかわらず、URL を通じてオブジェクトへの読み取りアクセス権や書き込みアクセス権を期間限定で付与できます。署名付き URL は、独自のプログラムで作成することも、gsutil やクライアント ライブラリを使用して作成することもできます。

署名付きポリシー ドキュメント: バケットにアップロードできる内容を指定します。サイズ、コンテンツの種類などのアップロード特性を署名付き URL よりも細かく制御できます。署名付きポリシー ドキュメントは、ウェブサイトの所有者が訪問者や組織メンバーに Cloud Storage へのファイルのアップロードを許可するために使用することもできます。

認証情報のアクセス境界: OAuth 2.0 アクセス トークンで使用できる権限を制限して、特定のユーザーに対する特定のバケットの権限の範囲を限定できます。これにより、セッションごとに異なる権限セットをメンバーに付与できます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/secure_cloud.max-600x600.png

アクセス制御を管理できました

これで認証管理が行えるようになったので、一安心です。Cloud Storage のセキュリティ オプションについては別の投稿で詳しくご紹介しますので、どうぞご期待ください。

ストレージのオプションについて詳しくは、Cloud Storage Bytes の動画をご覧ください。チュートリアルを含む詳細情報は、ドキュメントでご確認いただけます。

-Cloud デベロッパー アドボケイト Jenny Brown

投稿先