Google Cloud(旧Google Cloud Platform)でサービスアカウントの鍵を発行しようとした際に、「disableServiceAccountKeyCreation」という制約により鍵を作成できないことがあります。この制約は、セキュリティ強化のために組織レベルで設定されていることが多く、組織ポリシーを変更しない限り解除できません。この記事では、この問題の原因と、組織ポリシーを変更できない場合の対応方法について解説します。


サービスアカウントの鍵が発行できない原因
サービスアカウントの鍵作成時に以下のようなエラーが発生する場合があります。
“サービスアカウントキーの作成が無効になっています”
これは、GCPの組織ポリシーのdisableServiceAccountKeyCreation制約が有効になっていることが原因です。この制約は、サービスアカウントの外部鍵作成を禁止するもので、セキュリティリスクを軽減するために組織単位で適用されます。
特に、新しく組織を作成した際には、この制約がデフォルトで有効になっている場合があります。そのため、鍵を発行したい場合には、組織ポリシーを変更する必要があります。
組織ポリシーの変更方法
組織ポリシーを変更するためには、適切なIAM権限が必要です。具体的には、次のいずれかの権限を持つユーザーで操作を行う必要があります。
- Organization Policy Administrator(組織ポリシー管理者)
- Owner(オーナー)ロール
ポリシーの変更は、Google Cloud Console の「組織ポリシー」メニューから行います。
- ナビゲーションメニュー → [IAMと管理] → [組織ポリシー]
- 「disableServiceAccountKeyCreation」を検索
- ポリシーをクリックして詳細画面
- 青文字の「ポリシーを管理」をクリック
disableServiceAccountKeyCreationはレガシー版と2種類存在する場合があるので、その場合はどちらも対応が必要です。
組織ポリシーを変更する権限がない場合

組織ポリシーを変更しようとした際に、権限エラーが表示される場合があります。
この場合は、組織オーナーまたは管理者に権限を付与してもらう必要があります。
具体的には、対象ユーザーに「組織ポリシー管理者」または「オーナー」ロールを割り当ててもらいましょう。
また、オーナーが誰であるかわからない場合は、Google Workspaceの特権管理者がオーナーである可能性が高いです。
オーナーであっても変更できない場合の原因と対処
まれに、オーナー権限を持っているにもかかわらず、組織ポリシーが変更できないケースがあります。
この場合、以下のような要因が考えられます。
- 組織設定が完了していない
組織を作成した直後の段階では、まだ完全な設定が完了していないことがあります。
GCPでは、概念実証(PoC)環境と本番環境を選択し、さらに**支払情報(Billing情報)**を設定することで初めて組織の設定が完了します。 - 支払アカウントが紐づいていない
組織に請求先アカウントが設定されていないと、一部のポリシー設定が変更できない場合があります。
「請求」メニューから支払アカウントを確認し、組織に関連付けてください。
まとめ
disableServiceAccountKeyCreation制約によりサービスアカウントの鍵を発行できない場合は、まず組織ポリシーを確認することが重要です。
- 組織ポリシーが原因である場合、「disableServiceAccountKeyCreation」を許可に変更する
- 組織ポリシーの変更権限がない場合は、オーナーまたは管理者に依頼する
- オーナーでも変更できない場合は、組織設定や請求情報の未完了を確認する
これらの手順を踏むことで、GCP上でサービスアカウントの鍵を発行できるようになります。セキュリティを考慮しつつ、必要に応じて鍵の発行を行いましょう。
わからないことがあれば弊社にお気軽にご相談ください。


コメント