結論から先に: OpenResty Edge の Admin コンソールでは、あるユーザーに DNS アプリケーションへの読み取り専用アクセスを付与するには、そのユーザーを読み取り権限を持つユーザーグループに所属させ、そのユーザーグループを対象の DNS アプリケーションに対して認可します。権限は個々のユーザーではなくユーザーグループに付与され、また一般ユーザーにはデフォルトでは DNS 機能自体が表示されません。手順は次のとおりです。

  1. スーパーユーザーとしてログインします。
  2. ユーザーグループを作成し(例:test-dns-access)、その権限を編集して、DNS セクションと DNS レコードページの両方に読み取り権限を付与します。
  3. 対象の DNS アプリケーションを開き、その「ユーザーグループ」タブでこのグループにアプリケーションへのアクセスを認可します。
  4. ユーザーを作成(または既存のユーザーを追加)してこのグループに所属させます。ログインすると、そのユーザーは DNS アプリケーションを開いてレコードと権威サーバーを閲覧できますが、追加・編集・削除ボタンは非表示になります。

以下のスクリーンショットで、これらの手順を順を追って説明します。

まず、OpenResty Edge の Admin Web コンソールにアクセスします。これはコンソールのサンプルデプロイメントです。各ユーザーは自身のローカルデプロイメントを持っています。

Screenshot

スーパーユーザーとして DNS ページの権限を確認する

まず、DNS ページに移動します。現在、スーパーユーザーとしてログインしているため、すべての権限を持つページを見ることができます。

Screenshot

サンプルアプリケーション、test-dns.com を検索します。

Screenshot

クリックして入ります。

Screenshot

スーパーユーザーには書き込み権限があります。そのため、DNS レコードを追加できます。

Screenshot

または既存のレコードを編集または削除できます。

Screenshot

DNS レコードに加えて、ネームサーバーを編集することもできます。

Screenshot

また、この DNS アプリケーションの権限を持つユーザーグループを制御することもできます。

Screenshot

レコードの設定については、OpenResty Edge での DNS レコードの設定で詳しく説明しています。

DNS アプリケーションの読み取り権限のみを持つユーザーグループを作成する

次に、この DNS アプリケーションの読み取り権限のみを持つサンプルユーザーグループを作成しましょう。 そして、一般ユーザーをそのグループに配置します。 デフォルトでは、一般ユーザーは DNS 機能を使用できないことに注意してください。

まず、「ユーザーとユーザーグループ」ページに移動します。

Screenshot

次に、「ユーザーグループ」ページに移動します。

Screenshot

これは、サンプルデプロイメントで使用しているいくつかのユーザーグループのリストです。 ユーザーグループに関連する機能については、Web コンソールのユーザー管理とアクセス制御(OpenResty Edge)で説明しています。

ここをクリックして新しいユーザーグループを作成します。

Screenshot

新しいユーザーグループを test-dns-access と名付けます。

Screenshot

ユーザーグループが作成されました。

Screenshot

ここに権限の詳細リストがあり、各ページまたはセクションの権限が表示されています。

Screenshot

デフォルトでは、このユーザーグループは DNS および DNS レコードページを使用できないことがわかります。

Screenshot

そのため、権限を編集して読み取り権限を付与する必要があります。

Screenshot

このチェックボックスをオンにして読み取り権限を有効にします。

Screenshot

保存します。

Screenshot

DNS レコードにも読み取り権限を付与する必要があります。

Screenshot

このチェックボックスをオンにして DNS レコードの読み取り権限を有効にします。

Screenshot

再度保存します。

Screenshot

ユーザーグループが設定されました。次に、サンプル DNS アプリケーションに移動し、そのユーザーグループに権限を付与します。

Screenshot

アプリケーションを再度検索します。

Screenshot

そのアプリケーションを開きます。

Screenshot

「ユーザーグループ」タブをクリックします。

Screenshot

「test-dns-access」グループを選択し、そのユーザーグループに権限を付与します。

Screenshot

保存します。

Screenshot

テストアカウントを作成する

次に、ユーザーページに移動し、テストアカウントを作成して test-dns-access ユーザーグループに配置します。 このテストアカウントは、サンプル DNS アプリケーションを見ることができますが、読み取り権限のみを持ちます。

Screenshot

このボタンをクリックして新しいユーザーを追加します。

Screenshot

「jeff-tester」と名付けます。

Screenshot

パスワードを入力します。

Screenshot

確認のためにパスワードを再度入力します。

Screenshot

次に、このユーザーのグループとして「test-dns-access」を選択します。

Screenshot

保存します。

Screenshot

テストユーザーが作成されました。

Screenshot

次に、ログインアカウントを切り替えます。

Screenshot

現在のアカウントからログアウトします。

Screenshot

先ほど設定したユーザー名とパスワードでログインします。

ユーザー名を入力します。

Screenshot

