カスタム制約を使用して関数リソースを管理する
このページでは、gcloud functions
コマンドまたは Cloud Functions v2 API を使用して作成された関数にカスタム制約を設定するための補足情報を提供します。
Cloud Run を使用して関数を作成またはデプロイした場合は、Cloud Run のプロジェクトのカスタム制約を管理するガイドで、カスタム制約の使用方法の詳細をご覧ください。
制限事項
Cloud Functions v2 API 関数にカスタム組織のポリシーを使用する場合、次の制限が適用されます。
- 一括挿入 API を使用する場合、VM インスタンス名には適用されません。
- Compute Engine リソースの
CREATE
メソッドにのみ適用されます。 - Cloud Functions v2 API でのみ使用できます。Cloud Run functions(第 1 世代)には適用できません。
- Cloud Functions v2 API を使用する場合にのみ関数が保護されます。Cloud Run functions は、Cloud Run API からも変更できます。保護を強化するため、Cloud Run へのカスタム制約の適用も必要になる場合があります。
一般的な組織のポリシーの例
次の表に、実際に役に立つ可能性のあるカスタム組織のポリシーの構文を示します。
説明 | 制約の構文 |
---|---|
特定の言語で関数を作成できないようにする |
name: organizations/ORGANIZATION_ID/customConstraints/custom.cloudFunctionRuntimeBlock resource_types: cloudfunctions.googleapis.com/Function method_types: - CREATE - UPDATE condition: resource.buildConfig.runtime == "python312" action_type: DENY display_name: Deny functions using Python 3.12 description: Functions cannot be created with Python 3.12 as the language runtime |
関数が特定のワーカープールを使用することを必須にする |
name: organizations/ORGANIZATION_ID/customConstraints/custom.cloudFunctionsWorkerPool resource_types: cloudfunctions.googleapis.com/Function method_types: - CREATE - UPDATE condition: resource.buildConfig.workerPool == "WORKER_POOL" action_type: DENY display_name: Require worker pool description: Functions must use a worker pool |
関数がすべてのコンテナ イメージを特定のイメージ リポジトリに保存することを必須にする |
name: organizations/ORGANIZATION_ID/customConstraints/custom.cloudFunctionsRepository resource_types: cloudfunctions.googleapis.com/Function method_types: - CREATE - UPDATE condition: resource.buildConfig.dockerRepository.startsWith("REPO_PATH") action_type: DENY display_name: Image repository constraint description: Functions must push images to a central image repository under REPO_PATH |
次のステップ
- 組織のポリシーの詳細について、組織のポリシー サービスの概要を確認する。
- 組織のポリシーの作成と管理の方法について学習する。
- 事前定義された組織のポリシーの制約の完全なリストを確認する。