エンタイトルメントとクォータ管理:パターンと原則

- エンタイトルメントはサービスプランを使用する契約上の権利であり、クォータは消費量の数値上限を設定します。これらはグローバルアカウントから、オプションの管理ディレクトリを経由して、実際にサービスがプロビジョニングされるサブアカウントへと流れます。
- Cockpitベースのエンタイトルメント管理は実運用に対応していますが、マルチチームでのコスト配分と自動化されたクォータガバナンスには、環境全体で一貫して機能させるための意図的な組織的規律が依然として必要です。
- エンタイトルメント設定を一度きりのセットアップ手順として扱うのはやめましょう。マルチチームのBTPランドスケープでは、クォータ割り当ては繰り返し発生するガバナンス活動です。サブアカウントがクォータを超過すると、猶予期間なしで即座にサービスのプロビジョニングが失敗します。
本記事の位置づけ
| ID | カテゴリ | コンポーネント | スコープ |
|---|---|---|---|
| BTP-F01 | 概要 | BTPアーキテクチャ設計 | 概要と主要な判断事項 |
| BTP-F02 | アカウント設計 (1) | サブアカウント設計 | パターンと原則 |
| BTP-F03 | アカウント設計 (2) | エンタイトルメントとクォータ管理 | パターンと原則(本記事) |
| BTP-F04 | 認可 (1) | ロールコレクション設計 | パターンと原則 |
| BTP-F05 | 認可 (2) | 命名規則 | パターンと原則 |
| BTP-F06 | 開発と移送 | CI/CDと移送管理 | パターンと原則 |
| BTP-F07 | ユースケース | BTPアーキテクチャ設計 | ユースケースと判断パターン |
参考資料
| リソース | URL |
|---|---|
| エンタイトルメントとクォータ | help.sap.com → |
| サブアカウントのエンタイトルメントとクォータの設定 | help.sap.com → |
| コックピットを使用したエンタイトルメントとクォータの管理 | help.sap.com → |
| 従量課金制商用モデルとは | help.sap.com → |
| 使用状況と消費コストの監視 | help.sap.com → |
1) エンタイトルメントの状況

SAP BTPのエンタイトルメントとクォータ管理は、5つの異なる概念に基づいて運用されます。それぞれが特定の役割を担っており、これらを混同するとガバナンスに欠陥が生じます。
| 概念 | 説明 | 主な管理者 | |
|---|---|---|---|
| エンタイトルメント | グローバルアカウント内で特定のサービスプランをプロビジョニングする契約上の権利 | グローバルアカウント管理者 | |
| クォータ | サブアカウントが消費できるエンタイトルメントサービスの数値上限 | グローバルアカウント管理者 | |
| サービスプラン | BTPサービスのコスト・ベネフィットのバリエーション(例:「標準」と「プレミアム」の階層) | アーキテクト / 開発者 | |
| 管理ディレクトリ | 子サブアカウントにクォータを確保・再配分するオプションの組織レイヤー | プラットフォームチーム | |
| CFスペースクォータ | Cloud Foundryスペース内のサブサブアカウント制限。1つのチームがサブアカウント全体の割り当てを使い果たすのを防ぐ | CF組織管理者 |
これらは代替ではありません。エンタイトルメントはサブアカウントで利用可能なサービスを定義し、クォータは各サービスの消費可能量を決定し、管理ディレクトリは特定のクォータプールにアクセスするサブアカウントを制御し、CFスペースクォータはCloud Foundry環境内で最終的な実施レイヤーを提供します。マルチチーム環境では、各レベルが独立して必要です。[信頼性: 高 — SAP Help Portal、help.sap.com/docs/btp/sap-business-technology-platform/entitlements-and-quotas]
2) S/4HANA への接続方法

