今回は、待望の新シリーズです!
私は、仕事で Google Cloud を使用して、顧客の Google Cloud の環境を構築する業務を行っています。その中で、今まで培った知識をアウトプットし、今後、Google Cloud のシェア拡大に貢献していきたいと考えています。
2024年現在、Google Cloud は、Amazon の AWS、Microsoft の Azure に続いて、第3位のクラウドサービスですが、世界シェアは約10%とまだ発展途上です。日本においては、トップ5にも入っていません。
しかし、今後、オンプレミスからクラウドへ移行する企業は確実に増えると考えています。その理由は、日本の場合は、人口減少による人材不足に加え、コスト削減やセキュリティ強化などのニーズがますます高まっているからです。
オンプレミスの場合、システムの運用・管理には専門知識を持つ人材が必要ですが、その人材は少なくなっています。また、機器の購入や保守にもコストがかかります。一方、クラウドサービスを利用すれば、これらの課題を解決することができます。
クラウドサービスの重要性は、今後ますます拡大していくと考えています。
そのような際に、クラウドを使う人のハードルを低くするため、このシリーズでは、Google Cloud の様々な機能の説明や使い方について解説していきます。
第1回目は、Google Cloud コンソールへのアクセス制限方法について、実際に検証と設定を行った経験に基づいて解説します。この記事を読めば、安全で効率的な Google Cloud コンソールのアクセス制限を実現するための知識とスキルを身につけることができます。
ぜひ、最後までご覧いただけると嬉しいです。
Google Cloud コンソールへのアクセス制限を行う目的
私はこれまで、様々な規模の企業におけるGoogle Cloud 環境構築プロジェクトに携わりました。プロジェクトでは、主にシステム設計と構築を担当し、顧客のニーズに合わせた安全で効率的な環境を構築してきました。
その中で、顧客からの要望として、Google Cloud コンソールへのアクセス制限が頻繁に挙げられます。
Google Cloud コンソールへのアクセス制限を行う目的は、主に以下の3つです。
- セキュリティの強化
- リソースの保護
- コストの削減
一つずつ詳しく説明します。
1. セキュリティの強化
クラウドシステムには、企業の重要なデータや個人情報が含まれることが多いため、不正アクセスやデータ漏洩を防ぐためのセキュリティ対策が重要です。その中でも、アクセス制限は基本的な対策の一つです。
Google Cloud コンソールへのアクセスを適切に制限することで、以下のようなメリットがあります。
- 不正アクセスによるデータの窃取や改ざんを防ぐ
- データ漏洩のリスクを軽減する
- 企業におけるコンプライアンス要件を満たす
上記の理由により、Google Cloud コンソールへのアクセス制限を求められています。
2. リソースの保護
リソースの保護は、制限されたユーザーによる誤操作を防ぎ、システムの安定性とセキュリティを維持できます。例えば、
- 誤った設定変更や機能停止によるシステムダウンタイムを防ぎ、業務への影響を最小限に抑えます。
- 不正アクセスによるデータ漏洩や改ざんのリスクを低減し、情報セキュリティを強化します。
システムの安定性とセキュリティを維持するためには、リソースへのアクセスを適切に制御することが重要です。
3. コストの削減
クラウドサービスは利用量に応じて課金されることが多いため、不要なサービスの利用を防ぐためにもアクセス制限は有効です。具体的には、以下のメリットがあります。
- 不正アクセスによって、意図せず高額な料金が発生する可能性があります。アクセス制限を設けることで、不正アクセスを抑制し、損害を防ぐことができます。
- サービスやリソースへのアクセスを制限することで、無駄なコストを削減することができます。
以上のように、Google Cloud コンソールへのアクセス制限は、セキュリティの強化、リソースの保護、コストの削減など、さまざまなメリットをもたらします。組織のニーズに合わせた適切な方法を選択することで、安全で効率的なクラウド環境を実現することができます。
Google Cloud コンソールへのアクセス制限の設定方法
それでは、実際のGoogle Cloud へのアクセス制限の設定方法について説明します。今回は、作成した Google グループのユーザーが、特定の IP アドレスからのみ Google Cloud コンソールへアクセスできる設定方法を説明します。
設定は、全部で4ステップです。
- Google グループの作成
- Google グループにメンバーの追加
- Access Context Manager でルールの作成
- BeyondCorpで制限設定
1. Google グループの作成
まずは、Google Cloud コンソールにアクセス可能なユーザーを含むGoogle グループを作成します。Google グループは、Cloud Identity(またはGoogle Workspace)のコンソールやGoogle Cloudのコンソール などから作成できます。どこで作成したGoogle グループも、他のサービスに同期されます。
今回は、Cloud Identity のコンソール(Google Admin コンソール)で作成します。
Cloud Identity のコンソール(Google Admin コンソール)にログインし、サイドバーから「ディレクトリ」の中の「グループ」を選択します。
![](https://hajimenoit.com/wp-content/uploads/2024/03/01.png)
「グループを作成」を選択します。
![](https://hajimenoit.com/wp-content/uploads/2024/03/02-1024x160.png)
グループ名とグループのメールアドレスを入力します。みなさんが設定する際は、自由に設定してください。グループの説明は、任意です。その他の設定は、初期設定のまま進めます。入力後、「次へ」を選択します。
![](https://hajimenoit.com/wp-content/uploads/2024/03/03-1024x653.png)
アクセスタイプは、今回初期設定のまま進めます。皆さんは、必要に応じて設定してください。
![](https://hajimenoit.com/wp-content/uploads/2024/03/04-1024x520.png)
グループに参加できるユーザーを選択します。今回は、「招待されたユーザーのみ」にします。また、組織外のメンバーの許可は、「オフ」にします。
組織外のメンバーの許可は、他のドメインユーザーやGmail アカウントなどをグループに含めることができるかの設定です。
設定後、「グループを作成」を選択します。
![](https://hajimenoit.com/wp-content/uploads/2024/03/05-1024x460.png)
正常にグループが作成されたことを確認したら、「完了」を選択します。
![](https://hajimenoit.com/wp-content/uploads/2024/03/06-1024x385.png)
以上で、Google グループの作成は終わりになります。
2. Google グループにメンバーの追加
次は、作成したGoogle グループにメンバーを追加します。
作成したグループの右側にカーソルを合わせると各種設定項目が表示されます。その中から、「メンバーを追加」を選択します。
![](https://hajimenoit.com/wp-content/uploads/2024/03/07-1024x80.png)
グループに含めるメンバーのユーザーアカウント(メールアドレス)を入力し、「グループに追加」を選択します。
![](https://hajimenoit.com/wp-content/uploads/2024/03/08.png)
以上で、Google グループにメンバーの追加をする方法は終わりになります。
3. Access Context Manager でルールの作成
次は、Google Cloud コンソールのAccess Context Manager で、ルールの作成を行います。今回は、Google Cloud コンソールへアクセスできるIP アドレスを登録します。
Access Context Manager(ACM) は、Google Cloud のプロジェクトやリソースへのアクセスルールを作成・管理できるサービスです。
Google Cloud コンソールで、組織を開きます。Access Context Managerは、組織レベルで設定するリソースなので、プロジェクトではなく、組織を選択します。上部の検索窓で「access context manager」で検索し、Access Context Manager を開きます。
![](https://hajimenoit.com/wp-content/uploads/2024/03/09-1024x104.png)
「アクセスレベルを作成」を選択します。
![](https://hajimenoit.com/wp-content/uploads/2024/03/10-1024x503.png)
ここで注意点があります。私が、自分の環境でこの設定を行った際ハマったのが、IPア ドレスです。IP アドレスには IPv4 と IPv6 の2種類があります。ご自身のインターネット回線が IPv6 を使用している場合、IPv6アドレスを入力しないと、制限が行えません。ご自身のインターネット回線が IPv6 を使用しているかどうかの確認方法について、説明します。
サイトで確認する場合は、以下BIGLOBEのサイトで確認することができます。
サイトに接続し、下記画面のように「現在の接続環境はIPv6」と表示されていれば、IPv6でアクセスしています。
![](https://hajimenoit.com/wp-content/uploads/2024/03/00.png)
また、自分のIPアドレスを確認する場合は、下記サイトで確認することができます。
![](https://test-ipv6.com/images/snapshot.png)
以上のように、自分が、IPv4 または IPv6 どちらで、Google Cloudにアクセスしているか確認し、IPサブネットワーク(IPアドレス)を入力してください。
「アクセスレベルのタイトル」と「IPサブネットワーク」にIP アドレスを入力します。入力後、「保存」を選択します。
![](https://hajimenoit.com/wp-content/uploads/2024/03/11.png)
正常に作成されると、コンソールにルールが表示されます。
![](https://hajimenoit.com/wp-content/uploads/2024/03/12.png)
以上で、Access Context Manager でルールの作成は終わりになります。今回は、IP サブネットワーク(IP アドレス)でルールを作成しましたが、地域(日本やアメリカ など)でも、ルールを作成することができます。
4. BeyondCorp で制限設定
最後に BeyondCorp で制限設定を行います。
BeyondCorp の設定は、プロジェクトレベルで設定するので、プロジェクトを選択します。プロジェクトで設定しますが、Google Cloud コンソールへのアクセス制限は、組織全体の Google Cloud コンソールに対して実施されます。よって、組織とフォルダ、プロジェクトレベルでアクセスできなくなります。
なお、Cloud Identity のコンソール(Google Admin コンソール)に、このルールは適用されません。
プロジェクトを選択後、コンソール上部の検索窓で「beyondcorp enterprise」で検索し、「BeyondCorp Enterprise」を選択します。
![](https://hajimenoit.com/wp-content/uploads/2024/03/13-1024x131.png)
画面上部の「CLOUD コンソールと API へのアクセスを管理」を選択します。
選択後、プロジェクトレベルから組織レベルに移動します。
![](https://hajimenoit.com/wp-content/uploads/2024/03/14.png)
「アクセスを管理」を選択します。
![](https://hajimenoit.com/wp-content/uploads/2024/03/15.png)
画面上部の「追加」を選択します。
![](https://hajimenoit.com/wp-content/uploads/2024/03/16.png)
「Google グループ」では、Google Cloud コンソールへアクセスできるユーザーが含まれるグループを選択します。手順1でで作成したGoogle グループを選択します。 「アクセスレベル」では、Google Cloud コンソールへアクセスできるIP アドレスが含まれる Access Context Manager のルールを選択します。手順3で作成したACMのルールを選択します。
![](https://hajimenoit.com/wp-content/uploads/2024/03/17.png)
正常に保存されると、コンソールに表示されます。
![](https://hajimenoit.com/wp-content/uploads/2024/03/18.png)
許可されていない IP アドレスから Google Cloud コンソールにアクセスすると、下記画面が表示されて、一切の操作ができません。
![](https://hajimenoit.com/wp-content/uploads/2024/03/19-1024x474.png)
以上で、Google Cloud コンソールへのアクセス制限の設定設定は終わりになります。
Google Cloud コンソールへのアクセス制限の注意点と対処方法
最後に、コンソールへのアクセス制限を行う際の注意点について説明します。この説明は非常に重要です。当初、私はこの制限を検証する際、その意味を理解できておらず困惑しました。
注意点は、下記2点です。
- 組織外のユーザーアカウントは無制限にコンソールへアクセス可能
- グループに入っていないユーザーも無制限にコンソールへアクセス可能
以上になります。1つずつ詳しく説明します。
組織外のユーザーアカウントは無制限にコンソールへアクセス可能
組織外のユーザーアカウントは無制限にコンソールへアクセス可能というのは、例えば、Google Cloud の組織が「hajimenoit.com」とします。その組織で、Google Cloud コンソールへのアクセス制限を実施していたとします。その状態で、他の組織、例えばexample.com のユーザーが、「hajimenoit.com」組織のリソース(プロジェクト など)に IAM ロールが付与されている場合、そのユーザーは制限を受けずに「hajimenoit.com」のGoogle Cloud コンソールにアクセスできることを意味します。
BeyondCorpの設定画面に、下記のように説明されています。
グループに含まれるものの、ドメイン hajimenoit.com には含まれないユーザーは、引き続き無制限にアクセスできます。
Google Cloud コンソールより
![](https://hajimenoit.com/wp-content/uploads/2024/03/20.png)
該当ドメイン(hajimenoit.com)以外のユーザー(example.com)は、この制限設定の対象外となります。
つまり、Google Cloud の組織やプロジェクト、リソースのIAMに、他のドメインユーザーが含まれている場合、そのユーザーは、この方法でアクセス制限を行うことはできないということです。
解決方法
私が考える解決方法は、「Google Cloud の運用は、組織ドメインユーザーに限定する」です。よって、他の組織ドメインユーザーにIAMを付与する場合、当該ドメインユーザーのアカウントを払い出すことで、この問題は解決できます。
今まで、様々な顧客のGoogle Cloudの運用を拝見しましたが、他の組織ドメインユーザーにIAMの設定がされているケースを見かけます。このようなユーザーがいる場合、BeyondCorpを使用したコンソールへのアクセス制限ができません。よって、そのようなユーザーが存在する場合は、該当するドメインのユーザーアカウントを払い出すことで解決できます。
グループに含まれないユーザーも無制限にコンソールへアクセス可能
グループに含まれないユーザーも無制限にアクセス可能というのは、BeyondCorp で Google Cloud コンソールへのアクセス許可を付与されたグループに入っていないユーザーも、無制限にコンソールへアクセス可能という意味です。
こちらについて、BeyondCorpの設定画面には、下記のように説明されています。
グループに含まれないユーザーも、引き続き無制限にアクセスできます。
Google Cloud コンソールより
![](https://hajimenoit.com/wp-content/uploads/2024/03/21.png)
つまり、許可するGoogle グループに含まれない当該組織ドメインユーザーは、この制限を受けないということを言っています。
解決方法
私が提案する解決方法は、「新規に組織ドメインユーザーを作成した場合、必ず該当グループにユーザーを含める」というものです。
グループに含まれないユーザーは、アクセス制限を受けません。そのため、Google Cloud 運用ルールとして、新規ユーザー作成時に該当グループへの追加をルール化することで、問題を解決できます。
ただし、一点注意が必要です。Cloud Identity(またはWorkspace)の組織管理者権限をもつユーザーの少なくとも1つは、このグループに追加しないということです。
理由は、この制限を適用すると、許可されたIPアドレス以外の環境からアクセスした場合、Google Cloud コンソールにアクセスできなくなります。プロバイダの障害等で一時的にIPアドレスが使用できなくなる可能性も考慮する必要があるからです。
組織管理者ユーザーは、該当グループに含まないことを推奨します。これは、下記 Google のドキュメントにも記載されています。
![](https://cloud.google.com/_static/cloud/images/social-icon-google-cloud-1200-630.png?hl=ja)
組織管理者ユーザーというのは、特定の個人を指すのではなく、たとえば、admin@example.com などです。このユーザーは、Cloud Identity(またはWorkspace)の初期セットアップ時に作成する管理者ユーザーです。
組織管理者ユーザーは、通常使用するユーザーアカウントとは別にする必要があります。
以上にように、BeyondCorpの機能を使用して、特定のIPアドレスや地域からのアクセスに対して、Google Cloudのコンソールへアクセスできる設定を行う場合、運用方法を変更する必要があるかもしれません。
既に、Google Cloudを使用している企業やコミュニティは、注意が必要です。
まとめ
本日は下記3点について説明しました。
- Google Cloud コンソールへのアクセス制限を行う目的
- Google Cloud コンソールへのアクセス制限の設定方法
- Google Cloud コンソールへのアクセス制限の注意点と対処方法
Google Cloud では、特定の IP アドレスや地域からのアクセスのみを許可する設定を行うことができます。これは、セキュリティを強化し、不要なアクセスを制限するために有効な手段です。
しかし、この機能を正しく理解していないと、意図した通りの制限を設けることができず、セキュリティリスクに繋がる可能性があります。今回のブログを参考にして、みなさんの Google Cloud をセキュアに使用してください。
これからも、Macのシステムエンジニアとして、日々、習得した知識や経験を発信していきますので、是非、ブックマーク登録してくれると嬉しいです!
それでは、次回のブログで!