変更要約: Professional Cloud Developer 第1章を新規作成(ドメイン1「設計」前半: 高性能アプリ/API=CE/GKE/Cloud Run/Functions・LB/セッションアフィニティ・Memorystore・REST/gRPC・Apigee/API Gateway・Pub/Sub/Eventarc/Cloud Tasks/Workflows・トラフィック分割、セキュアなアプリ=Secret Manager/Cloud KMS・サービスアカウント/Workload Identity Federation/ADC・最小権限・IAP・Binary Authorization・Artifact Analysis/SCC・Cloud Service Mesh)。
1.2セキュアなアプリの設計
シークレットと鍵の管理(Secret Manager・Cloud KMS)、サービスアカウントと Workload Identity Federation による認証、最小権限の IAM、Identity-Aware Proxy(IAP)による保護、Binary Authorization による成果物の検証、そして安全なサービス間通信を理解します。
クラウドネイティブアプリは安全に作ることが前提です。開発者は、秘密情報の扱い・認証・最小権限・成果物の信頼を設計に組み込みます。
1.2.1シークレット・鍵・認証
API キーやパスワードなどの シークレット は Secret Manager に保管し、コードに埋め込みません。暗号鍵は Cloud KMS で管理します。アプリの認証には サービスアカウント を使い、外部 ID(他クラウド/オンプレ/CI)からは鍵を配らず Workload Identity Federation で安全に連携します。Google Cloud への認証は アプリケーションデフォルト認証情報(ADC) を使うのが基本です。「秘密情報=Secret Manager」「アプリの権限=サービスアカウント+最小権限」「鍵を配らない=Workload Identity Federation」と結びます。
1.2.2保護と成果物の信頼
アプリへのアクセスは Identity-Aware Proxy(IAP) で ID ベースに保護し、VPN なしで安全に公開できます。IAM は 最小権限(基本ロールを避け事前定義/カスタム)で設計します。デプロイする コンテナイメージ は Binary Authorization で署名・検証し、信頼できる成果物だけを GKE/Cloud Run へ許可します。脆弱性は Artifact Analysis や Security Command Center で検知・対処します。サービス間は Cloud Service Mesh やネットワークポリシーで安全に通信します。「ID ベースのアクセス保護=IAP」「信頼できるイメージだけ許可=Binary Authorization」を押さえます。
「要件 → 手段」が頻出。例:「APIキー/パスワードを安全に保管」=Secret Manager、「コードに鍵を埋めず外部 ID から認証」=Workload Identity Federation、「ID ベースでアプリを保護」=IAP、「信頼できるイメージだけデプロイ」=Binary Authorization、「アプリに権限」=サービスアカウント+最小権限。
混同に注意:
①シークレットをコード/イメージに埋め込まない=Secret Manager。
②サービスアカウント鍵の配布を避け、可能なら Workload Identity Federation/短期credential。
③IAP(ID ベースアクセス)と Binary Authorization(成果物の信頼)は別の防御。
1.2.3この節のまとめ
- シークレット=Secret Manager、鍵=Cloud KMS、認証=サービスアカウント/ADC/Workload Identity Federation
- IAP で ID ベースにアプリを保護、IAM は最小権限
- Binary Authorization で信頼できるイメージだけデプロイ、脆弱性は Artifact Analysis/SCC
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. API キーやパスワードをコードに埋め込まず安全に保管・取得したい。最適なのはどれですか?
Q2. CI や他クラウドの外部 ID から、サービスアカウント鍵を配らずに Google Cloud へ認証したい。最適なのはどれですか?
Q3. VPN なしで、ID に基づいて社内アプリへのアクセスを保護したい。最適なのはどれですか?
Q4. 信頼できる(署名済みの)コンテナイメージだけを GKE/Cloud Run にデプロイ許可したい。最適なのはどれですか?
Q5. アプリケーション(ワークロード)に権限を与える主体として最も適切なのはどれですか?
Q6. デプロイ前後にコンテナイメージの脆弱性を検知したい。最適なのはどれですか?