S/4HANA 拡張、統合、または分析ワークロードで消費されるすべてのBTPサービスは、ターゲットサブアカウントに対して明示的に権限付与される必要があります。S/4HANAの契約やライセンスからの自動継承はありません。権限付与レイヤーは、グローバルアカウント(購入契約)と開発者がサービスをプロビジョニングするサブアカウントの間に位置します。権限付与が欠落している場合、警告は発生せず、プロビジョニングのハード障害が発生します。
SAP S/4HANA Cloud / On-Premise S/4HANA
│ Extensions, Integrations, Analytics
▼
┌──────────────────────────────────────────────┐
│ SAP BTP Global Account │
│ Purchased: CF Runtime, HANA Cloud, CPI, │
│ SAC, Build Work Zone, Kyma… │
│ │
│ ┌───────────────────────────────────────┐ │
│ │ Managed Directory: PROD Workloads │ │
│ │ Reserved quota: 200 GB CF, 3 HANA │ │
│ │ │ │
│ │ Subaccount: S4-EXT-PROD │ │
│ │ CF: 64 GB | HANA Cloud: 1 │ │
│ │ │ │
│ │ Subaccount: CPI-PROD │ │
│ │ SAP Integration Suite: 1 │ │
│ │ CF: 64 GB │ │
│ │ │ │
│ │ Subaccount: Analytics-PROD │ │
│ │ HANA Cloud: 2 | CF: 72 GB │ │
│ └───────────────────────────────────────┘ │
└──────────────────────────────────────────────┘重要ポイント: SAP S/4HANA Cloud Extensibility サービスプランでは、拡張API通信設定を作成する前に、独自の明示的なBTPエンタイトルメントが必要です。この依存関係は要件収集時に見落とされがちで、最初の統合スプリント中に障害として顕在化します。[確信度: 高 — SAPヘルプポータル]
3) 成熟度マップ

| 機能 | 成熟度 | 備考 | |
|---|---|---|---|
| コックピットベースのエンタイトルメント管理 | ✅ 本番利用可能 | 安定、ロール制御、監査ログ対応。全アカウントタイプで利用可能。 | |
| ディレクトリレベルのクォータ予約 | ⚠️ 前提条件あり | ディレクトリ作成時に「管理ディレクトリ」の有効化が必要。子アカウントを再編成しない限り、既存のディレクトリには追加不可。 | |
| CFスペースクォータ | ✅ 本番利用可能 | 成熟したCF機能。複数の開発チームがいる共有サブアカウントでは必須。 | |
| BTP CLIクォータ管理 | ⚠️ 前提条件あり | btp CLIはエンタイトルメントコマンドに対応。ツールチェーンのセットアップとエンタイトルメントの信頼できる情報源の定義が必要。 | |
| Terraform SAP BTPプロバイダー | ⚠️ 前提条件あり | hashicorp/btpプロバイダー(コミュニティティア)はエンタイトルメントリソースをカバー。注意深い状態管理が必要。 | |
| コックピットのコストと使用状況監視 | ✅ 本番利用可能 | 全アカウントで利用可能。設定可能なしきい値アラート。 | |
| サブアカウントのチャージバック | ⚠️ 前提条件あり | 初日から一貫したラベリングが必要。ネイティブの自動チャージバックエンジンはなし — 手動でエクスポートおよび処理。 | |
| SAPリソース消費モニター | 🔶 アーリーアダプター | オープンソース(GitHub上のSAP-samples)。CPEAの異常検知。セルフホスティングが必要。 |
3つの機能は、すべてのアカウントタイプで一貫して本番環境に対応しています。それは、コックピットベースの管理、CFスペースクォータ、およびコストと使用量のモニタリングです。残りの機能はすべて利用可能ですが、確実に動作させるには、組織的な設定またはツールチェーンへの投資が必要です。[信頼度: 高 — SAP Help Portal, help.sap.com/docs/btp/sap-business-technology-platform/managing-entitlements-and-quotas-using-the-cockpit]
4) 要件チェックリスト
エンタイトルメント計画

| チェックリスト項目 | 重要性の理由 |
|---|---|
| プロジェクトで使用するすべてのBTPサービスと、その正確なサービスプラン名を特定する | プラン名の正確さが重要 — “standard"と"enterprise"ではプロビジョニング結果が異なり、不一致があっても明確なエラーは発生しない |
| スプリント計画前に、グローバルアカウントで必要なすべてのプランが契約されていることを確認する | スプリント途中でエンタイトルメントの不足が判明すると、プラットフォーム管理者の介入が必要となり、通常1~3営業日を要する |
| 商用モデルがサブスクリプション(固定クォータ)か従量課金ベース(通常は無制限)かを確認する | 固定クォータの場合は環境ごとのキャパシティ計画が必要、従量課金の場合は支出監視が必要 |
| 各サービスを必要とするサブアカウントと、環境(開発、テスト、本番)ごとのクォータをリスト化する | 開発環境には本番よりも低いクォータが必要。非対称な割り当てを意図的に文書化する |
| S/4HANA Cloud統合が対象範囲に含まれる場合、SAP S/4HANA Cloud Extensibilityプランの要件を文書化する | 拡張API通信のための必須前提条件 — これがないとすべてのクロスシステム呼び出しがブロックされる |
| マルチテナントSaaSアプリケーションのサブスクリプション試行前に、プランが割り当てられていることを確認する | プラン割り当てはサブスクリプションに先行する必要がある。割り当てがないと、コックピットにサブスクリプションオプションが表示されない |
ディレクトリとサブアカウントのガバナンス

