Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
171 changes: 129 additions & 42 deletions ja_JP/access-control/authz/mnesia.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
# 組み込みデータベースの使用

EMQX は、組み込みデータベースを通じて低コストで即時に利用可能な認可ルールの保存方法を提供します。Dashboard または設定ファイルで組み込みデータベース(Mnesia)をデータソースとして設定し、Dashboard または HTTP API を通じて関連する認可チェックルールを追加できます
EMQXは、組み込みデータベースを通じて低コストで即時利用可能な認可ルールの保存方法を提供しています。Dashboardや設定ファイルで組み込みデータベース(Mnesia)をデータソースとして設定し、DashboardまたはHTTP APIを通じて関連する認可チェックルールを追加できます

::: tip 前提条件

[EMQX 認可の基本概念](./authz.md)の知識
[EMQX認可の基本概念](./authz.md)の知識

:::

## Dashboard での設定
## Dashboardでの設定

1. [EMQX Dashboard](http://127.0.0.1:18083/#/authentication) の左側ナビゲーションツリーで **Access Control** -> **Authorization** をクリックし、**Authorization** ページに入ります。
1. [EMQX Dashboard](http://127.0.0.1:18083/#/authentication)の左ナビゲーションツリーで **Access Control** -> **Authorization** をクリックし、**Authorization** ページに入ります。

2. 右上の **Create** をクリックし、**Backend** に **Built-in Database** を選択して **Next** をクリックします。

<img src="./assets/authz-mnesia_ee.png" alt="組み込みデータベース認可設定画面" style="zoom:40%;" />
<img src="./assets/authz-mnesia_ee.png" alt="authz-mnesia_ee" style="zoom:40%;" />

3. 組み込みデータベース認可は設定パラメータを必要としないため、**Create** をクリックして完了します。

## 設定ファイルでの設定

組み込みデータベースの認可機能は、`type` が `built_in_database` で識別されます。
組み込みデータベース認可は、`type` が `built_in_database` で識別されます。

設定例
設定例:

```bash
{
Expand All @@ -31,56 +31,143 @@ EMQX は、組み込みデータベースを通じて低コストで即時に利
}
```

- `type`: 認可チェッカーのデータソースタイプ。ここでは `built_in_database` を指定します。
- `type`: 認可チェッカーのデータソースタイプ。ここには `built_in_database` を指定します。

- `enable`: このチェッカーを有効にするかどうか。オプション値は `true` または `false`。

<!--詳細なパラメータ一覧は [authz-mnesia](../../configuration/configuration-manual.html#authz-mnesia) を参照してください。-->

## 認可ルールの作成

認可ルールは Dashboard または API を通じて作成できます
認可ルールはDashboardまたはAPIを通じて作成できます

### Dashboard での作成
### Dashboardでの作成

Dashboard の **Authorization** ページで、**Built-in Database** バックエンドの **Actions** 列にある **Permissions** ボタンをクリックします。
Dashboardの **Authorization** ページで、**Built-in Database** バックエンドの **Actions** 列にある **Permissions** ボタンをクリックします。

<img src="./assets/authz-config-built-in-rules_ee.png" alt="組み込みデータベース認可ルール設定画面" style="zoom:50%;" />
<img src="./assets/authz-config-built-in-rules_ee.png" alt="authz-config-built-in-rules_ee" style="zoom:50%;" />

クライアント ID、ユーザー名、またはトピックに基づいて認可チェックを設定できます。
クライアントID、ユーザー名、またはトピックに基づいて認可チェックを設定できます。

- **Client ID**: **Client ID** タブで、このルールを適用するクライアントを指定します。
- **Username**: **Username** タブで、このルールを適用するユーザーを指定します。
- **Permission**: 現在のクライアントユーザーからの特定の操作リクエストを許可するか拒否するか。オプション値は **Allow** または **Deny**。
- **Action**: このルールに対応する操作を設定。オプション値は **Publish**、**Subscribe**、**Publish & Subscribe**。
- **Topic**: このルールに対応するトピックを設定
- **Permission**: 現在のクライアント/ユーザーからの特定の操作リクエストを許可するか拒否するか。オプション値は **Allow** または **Deny**。
- **Action**: このルールに対応する操作を設定します。オプション値は **Publish**、**Subscribe**、**Publish & Subscribe**。
- **Topic**: このルールに対応するトピックを設定します

EMQX は単一のクライアントまたはユーザーに対して複数の認可チェックルールを設定可能で、ページ上の **Move Up** と **Move Down** ボタンで異なるルールの実行順序や優先度を調整できます
EMQXは単一のクライアントまたはユーザーに対して複数の認可チェックルールを設定可能であり、ページ上の **Move Up** と **Move Down** ボタンで異なるルールの実行順序と優先度を調整できます

複数のクライアントやユーザーに対して同時に認可チェックルールを設定したい場合は、HTTP API を通じて関連設定をインポートできます
複数のクライアントやユーザーに対して一括で認可チェックルールを設定したい場合は、HTTP APIを通じて関連設定をインポートできます

### API での作成
### APIでの作成

ルールは `/api/v5/authorization/sources/built_in_database` API で管理します
ルールは `/api/v5/authorization/sources/built_in_database` APIを通じて管理します

各ルールは以下に適用されます:
* clientid で識別される特定のクライアント
* `/api/v5/authorization/sources/built_in_database/clientid`
* username で識別される特定のクライアント
* `/api/v5/authorization/sources/built_in_database/username`
* 全クライアント
* `/api/v5/authorization/sources/built_in_database/all`
組み込みデータベースバックエンドの認可ルールをAPIで管理する手順は以下の通りです。

以下はクライアント (`client1`) に対するルール作成の簡単な例です:
#### ステップ1: 認証トークンの取得

APIアクセス用のトークンを取得するため、EMQX Dashboardに認証します。

```bash
export EMQX_TOKEN=$(curl --silent -X 'POST' "http://localhost:18083/api/v5/login" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{"username": "admin","password": "public"}' | jq -r ".token")
```

#### ステップ2: 組み込みデータベース認可ソースの作成

```bash
curl -X 'POST' \
'http://localhost:18083/api/v5/authorization/sources/built_in_database/clientid' \
-H 'accept: */*' \
'http://localhost:18083/api/v5/authorization/sources' \
-H "Authorization: Bearer $EMQX_TOKEN" \
-H 'Accept: */*' \
-H 'Content-Type: application/json' \
-d '[
{
"clientid": "client1",
-d '{
"enable": true,
"max_rules": 100,
"type": "built_in_database"
}'
```

#### ステップ3: 認可ルールの作成

以下の対象に対してルールを作成できます。

- **クライアントIDによる特定クライアント**:

```bash
curl -X 'POST' \
'http://localhost:18083/api/v5/authorization/sources/built_in_database/rules/clients' \
-H "Authorization: Bearer $EMQX_TOKEN" \
-H 'Accept: */*' \
-H 'Content-Type: application/json' \
-d '[
{
"clientid": "client1",
"rules": [
{
"action": "publish",
"permission": "allow",
"topic": "test/topic/1"
},
{
"action": "subscribe",
"permission": "allow",
"topic": "test/topic/2"
},
{
"action": "all",
"permission": "deny",
"topic": "eq test/#"
}
]
}
]'
```

- **ユーザー名による特定ユーザー**:

```bash
curl -X 'POST' \
'http://localhost:18083/api/v5/authorization/sources/built_in_database/rules/users' \
-H "Authorization: Bearer $EMQX_TOKEN" \
-H 'Accept: */*' \
-H 'Content-Type: application/json' \
-d '[
{
"username": "user1",
"rules": [
{
"action": "publish",
"permission": "allow",
"topic": "test/topic/1"
},
{
"action": "subscribe",
"permission": "allow",
"topic": "test/topic/2"
},
{
"action": "all",
"permission": "deny",
"topic": "eq test/#"
}
]
}
]'
```

- **全クライアントに対してグローバルに**:

```bash
curl -X 'POST' \
'http://localhost:18083/api/v5/authorization/sources/built_in_database/rules/all' \
-H "Authorization: Bearer $EMQX_TOKEN" \
-H 'Accept: */*' \
-H 'Content-Type: application/json' \
-d '{
"rules": [
{
"action": "publish",
Expand All @@ -98,13 +185,13 @@ curl -X 'POST' \
"topic": "eq test/#"
}
]
}
]'
```
}'
```

各ルールには以下の項目が含まれます。

各ルールは以下を含みます:
* `permission`: 現在のクライアント/ユーザーからの特定の操作リクエストを許可するか拒否するか。オプション値は `allow` または `deny`。
* `action`: このルールに対応する操作。オプション値は `publish`、`subscribe`、または `all`。
* `topic`: このルールに対応するトピック。 [トピックプレースホルダー](./authz.md#topic-placeholders) をサポートします。
* `qos`: (オプション)ルールが適用される QoS レベルを指定する数値配列。例:`[0, 1]`、`[1, 2]`。デフォルトはすべての QoS レベル。
* `retain`: (オプション)現在のルールがリテインメッセージをサポートするかどうか。値は `true` または `false`。デフォルトはリテインメッセージを許可。
- `permission`: 操作を許可するか拒否するか。値は `allow` または `deny`。
- `action`: 操作タイプ。`publish`、`subscribe`、または `all`。
- `topic`: トピックフィルター。[トピックプレースホルダー](./authz.md#topic-placeholders)をサポート。
- `qos`: *(オプション)* このルールが適用されるQoSレベルの配列。例: `[0, 1]`。指定しない場合はすべてのQoSレベルに適用。
- `retain`: *(オプション)* 保持メッセージに対してルールを適用するかどうか。値は `true` または `false`。デフォルトは保持メッセージを許可。
9 changes: 9 additions & 0 deletions ja_JP/changes/all-changes-ee.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,12 @@ EMQX Enterprise のリリースノートページでは、各バージョンに

## v5.9

- [5.9.1](./changes-ee-v5.md#_5-9-1): 2025-07-02
- [5.9.0](./changes-ee-v5.md#_5-9-0): 2025-05-02

## v5.8

- [5.8.7](./changes-ee-v5.md#_5-8-7): 2025-07-02
- [5.8.6](./changes-ee-v5.md#_5-8-6): 2025-03-25
- [5.8.5](./changes-ee-v5.md#_5-8-5): 2025-02-25
- [5.8.4](./changes-ee-v5.md#_5-8-4): 2024-12-26
Expand Down Expand Up @@ -67,6 +69,13 @@ EMQX Enterprise のリリースノートページでは、各バージョンに

## v4.4

- [4.4.30](./changes-ee-v4.md#_4-4-30): 2025-06-20
- [4.4.29](./changes-ee-v4.md#_4-4-29): 2025-03-07
- [4.4.28](./changes-ee-v4.md#_4-4-28): 2025-01-23
- [4.4.27](./changes-ee-v4.md#_4-4-27): 2024-11-28
- [4.4.26](./changes-ee-v4.md#_4-4-26): 2024-09-26
- [4.4.25](./changes-ee-v4.md#_4-4-25): 2024-09-13
- [4.4.24](./changes-ee-v4.md#_4-4-24): 2024-04-16
- [4.4.23](./changes-ee-v4.md#_4-4-23): 2023-11-24
- [4.4.22](./changes-ee-v4.md#_4-4-22): 2023-11-01
- [4.4.21](./changes-ee-v4.md#_4-4-21): 2023-10-16
Expand Down
33 changes: 19 additions & 14 deletions ja_JP/changes/breaking-changes-ee-5.9.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
# Incompatible Changes in EMQX 5.9
# EMQX 5.9 の非互換変更点

## 5.9.1

- [#15156](https://github.com/emqx/emqx/pull/15156) `dashboard.sso.oidc.issuer` フィールドに対する厳格なスキーマバリデーションを追加しました。このフィールドには有効なURLを指定する必要があります。以前は無効な設定でもAPIがエラーを返さず受け入れてしまい、その結果EMQXの再起動に失敗し、クラッシュ(`erl_crash.dump`)を引き起こす可能性がありました。

## 5.9.0

- [#14865](https://github.com/emqx/emqx/pull/14865) Dropped old LDAP authentication config layout (deprecated since v5.4).
Move `password_attribute` and `is_superuser_attribute` under the `method` block:
- [#14865](https://github.com/emqx/emqx/pull/14865) 古いLDAP認証設定レイアウト(v5.4から非推奨)を廃止しました。
`password_attribute` `is_superuser_attribute` `method` ブロック内に移動してください:
```hcl
method {
type = hash
Expand All @@ -12,20 +16,21 @@
}
```

- [#14765](https://github.com/emqx/emqx/pull/14765) Added extra validation for using Named Instances in SQL Server Connector. Previously, we could not infer when the user furnished an explicit port for SQL Server, and always added the default port if not explicitly defined.
- [#14765](https://github.com/emqx/emqx/pull/14765) SQL ServerコネクターのNamed Instances使用時の追加バリデーションを導入しました。
以前はユーザーが明示的にポートを指定したかどうかを判別できず、明示的に定義されていない場合は常にデフォルトポートが追加されていました。

For Named Instances, we need to explicitly define a port to connect to when connecting with the ODBC driver. And the driver happily connects to whatever instance is running on that port, completely ignoring the given Instance Name, if any.
Named Instancesでは、ODBCドライバーで接続する際に明示的にポートを指定する必要があります。ドライバーは指定されたインスタンス名を無視して、そのポートで稼働しているインスタンスに接続します。

Now, we impose that the port is to be explicitly defined when an instance name is given, and we also attempt to infer differences between desired and connected instance names during health checks.
今回の変更により、インスタンス名が指定された場合はポートを明示的に定義することを必須とし、ヘルスチェック時に希望するインスタンス名と接続先インスタンス名の差異を推測する処理も追加しました。

- [#14773](https://github.com/emqx/emqx/pull/14773) Rate limiting configuration options have been changed.
- This change is incompatible with versions prior to 5.1.0
- This change is also incompatible with manually modified limiter configurations that use structures from versions prior to 5.1.0
- The undocumented endpoint `/configs/limiter` has been removed

- [#14703](https://github.com/emqx/emqx/pull/14703) Changed the maximum allowed value for `force_shutdown.max_heap_size` to `128GB`.
- [#14773](https://github.com/emqx/emqx/pull/14773) レート制限設定オプションが変更されました。
- この変更はv5.1.0以前のバージョンとは非互換です。
- また、v5.1.0以前の構造を用いて手動で変更されたリミッター設定とも非互換です。
- 非公開エンドポイント `/configs/limiter` は削除されました。

- [#14957](https://github.com/emqx/emqx/pull/14957) The way plugin configurations are updated has changed. The system now respects the result of the `on_config_changed` callback when updating a plugin's configuration. This change only affects new configuration updates made through the Dashboard. The result of the `on_config_changed` callback is still ignored for configurations that have already been stored in the cluster.
- [#14703](https://github.com/emqx/emqx/pull/14703) `force_shutdown.max_heap_size` の最大許容値を `128GB` に変更しました。

Additionally, plugin apps are now loaded during plugin installation to ensure the `on_config_changed` callback is called even for stopped plugins.
- [#14957](https://github.com/emqx/emqx/pull/14957) プラグイン設定の更新方法が変更されました。
システムはプラグイン設定更新時に `on_config_changed` コールバックの結果を尊重するようになりました。この変更はダッシュボード経由で行われる新しい設定更新にのみ影響し、既にクラスターに保存されている設定については引き続きコールバック結果を無視します。

さらに、プラグインのインストール時にプラグインアプリをロードするようになり、停止中のプラグインに対しても `on_config_changed` コールバックが呼ばれることを保証します。
Loading
Loading