マルチテナンシー¶
このプラットフォームは、 サービスおよびサブサービスの概念に基づいてマルチテナントを実装します。サービスは、通常テナントに関連付けられたトップレベルのグループに対応しています。各サービス内では、特定のテナントが複数のサブサービスを設定できます。たとえば、テナントはマドリッド、パリ、ロンドンなどの都市を表し、テナント内のサブサービスはその都市の異なる垂直エリア(雷、交通、健康など)を表します。
認証と認可は、サービスとサブサービスに基づいています。言い換えれば、ユーザ/ロールのアクセスはサービスとサブサービスごとです。たとえば、特定のユーザが特定のサービスのすべてのサブサービスで読み取りのアクセス権を持ち、そのようなサブサービスのサブセット内の変更権限のみを持つことを定義できます。
サービスおよびサブサービスは、プラットフォームAPIでサポートされています。具体的には、サービスおよびサブサービスは、それぞれHTTPヘッダ Fiware-Service
と Fiware-ServicePath
によって指定されます。これらのヘッダを使用して、特定のサービス (たとえば、Data API を使用したエンティティの作成リクエスト) は、特定のサービスおよびサブサービスでスコープできます。たとえば :
POST /v2/entities
Content-Type: application/json
Fiware-service: smartown
Fiware-servicepath: /roads
{
"id": "BCZ6754",
"type": "Car",
"speed": {
"value": 54,
"type": "Number"
}
}
サービスには次の構文規則が適用されます :
- 英数字とアンダースコア(
_
)のみ使用できます - 最大文字数は50文字です
- 最小文字数は1文字です
- 大文字を使用すると、小文字に変換されます
サブサービスには、次の構文規則が適用されます :
/
文字で始まる必要があります- 最大文字数は50文字です
- 最小文字数は1文字です
- 英数字とアンダースコア(
_
)は許可されています(最初の`/'は除く) - 大文字と小文字を区別して解釈されます