| チェックリスト項目 | 重要性 |
|---|---|
| ディレクトリ作成前に管理ディレクトリと非管理ディレクトリのどちらを使用するか決定する | 管理ステータスは後から追加できません。これは一方通行のアーキテクチャ上の決定です |
| 組織のコスト所有権に合わせてディレクトリ階層を定義する | ディレクトリの境界によって、組織ドメインごとのクォータ範囲とコックピットの可視性が決まります |
| グローバルアカウント管理者とディレクトリ管理者のロールを保持する担当者を特定する | グローバルアカウント管理者のみがエンタイトルメントを割り当て可能です。ディレクトリ管理者は大規模環境でのボトルネックを軽減します |
| 標準サービスセットに対して管理ディレクトリの自動割り当てを有効にする | 新しいサブアカウントごとに手動で割り当てると、大規模環境ではエラーが発生しやすくなります |
| サブアカウントへの新しいサービスプラン追加に関する承認プロセスを確立する | プロセスがないと、エンタイトルメントが拡散し、コスト責任の管理体制が崩壊します |
クォータ割り当てと制限
| チェックリスト項目 | 重要性の理由 |
|---|---|
| CPEA/BTPEA無制限プランでも、サブアカウントごとに明示的な数値クォータを割り当てる | グローバルレベルで無制限でもサブアカウントレベルでは無制限ではない — 明示的な制限によりチームの説明責任を徹底 |
| 共有CFサブアカウント内の各スペースにCFスペースクォータプランを設定する | スペースクォータがないと、1つのチームがサブアカウントの200 GBメモリ割り当てをすべて使い果たす可能性がある |
| 緊急増加用にディレクトリレベルで未割り当てクォータバッファを確保する | リクエストのたびにグローバル管理者にエスカレーションすることなく、クォータ増加を可能にする |
| ランタイムを有効化する前に、Kymaランタイムエンタイトルメントが割り当てられていることを確認する | Kymaはデフォルトでは利用不可 — エンタイトルメントがないとランタイム作成がブロックされる |
| 開発環境のクォータが本番環境より低く、文書化されていることを確認する | 環境間でクォータが対称だと容量が無駄になり、環境の境界が曖昧になる |
モニタリングとアラート

| チェックリスト項目 | 重要性 |
|---|---|
| BTPコックピットで消費量しきい値アラート(50%、75%、90%)を設定する | クレジットのサイレント枯渇は、計画外のBTPコスト超過の最も一般的な原因です |
| 明確なエスカレーションパスを持つアラート受信者を割り当てる | 所有者のいない共有メールボックスに送信されたアラートは、実質的にアラートとして機能しません |
| サブアカウントごとに月次消費量レビューを確立する | 月次レビューにより、クレジット不足に発展する前に、緩やかな異常を早期に発見できます |
| 初日からサブアカウントとサービスインスタンスにラベル(プロジェクト、コストセンター、チーム)を適用する | 事後的なラベル付けでは過去のコストデータを復元できません。ラベルは最初から一貫して適用する必要があります |
| CPEA異常検出のためにSAP Resource Consumption Monitorを評価する | 標準のコックピットでは異常検出が提供されません。オープンソースのモニターがこのギャップを補います |
これらの4つのモニタリング要件は、商用モデルに関係なく適用されます。BTPコックピットはアラートとレポートの基盤を提供しますが、ラベリングとレビューの頻度は組織的な取り組みであり、ツールだけでは代替できません。[確信度: 高 — SAPヘルプポータル、help.sap.com/docs/btp/sap-business-technology-platform/monitoring-usage-and-consumption-costs-in-your-global-account]
5) 意思決定基準
最初に問うべき3つの質問

