たろログ2

実験的運用により、記事品質が乱高下することがあります。予めご了承ください。

2022-06-21 Google Cloud Professional Cloud Security Engineer 模擬試験の解説

Google Cloud Professional Cloud Security Engineer 模擬試験の解説

Google Cloud Professional Cloud Security Engineer の模擬試験を解いた。その後、その解説を確認し、掘り下げを行った。

その内容について、以下にまとめていく。

Cloud Identity による一括管理

問題

ある組織のデベロッパーが Google Cloud でいくつかのアプリケーションのプロトタイピングを行っており、Google Cloud に機密情報を保管することにしました。デベロッパーは、個人用 / 一般ユーザー向けの Gmail アカウントを使用して、Google Cloud 内でプロジェクトを設定、管理しています。セキュリティ エンジニアは、プロジェクトが一元管理されていないことと、そうしたアカウントに保管されているデータへのアクセスの面から、その手法が経営陣にとっての懸念事項になっていることを確認しました。この問題を解決するには、どのソリューションが効果的ですか?

回答

Cloud Identity を設定して、デベロッパーに対し、Google Cloud での作業には対象のアカウントを使用するよう義務付ける。

解説

アカウント管理についての Google のベストプラクティスは、 Cloud Identity を利用した一括管理。

Google Workspace を利用して雇用先でも行っていることであり、なじみ深いやつ。

Cloud Identity とサードパーティアプリケーションとの連携

問題

あるお客様が、Cloud Identity を主要 IdP として使用したいと考えています。このお客様は、CRM やメッセージング、顧客チケット発行管理などで、Google Cloud 以外の SaaS プロダクトも使用したいと考えています。また、シングル サインオン(SSO)機能で、Google Cloud や Google Cloud 以外のアプリケーションへのアクセスを保護することで、従業員エクスペリエンスも改善しようとしています。それにより、承認済みのユーザーのみ、そうしたサードパーティのアプリケーションにアクセスできるようにします。このお客様がこうした要件をクリアするためには、どのようなアクションが求められますか?

回答

サードパーティ アプリケーションの設定で、Google Cloud IdP の認証および承認を連携するよう指定する。

解説

IdP とは以前調べた通り Identity Provider のこと。

主の IdP として Cloud Identity を利用し、サードパーティのアプリケーションを SAML、もしくは OIDC によって連携させることがベストプラクティスである。

それによって、ユーザアカウントの一括管理、自動プロビジョニングを行うことができる。 IdP 側でユーザアカウントを作成するとサードパーティ側のアプリケーションにおいてもユーザのアカウントが作成され、同様に削除するとサードパーティ側のアプリケーションにおいても削除される。

ただし、この方法を行うためには Cloud Identity 側にそれぞれのアプリに対応した「自動プロビジョニングコネクタ」というものがある必要がある。これがないアプリについては、SAML の設定のみで簡易に利用することができる JIT (Just In Time) プロビジョニングというものを利用するのがよい。

ただし JIT はユーザのプロビジョニングのみで、ユーザのプロビジョニング解除がサポートされていない。そのため、退職者が出た場合の、アプリからのユーザアカウント削除については手動で行う必要がある。

可能であれば、サービスプロバイダと協力して、 Cloud Indentity に対応したコネクタを開発することが推奨される。

コネクタを持つアプリケーションの一覧は以下にある。

https://support.google.com/cloudidentity/topic/7661972

既存の IdP の利用

問題

あるお客様が、Google Cloud でソリューションを開発する際に、ネイティブ認証の要件がある既存のユーザー ディレクトリを使用したいと考えています。また、既存のツールと機能を利用して、使い慣れたインターフェースからユーザーのアクションに関する分析情報を収集したいと考えています。このお客様の要件を満たすためには、どうすればよいですか?

(A customer needs to rely on their existing user directory with the requirements of native authentication when developing solutions in Google Cloud. They want to leverage their existing tooling and functionality to gather insight on user activity from a familiar interface. Which action should you take to meet the customer's requirements?)

回答

お客様のユーザー ディレクトリを ID プロバイダとして使用し、Cloud Identity を SAML 2.0 サービス プロバイダに設定する。

解説

問題文を分解する。

  1. 「ネイティブ認証の要件がある既存のユーザーディレクトリ」を使用したい
  2. 「ユーザーのアクションに関する分析情報を収集」したい

重要なのはこの二つ。

ユーザディレクト

ユーザやグループの情報を格納しておくところ。アクティブディレクトリのようなもの。

アクティブディレクト

ディレクトリサービスの一種。 Windows 端末をドメインコントローラによって一括管理する。

ディレクトリサービス

コンピュータネットワーク上のリソース(資源)とその所在や属性、設定などの情報を収集・記録し、検索できるようにしたサービス。

AD や LDAP の他、 DNS もおそらく該当する。

ネイティブ認証

おそらく、外部サービスに依存せず自身で認証を行うことを、 Native Authentication と呼称しているのではないかと理解した。

mysql であれば MySQL :: Security in MySQL :: 6.1.1 Native Pluggable Authentication に「Native Pluggable Authentication」というのが記載されており、それはユーザ名およびパスワードの組によって、自データベースで認証を行うものだった。

また、 ORACLE にも Using NATIVE authentication (oracle.com) というのがあり、これもまたユーザ名およびパスワードによって自データベースにユーザ名とパスワードを保存、自ら認証を行うものだった。自分自身で完結する認証。

ここでは、 Google Cloud の IdP を利用するのではなく、既存のユーザディレクトリ自身の認証機能を用いて認証を行うことを指しているのだろうと思う。

終わり

今日はここまで。「ユーザーのアクションに関する分析情報を収集」することについては引き続き後日実施する。