デフォルト認可
デフォルト認可は組み込みデータベースに基づいており、ユーザーに低コストでプラグアンドプレイの認可方法を提供します。本ドキュメントでは、クライアントID、ユーザー名、クォータ制限の設定方法や、より高度な権限管理のためのホワイトリストやプレースホルダーの使い方について詳しく解説します。
認可情報の追加
注意
組み込み認可の最大エントリー数は、デプロイ接続数の2倍で、上限は100,000件です。この制限を超える場合は、外部ACLの利用を推奨します。
認可は以下の3つのレベルで制御できます。
- クライアントID:特定のクライアントIDに対する認可検証。
- ユーザー名:特定のユーザー名に対する認可検証。
- 全ユーザー:全ユーザーに対するトピックベースの認可検証。
クライアント認可ページで**+ 追加**を選択し、現在のカテゴリに基づいて新しい認可情報を追加します。
クライアントID認可の追加
クライアントIDタブでは、特定のクライアントIDに対する認可ルールを作成します。
- クライアントID:この認可ルールを適用するクライアントID。
- トピック:このルールに対応するトピックを設定します。
- アクション:このルールに対応する操作を設定します。選択肢:
Publish
、Subscribe
、Publish and Subscribe
。 - 権限:現在のクライアントが要求された操作を実行できるかどうか。選択肢:
Allow
、Deny
。
ユーザー名認可の追加
ユーザー名タブでは、特定のユーザー名に対する認可ルールを作成します。
- ユーザー名:このルールに適用されるユーザー名。
- トピック:このルールに対応するトピックを設定します。
- アクション:このルールに対応する操作を設定します。選択肢:
Publish
、Subscribe
、Publish and Subscribe
。 - 権限:現在のユーザーが要求された操作を実行できるかどうか。選択肢:
Allow
、Deny
。
トピック認可の追加
全ユーザータブでは、特定のトピックに対する認可ルールを作成します。
- トピック:このルールに対応するトピックを設定します。
- アクション:このルールに対応する操作を設定します。選択肢:
Publish
、Subscribe
、Publish and Subscribe
。 - 権限:現在のトピックに対して要求された操作を許可するかどうか。選択肢:
Allow
、Deny
。
プレースホルダーの使用
トピックでプレースホルダーを使用すると、トピックマッチングルール内で現在のクライアント情報を動的に置き換えることができます。サポートされているプレースホルダーは以下の通りです。
${clientid}
${username}
すべてのユーザーに対して特定のトピックのみのサブスクライブやパブリッシュを制限したい場合は、以下のように設定できます。
- ユーザー名
${username}
、トピックxx/${username}/report
- クライアントID
${clientid}
、トピックxx/${clientid}/report
プレースホルダーはトピックのフィールド全体を置き換える場合にのみ使用可能です。例えば a/b/${username}/c/d
は有効ですが、a/b${username}c/d
のようにフィールドの一部を置き換えることはできません。
認可情報のインポート
提供されているCSVテンプレートを使用して、認可情報を一括でインポートできます(「全ユーザー」向けは非対応)。インポート用のフィールドは以下の通りです。
clientid
:クライアントIDusername
:ユーザー名topic
:認可対象トピックaction
:アクション(sub/pub/pubsub)access
:許可かどうか(allow/deny)
以下の手順で認可情報を一括インポートできます。
インポートボタンをクリックします。
テンプレートをダウンロードします。以下はクライアントID用テンプレートの例です。
認可情報を入力し、ファイルをアップロードします。
インポートをクリックします。
認可情報の表示
認可情報を追加した後、認可ページでそれらを確認できます。認可エントリーの詳細は、クライアントID、ユーザー名、全ユーザー(トピック)の3つの軸で閲覧可能です。
認可情報の編集
認可情報の横にある編集アイコンをクリックすると、現在の認可情報を修正できます。
認可情報の削除
認可情報の横にある削除アイコンをクリックすると、その認可情報を削除できます。
認可ホワイトリストモードの有効化
ホワイトリストモードを有効にすると、すべてのユーザーはデフォルトでサブスクライブおよびパブリッシュが禁止されます。クライアントはサブスクライブやパブリッシュの操作を行うために明示的な認可が必要です。
デプロイの左メニューからアクセス制御 -> 認可をクリックします。全ユーザータブで認可エントリーを追加し、トピック欄に #
を入力、アクションに Publish & Subscribe
を選択、権限に Deny
を選択して、確定をクリックするとホワイトリストモードが有効になります。
注意
- デフォルトでは認可はブラックリストモード(すべてのサブスクライブとパブリッシュがデフォルトで許可)を使用します。
- 認可マッチングの順序は、全ユーザー認可 -> ユーザー名/クライアントID認可の順です。
- クライアントID/ユーザー名とトピックの組み合わせは一意です。同じクライアントID/ユーザー名+トピックの複数レコードがある場合、最新のレコードのみ有効です。
- 拡張認可データソースを追加している場合、ホワイトリストモードを有効にするには、拡張認可ページの認可順序で「デフォルト認可」を最後に配置してください。
認可統計の表示
右上の認可統計アイコンをクリックすると、認可のメトリクスやレート指標を確認できます。