Q1. 複数のBTPサブアカウントやプロジェクトチームがあり、サービス消費状況を把握できていない、あるいはエンタイトルメントの欠如やクォータの枯渇によりプロビジョニングに失敗した経験はありますか?
はい、その場合は次のサブアカウントを作成する前に、エンタイトルメントガバナンスモデルが必要です。エンタイトルメント不足によるプロビジョニングの失敗は、最も悪いタイミング、つまりチームの依存関係が最も高まる統合スプリント中に表面化します。構造化されたエンタイトルメント計画プロセスにより、これを実行時の障害からスプリント0のチェックリスト項目に変換できます。[確信度: 高]
Q2. BTPのコスト負担はどこに帰属するのか — 中央IT予算か、プロジェクトチームか?サブアカウントレベルの消費を追跡・調整するのは誰か?
これにより、チャージバックインフラ(ラベル、月次エクスポート、内部請求)が必要か、それともショーバックレポート(財務的な影響を伴わない可視化)が必要かが決まります。ショーバックから始めた組織は、チームが実際の使用状況を把握すると、多くの場合チャージバックへと移行します。初日からのラベル付けの規律は、手戻りなく両方のオプションを維持可能にします。[確信度: 中]
Q3. プロジェクトチームの承認なしにエンタイトルメントやクォータを調整する権限を持つ、指名されたBTPプラットフォーム管理者はいますか?
このロールがない場合、すべてのエンタイトルメントのギャップがチーム間の交渉になります。管理者には、技術的なアクセス権(Global Account Administratorロール)と、迅速に行動するための組織的な権限の両方が必要です。明確な決定権限を持たない複数の担当者間で非公式に責任を共有すると、エンタイトルメントのリクエストが日常的に数日遅延します。
プロジェクトコンテキストによるドメイン選択

| プロジェクトの状況 | 推奨されるアプローチ |
|---|---|
| 単一プロジェクト、単一チーム、1つのサブアカウント | サービスリストごとに直接エンタイトルメントを割り当て。ディレクトリは不要 |
| 複数のプロジェクトで1つのグローバルアカウントを共有 | プロジェクトごとに個別のサブアカウント。ドメインごとに管理ディレクトリ。コストセンター別にラベルを設定 |
| 10以上のサブアカウントを持つ大規模環境 | クォータ予約と自動割り当て機能付き管理ディレクトリ。ドメインごとにディレクトリアドミンを配置 |
| クレジット監視が必要なCPEAまたはBTPEA | コックピットのしきい値アラート。異常検知にSAP Resource Consumption Monitorを活用 |
| 新規サブアカウントへの自動エンタイトルメントが必要 | 標準サービスセットの自動割り当て機能付き管理ディレクトリ |
| 明確な課題が未特定 | 停止。Q1に戻ってください。 |
ライセンスとコスト

| 商用モデル | ライセンスモデル | 確認すべき重要事項 | |
|---|---|---|---|
| CPEA | 前払いクレジット、年単位;ほとんどのサービスで無制限の割り当て | サブアカウントごとの月間クレジット消費率はどの程度か? | |
| BTPEA | 前払いクレジット、年単位;新サービスを含む;超過分は定価 | 新たに利用可能なサービスを追跡し、既存の権利マトリックスに追加しているか? | |
| Pay-As-You-Go | 月次後払い;割引なし;無制限の割り当て | 請求ショックを早期に検知するため、各サービスの月次コストを監視しているか? | |
| サブスクリプションベース | 固定割り当て;ハードキャップ | 本番稼働時に開発、テスト、本番環境を同時にプロビジョニングし、割り当てを超過した場合、どうなるか? | |
| CF Runtime(全モデル) | サブアカウントあたりデフォルト200 GB;消費モデルでは実使用量に基づき課金 | 1つのスペースが200 GBをすべて消費しないよう、CFスペースの割り当てを設定しているか? |
6) よくある障害

