banner
ホームページ / ニュース / Google Cloud のサービス アカウント キーの有効期限機能によるセキュリティの強化
ニュース

Google Cloud のサービス アカウント キーの有効期限機能によるセキュリティの強化

Aug 13, 2023Aug 13, 2023

InfoQ ホームページ ニュース Google Cloud のサービス アカウント キーの有効期限機能によるセキュリティの強化

2023 年 8 月 8 日 3 分で読む

による

スティーフ・ヤン・ウィガーズ

Google Cloud は最近、有効期間の長いサービス アカウント キーに関連するセキュリティ上の課題に対処するために、サービス アカウント キーの有効期限を導入しました。 同社は、この機能により、「顧客は組織、フォルダー、プロジェクト レベルで組織ポリシーを構成して、新しいサービス アカウント キーの使用可能期間を制限できるようになりました」と述べており、これにより、キーの漏洩や侵害に関連するリスクが軽減されます。

以前は、サービス アカウント キーを作成するときに、Google Cloud ではユーザーが有効期限を指定できませんでした。 キーが削除されるか、サービス アカウント全体が削除されるまで、キーは有効のままでした。 キーの有効期限を設定できる機能が追加されたため、非運用環境やサービス アカウント キーでのみ認証できるサードパーティ ツールの使用など、特定のシナリオで役立ちます。 ただし、キーの有効期限を含めるようにデフォルト構成を変更すると、有効期間の長いキーに慣れている開発者にとっては、意図しない停止が発生する可能性があります。

ただし、すでに組織ポリシーを使用してサービス アカウント キーを無効にしている高度な組織の場合、サービス アカウント キーの有効期限は、組織のセキュリティ ポリシーを変更せずに一定期間キーの使用を許可する例外プロセスとしても機能します。

組織のクラウド管理者は、組織のポリシー ページに移動して、ID「constraints/iam.serviceAccountKeyExpiryHours」の制約を見つけることができます。 その後、編集を通じて、ポリシー適用を「置換」に設定して、8 ~ 2160 時間 (90 日間) の期間のカスタム許可ポリシーを構成できます。

サービス アカウントの有効期限を設定するための組織ポリシー ページのスクリーンショット (出典: Google Cloud ブログ)

あるいは、サービス アカウントのキーの有効期限を構成するには、キー ローテーションの実践を活用します。これは、既存のキーを新しいキーに置き換えてから、置き換えたキーを無効にするプロセスであり、実稼働ワークロードに推奨される方法です。 Google のブログ投稿で、著者らは次のように書いています。

組織内のサービス アカウント キーのキー ローテーションを設定する場合は、潜在的な停止を避けるために、キーの有効期限を使用するのではなく、クラウド資産インベントリを使用してキーを監視することをお勧めします。 これにより、キーの有効期限が近づき、キーをローテーションする時期が来たときに、開発者に警告通知を送信できるようになります。

さらに、以前の LinkedIn 投稿で、SoftServe の Google クラウド アーキテクトである Lukasz Boduch 氏は次のようにコメントしました。

では、Prod GCE またはその他の SA キーの有効期限が切れたらどうなるでしょうか? また、私の記憶が正しければ、少なくともこれがリリースされる前の時点では、Google は製品向けにこの機能を推奨したことはありません :)

そして:

ところで、以前は、有効期限が切れたキーをエクスポートできたことをご存知ですか? 必要なのは有効期限のある証明書だけなので、結局のところ、この「新しい」機能はそれほどクールで新しいものではありません。

Google Cloud のスタッフ ソリューション アーキテクトである Johannes Passing 氏は、2021 年初めのブログ投稿で次のように書いています。

サービス アカウント キーをアップロードすると、状況が異なります。サービス アカウント キーのアップロードは、自己署名 X.509 証明書を作成し、その証明書を PEM 形式でアップロードすることによって機能します。 X.509 証明書には有効期限があり、それを使用してサービス アカウント キーの有効性を制限できます。

他のクラウド プロバイダーも、Google のサービス アカウントと同様のアカウントを提供しています。 たとえば、Microsoft Azure では、サービス アカウントに相当するものを「サービス プリンシパル」と呼びます。 Google Cloud のサービス アカウントと同様に、サービス プリンシパルは、Azure 内のリソースにアクセスするアプリケーション、スクリプト、サービスを認証するためにも使用されます。 このアカウントには、作成時に設定できる有効期限もあります (デフォルトは 1 年です)。 ただし、ここでは、キーのローテーションがセキュリティ体制を改善し、侵害のリスクを軽減するための実践として定期的に認識されています。