パスワードを入力します。

Screenshot

ログインします。

Screenshot

これで一般ユーザーとしてログインしました。 一般ユーザーにはユーザーとユーザーグループページの表示権限がないというメッセージが表示されていますが、これは予想通りです。

Screenshot

DNS アプリケーションページの権限を確認する

DNS ページに移動します。

Screenshot

ここでは、テストユーザーは、自身が所属するユーザーグループが閲覧できる DNS アプリケーションのみを見ることができることが確認できました。 また、このページでは、DNS アプリケーションの追加、編集、削除のボタンがすべて非表示になっています。

DNS アプリケーションに入ると、

Screenshot

このテストユーザーは関連情報を読み取ることしかできないことがわかります。 テストユーザーは DNS レコードの追加、編集、削除はできません。利用可能なボタンはありません。

「権威サーバー」タブに移動すると、

Screenshot

すべての設定が読み取り専用であることがわかります。

Screenshot

よくある質問

一般ユーザーはデフォルトで DNS 機能を見ることができますか?

いいえ。デフォルトでは、一般ユーザーおよび新規作成したユーザーグループは DNS ページと DNS レコードページを使用できません。そのグループに読み取り(または書き込み)権限を明示的に付与しない限り、メンバーは DNS 配下の内容を一切表示できません。

DNS の権限はユーザーとユーザーグループのどちらに付与しますか?

ユーザーグループに付与します。ユーザーグループに読み取り権限を与え、そのグループを対象の DNS アプリケーションに認可したうえで、ユーザーをそのグループに所属させます。ユーザーは所属するユーザーグループからアクセス権を継承します。

読み取り専用ユーザーは DNS アプリケーションに対して何ができますか?

読み取り専用ユーザーは、所属するユーザーグループが認可されているアプリケーションの DNS レコードと権威サーバーの設定を閲覧できます。追加・編集・削除ボタンは非表示になっているため、レコードやネームサーバーを変更することはできず、また自身のユーザーグループに認可されていない DNS アプリケーションは表示されません。

DNS アプリケーションの読み取り権限と書き込み権限の違いは何ですか?

読み取り権限では、ユーザーは DNS レコードとサーバー設定を閲覧することしかできません。書き込み権限では、これに加えて DNS レコードの追加・編集・削除やネームサーバーの編集が可能になります。これはスーパーユーザーが持つ権限です。

OpenResty Edge について

OpenResty Edge は、マイクロサービスと分散トラフィックアーキテクチャ向けに設計された多機能ゲートウェイソフトウェアで、当社が独自に開発しました。トラフィック管理、プライベート CDN 構築、API ゲートウェイ、セキュリティ保護などの機能を統合し、現代のアプリケーションの構築、管理、保護を容易にします。OpenResty Edge は業界をリードする性能と拡張性を持ち、高同時接続・高負荷シナリオの厳しい要求を満たすことができます。K8s などのコンテナアプリケーショントラフィックのスケジューリングをサポートし、大量のドメイン名を管理できるため、大規模ウェブサイトや複雑なアプリケーションのニーズを容易に満たすことができます。

著者について

章亦春(Zhang Yichun)は、オープンソースの OpenResty® プロジェクトの創始者であり、OpenResty Inc. の CEO および創業者です。

章亦春(GitHub ID: agentzh)は中国江蘇省生まれで、現在は米国ベイエリアに在住しております。彼は中国における初期のオープンソース技術と文化の提唱者およびリーダーの一人であり、Cloudflare、Yahoo!、Alibaba など、国際的に有名なハイテク企業に勤務した経験があります。「エッジコンピューティング」、「動的トレーシング」、「機械プログラミング」 の先駆者であり、22 年以上のプログラミング経験と 16 年以上のオープンソース経験を持っております。世界中で 4000 万以上のドメイン名を持つユーザーを抱えるオープンソースプロジェクトのリーダーとして、彼は OpenResty® オープンソースプロジェクトをベースに、米国シリコンバレーの中心部にハイテク企業 OpenResty Inc. を設立いたしました。同社の主力製品である OpenResty XRay動的トレーシング技術を利用した非侵襲的な障害分析および排除ツール)と OpenResty Edge(マイクロサービスおよび分散トラフィックに最適化された多機能ゲートウェイソフトウェア)は、世界中の多くの上場企業および大企業から高い評価を得ております。OpenResty 以外にも、章亦春は Linux カーネル、Nginx、LuaJITGDBSystemTapLLVM、Perl など、複数のオープンソースプロジェクトに累計 100 万行以上のコードを寄与し、60 以上のオープンソースソフトウェアライブラリを執筆しております。

翻訳

英語版の原文と日本語訳版(本文)をご用意しております。読者の皆様による他の言語への翻訳版も歓迎いたします。全文翻訳で省略がなければ、採用を検討させていただきます。心より感謝申し上げます!