障害1: Go-Live時のクォータ枯渇
プロジェクトは最終スプリントにおいて、開発、テスト、本番の各サブアカウントを同時にプロビジョニングします。各環境には同じサービスが必要ですが、クォータは2つ分しかカバーしません。本番環境のプロビジョニングが失敗します。クォータは単一環境向けに計画されており、3つのランドスケープが並行して存在することを考慮していませんでした。復旧にはグローバル管理者が必要ですが、週末の切り替え作業期間中は対応できません。
障害 2: 包括的な過剰権限付与
グローバル管理者は、リクエストの摩擦を減らすために、利用可能なすべてのプランをすべてのサブアカウントに割り当てます。開発者アカウントは、HANA Cloudやその他の本番環境レベルのサービスにアクセスできるようになります。コスト監査により、サンドボックスアカウントでプロビジョニングされ、クリーンアップされていないインスタンスが発見されます。最小権限のエンタイトルメントモデル(要件段階でレビューされたサブアカウントごとに1つのサービスリスト)は、意図しないプロビジョニングとクリーンアップコストの両方を防ぎます。[確信度: 中]
障害 3: SAP がクレジットアラートを送信するまで監視が行われない
CPEA クレジット残高の確認は、契約更新時のみ行われます。キャップなしのサブアカウントで新しいプロジェクトが6週間稼働した後、SAP が生成する残高枯渇警告が届きます。残高が15%になると、緊急の追加補充交渉なしでは、残りの本番稼働を維持できなくなります。Cockpit のしきい値アラート(50/75/90%)と毎月の内部レビューにより、これを防ぐことができます。[確信度: 中 — SAP Help Portal の監視に基づく]
障害4: ディレクトリ構造がスキップされた
すべてのサブアカウントは、ディレクトリなしでグローバルアカウント直下に配置されています。このランドスケープは18か月の間に3から14のサブアカウントに拡大しました。現在、本番環境と開発環境の間に組織的な境界はなく、ドメインごとにクォータを確保する方法もありません。後から管理ディレクトリを追加するには、サブアカウントの移動が必要となり、サービスインスタンス、エンタイトルメント、ユーザーロール割り当てに影響を及ぼします。これは段階的に実行できない破壊的な変更です。
障害5: CFスペースクォータの省略
A CF サブアカウントが、スペースクォータプランなしで3つの開発チーム間で共有されています。あるチームのパフォーマンステストが複数の並列インスタンスをデプロイし、サブアカウントの200 GBメモリ制限に達しました。他の2つのチームは、テストが完了するまでデプロイできません。スペースごとに50~70 GBのスペースクォータを設定していれば、影響をテストチームのスペース内に抑え、他のチームに影響を与えずに済んだでしょう。
障害6: 要件チェックリストに権利依存関係が含まれていない
プロジェクトでは、ポータル層としてSAP Build Work Zoneが必要です。しかし、該当のサービスプランがエンタイトルメントマトリックスに含まれていません。ビルドスプリント中にサブスクリプションを試みたところ、プランが割り当てられていないために失敗しました。プラットフォーム管理者は月曜日まで対応できません。SAP Build Work Zoneはマルチテナントアプリケーションであり、コックピットにサブスクリプションオプションが表示される前に、そのプランを割り当てておく必要があります。この依存関係は、実装中に発見されるのではなく、要件定義の段階で把握されなければなりません。
FAQ
Q: エンタイトルメント管理は、オンプレミスのS/4HANA拡張機能とSAP S/4HANA Cloudで同じように機能しますか?
BTP エンタイトルメントは、バックエンドがオンプレミスかクラウドかに関わらず、BTP レベルで適用されます。エンタイトルメントシステムは、オンプレミスの ABAP スタックと直接的な接続はありません。ただし、SAP S/4HANA Cloud に接続する場合は、API 通信設定を作成する前に、SAP S/4HANA Cloud Extensibility サービスプランを BTP サブアカウントに割り当てる必要があります。SAP Connectivity Service を介したオンプレミス接続には、独自のサービスプランの要件があります。これらは両方とも、BTP アーキテクチャ計画時に考慮する必要があります。[確信度: 高]
Q: CPEA または BTPEA において、ほとんどのサービスに無制限のクォータが設定されている場合でも、クォータを設定する必要はありますか?
はい。グローバルレベルでの無制限クォータは、SAPがプロビジョニングをブロックしないことを意味しますが、内部ガバナンスの失敗に対する保護は提供しません。サブアカウントごとに明示的な数値制限がない場合、どのチームでも権限のあるサービスを制限なくプロビジョニングでき、コストのチャージバックや異常検知が不可能になります。サブアカウントレベルのクォータ制限(控えめなものでも)を設定することで、説明責任を可能にするガバナンスの境界が生まれます。リクエストに応じて制限を引き上げることは常に可能ですが、6か月間監視されていない消費を事後的に説明することはできません。[信頼性: 高 — SAPヘルプポータル]
Q: エンタイトルメントガバナンスを初期プロジェクトスコープから除外すべきタイミングはいつですか?
単一チーム、単一サブアカウント、拡張予定のない短期プロジェクトに限る。プロジェクトで開発用と本番用のサブアカウントを分けている場合、エンタイトルメント計画はDay 0の要件であり、Day 2の最適化ではない。エンタイトルメントマトリックスの維持や月次レビューといったオーバーヘッドは、本番稼働時のプロビジョニング障害やプロジェクト途中でのクレジット枯渇イベントからの復旧コストに比べれば低い。[確信度: 中]
Q: エンタイトルメント要件を適切に文書化するにはどうすればよいですか?
BTPアーキテクチャ文書の一部として、エンタイトルメントマトリックスを維持してください。各サブアカウントについて、サービス名、プラン、必要クォータ(または「無制限」)、根拠、および消費を所有するチームを記載します。プロジェクトの各マイルストーンでマトリックスをレビューしてください。これをBTP運用ランブックに含め、プラットフォーム管理者が運用レビュー時に実際の割り当てと目標状態を検証できるようにします。[信頼性: 中]
Q: マネージドディレクトリと通常のディレクトリの違いは何ですか?
通常のディレクトリは、ナビゲーションとモニタリングのための純粋な組織上のグループ化です。管理ディレクトリは、グローバルアカウントからその子サブアカウント向けにクォータを確保します。そのクォータは他の場所に割り当てることはできません。管理ディレクトリは自動割り当てもサポートしており、その中に新しく作成されたサブアカウントにエンタイトルメントを自動的に配分します。管理ステータスはディレクトリ作成時に設定する必要があり、子アカウントを再編成せずに後から追加することはできません。このため、管理対象か非管理対象かの判断は、恒久的なアーキテクチャ上の選択となります。[信頼性: 高 — SAP Help Portal]
Q: 1つのチームが共有グローバルアカウント内のすべてのCPEAクレジットを消費しないようにするにはどうすればよいですか?
コックピットで、グローバルクォータが無制限のサービスに対しても、サブアカウントごとに数値クォータ制限を適用します。「コストと使用量」で、予想される月間クレジット予算の50%、75%、90%にしきい値アラートを設定し、権限のある担当者に割り当てます。サブアカウントごとに月次消費レビューを実行します。5つ以上のサブアカウントがあるランドスケープの場合、SAP Resource Consumption Monitor(GitHub上のSAP-samples)は、組み込みのコックピットツールを超えた日次モニタリングと異常検出を追加します。[確信度:中 — SAP Community]
概要

