管理者アカウントを作成して保護する方法
Google Cloud Japan Team
※この投稿は米国時間 2021 年 11 月 16 日に、Google Cloud blog に投稿されたものの抄訳です。
新しいクラウド インフラストラクチャを設定するのは緊張感が伴います。特に、誰かが(もしかするとあなたが)クラウド インフラストラクチャ全体に全能の力を得るとなれば、なおさらです。
管理者アカウントについて、今回は管理者アカウントがいかに重要で、危険で、異質なものであるかについて説明します。
pistach.io のチームは、nuts-as-a-service ビジネスが大いに成長する中、管理者アカウントについて慎重に検討する必要があることに気付きました。管理者アカウントのユーザーは Google Cloud の制御に絶大な権限を持つため、これらの権限が不正使用されれば、非常に大きな問題が生じる可能性があります。保護殻が必要なリソースであることは明確です。
pistach.io の発展初期、Walter Nutt という従業員が、同僚のプロフィール写真をアーモンドからピーナッツに変更するいたずらを仕掛けようとしました(ピーナッツは本来マメ科であるため、とても陰湿です)。彼は、同僚のパソコンにはアクセスできませんでしたが、会社の Cloud Storage バケットにはアクセスできました。ターゲットのプロフィール写真を検索している際、Walter はバケットの全コンテンツをうっかり消してしまいました。
そしてコンテンツを復元する方法を探していたとき、他に 2 つの pistach.io バケットのアクセス権も変更しました。チームがこの権限の問題を解決するまで、会社の業務は 1 週間停止しました。
今後のスムーズな運用を台無しにされないためにも、そろそろ権限について少し見直さなければなりません。
チームはリソース管理者ガイドに沿って、特定の個人や Workspace アカウントに紐付けない特権管理者メールアドレスを作成し、強力な多要素認証で保護しました。これは、管理者アカウントが不正使用された場合に復元、修復できるようにするためのバックアップとなります。
チームはすでに Google Workspace を使用していたため、組織は設定済みでした。その作成プロセスで最初の特権管理者を確立し、組織内のその他すべてのリソースを作成、変更できるようにしていました。Google Cloud の使用に目を向けると、特権管理者は以下を行うことができました。
ユーザーに Cloud 用の管理者ロールを付与する
アカウント復元の連絡先の役割を担う
必要に応じて組織を変更または削除する
組織の管理者ユーザーを作成すると、チームが動転してすべてのユーザーにすべての権限を与える前に、他のユーザーが pistach.io のリソースやポリシーを具体化できます。これによって作業をスピードアップできますが、どのアカウントを不正使用しても非常に大きなアクセス権を得られるため、攻撃者はセキュリティ シェルを簡単に突破できます。これはまずいですね。
代わりに、IT リードは組織の管理者の役割を担う特定のユーザーを指定し、以下の権限を与えます。
リソース階層を構成する
特定のクラウド要素の制御をチームの他のメンバーに委任する
これらの組織管理者が設定されると、各組織管理者はコンピューティング、ストレージ、ネットワーキングなどのリソースタイプの管理と監視の権限を適切なリードに渡し、各自が実行する必要のあるロールに適切な権限のみを付与することができます。組織管理者は、これらのリソースを作成する権限を持たず、委任するだけです。
これで、各自が担当ジョブを遂行できるようになりましたが、過剰な権限は与えられていません。このような委任によって、組織全体を安全に保ち、誰かが侵入しようとしても、影響範囲を抑えられます。
こちらのチュートリアルでは、これらのステップをご自身でお試しいただけます。
デフォルトでは、ドメインの組織リソースを作成すると、全員がプロジェクトや請求先アカウントを作成できます。チームは pistach.io の組織管理者を設定した時点で、こうした幅広い権限のいくつかを削除することにしました。そして、端的に言えば、全員をより細かい制御下に置くことにしました。そのため、ユーザーはフォルダやプロジェクトの権限は得られますが、組織全体の権限は得られません。
管理者ロールには、安全に使用しないと深刻な被害をもたらす能力と、それに対する責任があるため、注意してください。Identity and Access Management を安全に使用し、データを保護しましょう。
次回は、本日作成したポリシーおよびリソース管理のフレームワーク内で実行するアプリを作成してプロビジョニングしてみます。
-Developer Relations エンジニア、Max Saltonstall