本文へ移動
cccskills
無料GitHub で公開

multi-tenancy

Use when implementing tenant resolution, database or schema isolation, Hibernate 7 tenancy, reactive tenant context, migrations, caches, jobs, or authorization in Spring Boot 4.

インストール方法を見る

含まれるファイル(4)

  • SKILL.md2.5 KB
  • agents/openai.yaml186 B
  • examples/bad-tenant-filter.java118 B
  • examples/good-tenant-filter.java1.2 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Multi-Tenancy

Treat tenant identity as an authorization boundary, not a query convenience.

Choose an isolation model

  • Database per tenant: strongest isolation and highest operational cost.
  • Schema per tenant: strong logical isolation with shared infrastructure.
  • Shared schema with tenant_id: simplest operations, but every data path must enforce scope.
  • Document the model and prohibit unrestricted repository access outside audited administration.

Resolve tenant identity

  • Derive tenant from a verified token claim, trusted host mapping, or authenticated API key.
  • Reject missing, unknown, disabled, or conflicting tenant identifiers.
  • Never trust a public X-Tenant-Id header by itself.
  • Clear servlet thread-local state in finally; use Reactor Context for reactive flows.

Enforce isolation

  • Resolve tenant before opening a Hibernate session, transaction, or R2DBC connection.
  • Include tenant in unique constraints, cache keys, idempotency keys, and object paths.
  • Prevent cross-tenant joins and unrestricted native queries.
  • Authorize support impersonation explicitly and audit the actor, tenant, reason, and duration.

Operations

  • Run migrations per database/schema with resumable progress and version reporting.
  • Propagate tenant explicitly into messages, scheduled jobs, batch parameters, and async tasks.
  • Apply quotas and bounded tenant labels for noisy-neighbor visibility.
  • Test attempted cross-tenant reads, writes, cache access, and job execution.

Examples

  • See examples/good-tenant-filter.java and examples/bad-tenant-filter.java.

Official sources

Gotchas

  • Agent trusts caller-supplied tenant headers - derive tenant from authentication.
  • Agent resolves tenant after the transaction starts - routing may already be fixed.
  • Agent scopes SQL but not caches or idempotency records - data can still cross tenants.
  • Agent leaks servlet ThreadLocal state - always clear it in finally.
  • Agent uses tenant IDs as unbounded metric tags - keep IDs in logs/traces or aggregate metrics.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Use when adding Spring AI-specific model observations, token usage, latency, externally configured cost attribution, advisor telemetry, or protected prompt and completion logging. Use production-observability for general service metrics, health, logs, and OTLP setup.

日本語の概要は準備中です。原文の説明を表示しています。

rrezartprebreza/spring-boot-skills3052026年9月21日 更新

Use when versioning Spring MVC or WebFlux APIs in Spring Boot 3 / Spring Framework 6. Covers explicit URL, header, and media-type strategies, compatibility rules, and deprecation handling.

日本語の概要は準備中です。原文の説明を表示しています。

rrezartprebreza/spring-boot-skills3052026年9月21日 更新

Use when versioning Spring MVC or WebFlux APIs in Spring Boot 4 / Spring Framework 7. Covers built-in mapping versions, request version resolution, defaults, supported versions, and deprecation headers.

日本語の概要は準備中です。原文の説明を表示しています。

rrezartprebreza/spring-boot-skills3052026年9月21日 更新

Use when introducing or correcting grouped Spring Boot configuration, typed property binding, validation, profiles or secret injection. Do not rewrite unrelated single-value configuration.

日本語の概要は準備中です。原文の説明を表示しています。

rrezartprebreza/spring-boot-skills3052026年9月21日 更新

Use when packaging Spring Boot 4 as an OCI image, JVM container, AOT application, or GraalVM native executable. Covers buildpacks, layers, runtime hints, probes, security, and verification.

日本語の概要は準備中です。原文の説明を表示しています。

rrezartprebreza/spring-boot-skills3052026年9月21日 更新

Use when packaging a Spring Boot 3 application as an OCI image or GraalVM native executable. Covers buildpacks, layered images, JVM containers, AOT hints, probes, security, and verification.

日本語の概要は準備中です。原文の説明を表示しています。

rrezartprebreza/spring-boot-skills3052026年9月21日 更新

rrezartprebreza のスキルをすべて見る

このスキルの問題を報告する