エンタイトルメントとクォータ管理は、各チームがどのBTPサービスをどれだけ利用できるかを決定するガバナンス層です。その階層は、グローバルアカウント(購入したエンタイトルメント)から、オプションの管理ディレクトリ(クォータ予約と自動割り当て)を経て、サブアカウント(消費)へと続きます。CPEA、BTPEA、Pay-As-You-Goといった従量課金モデルでは、ほとんどのサービスがグローバルレベルで無制限のクォータを持ちますが、それでもサブアカウントごとの制限設定は不要になりません。明示的な制限がなければ、コストの説明責任やチャージバックは不可能です。
ここで最も一般的な障害は技術的なものではなく、計画上のものです。要件収集時のエンタイトルメントの見落とし、ディレクトリ構造の決定の省略、CFスペースクォータの設定漏れ、初日からのラベル適用の失敗は、すべて要件段階での選択であり、数週間後に運用上および財務上の結果をもたらします。これに対する正しい対策は、エンタイトルメントマトリックスと月次の消費レビューです。これらは、本番稼働の妨げやクレジット超過を初めて防止した時点で元が取れる、オーバーヘッドの少ない規律です。[確信度:高 — SAPヘルプポータル、help.sap.com/docs/btp/sap-business-technology-platform/entitlements-and-quotas]