ユーザの管理
Manager の [セキュリティ] タブには、ユーザのリストを表示できる [ユーザ] リンクが含まれています。このパネルの表示は、ユーザ情報の格納場所に応じて異なります。ユーザ ストアとして SQL Server を使用している場合は、Manager 内でユーザを追加、変更、削除することができます。ユーザにカスタム プロバイダを使用している場合、ユーザの追加や変更が可能かどうかはプロバイダによります。ユーザが Windows ユーザである場合、このパネルの表示は読み取り専用です。表示が読み取り専用の場合は、Windows の専用ツールまたはカスタム プロバイダを使用して、ユーザの追加、変更、削除を行う必要があります。
ユーザ ストアに含まれているユーザの数が多い場合は、フィルタを適用してユーザ リストの一部だけを表示することができます。パネルに含まれているオプションを使用して、表示するユーザを絞り込みます。
ユーザがロールに割り当てられている場合は、ユーザ名の左にある [+] 記号をクリックすることで、ユーザが属しているロールを表示することができます。
次のセクションでは、SQL Server データベースに格納されたユーザを追加、変更、削除するための Manager ツールについて説明します。
ユーザの追加
Manager で [セキュリティ] モジュールを選択します。新しいユーザを追加するには、[ユーザ] パネルの [ユーザの追加] をクリックします。これにより、ユーザを追加するためのダイアログ ボックスが表示されます。カスタム プロバイダによっては、このダイアログ ボックスを通じてユーザを追加できる場合があります。このダイアログ ボックスでは、次の情報を設定することができます。
- ユーザ名(必須)
- パスワード(必須。同一の値で確認する必要がある)
- 電子メール アドレス
- セキュリティの質問と答え
- ユーザのロール メンバーシップ(ユーザを追加する前にロールが存在していなければならない)
ユーザ名にカンマ(,)またはセミコロン(;)を使用することはできません。メンバーシップ プロバイダによっては、他の特殊文字も使用できないことがあります。ユーザを追加しようとしてエラーが発生した場合は、特殊文字を使用せずにもう一度試してください。
パスワードの強度の要件: デフォルトでは、ユーザを追加する際には強力なパスワードが要求されます。これらの設定では、パスワードは 7 文字以上で、英数字以外の文字(#、%、^ など)を 1 つ以上含んでいなければなりません。これらの要件は ASP.NET のメンバーシップ プロバイダに基づいており、Manager でユーザを追加または編集するときに適用されます。これらのパスワード設定を変更して、パスワードに要求される長さや英数字以外の文字の数を変更することができます。これらの設定を変更するには、<ArcGIS インスタンス>\Security Web アプリケーションの web.config ファイルの <providers> タグを編集します。たとえば、英数字以外の文字を要求しないようにするには、minRequiredNonalphanumericCharacters の属性を 0 に設定します(この属性が事前に設定されていない場合は追加することができます)。パスワード ポリシーへの変更は、web.config ファイルを保存した後に作成または変更されたアカウントにのみ適用されます。詳細については、Microsoft の文書「add Element for providers for membership (ASP.NET Settings Schema)」(英語)をご参照ください。
ユーザのプロパティを設定したら、[ユーザの追加] をクリックして新しいユーザをデータベースに保存し、[ユーザ] パネルに戻ります。新しいユーザの作成を取りやめるには、[キャンセル] をクリックします。
ユーザの変更
既存のユーザを更新するには、ユーザ リストで該当する [編集](鉛筆)アイコンをクリックします。[編集] ダイアログ ボックスは [ユーザの追加] ダイアログ ボックスと似ていますが、ユーザ名を変更することはできません。また、このダイアログ ボックスでユーザのパスワードを変更することもできません。パスワードの変更と回復については、次のセクションをご参照ください。
ユーザのアカウントを使用したログインに短期間で何度か失敗すると、アカウントがロックされることがあります。これは ASP.NET に組み込まれている機能です。アカウントがロックされると、ユーザ プロパティの Locked ステータスによって、アカウントがロックされていることが示されます。SQL Server でアカウントのロックを解除するには、SQL Server Management Studio(Express)を使ってユーザ データベースの Membership テーブルを開き、ユーザの IsLockedOut 列を変更します。ユーザがカスタム プロバイダに格納されている場合は、カスタム プロバイダの専用ツールを使用して、アカウントのロックを解除する必要があります。
変更を行った後は、[ユーザの更新] ボタンをクリックして変更を保存し、[ユーザ] パネルに戻ります。変更を取りやめて [ユーザ] パネルに戻るには、[キャンセル] をクリックします。
パスワードの変更と回復
アカウントを作成した後に、Manager を使ってパスワードの変更や表示を行うことはできません。セキュリティ ストレージの種類によっては、パスワードの管理をサポートするものがあります。たとえば、SQL Server はパスワードの変更や回復をサポートしますが、Windows ユーザの場合はオペレーティング システムのツールを使ってパスワードを管理しなければなりません。セキュリティ ストアがそれらをサポートする場合は、以下のツールを使用して、パスワードの変更や回復を行うことができます。
- Web アプリケーション: Manager を使って Web アプリケーションをセキュリティで保護した場合、Web サイトにアクセスしたユーザはログイン ページ(Login.aspx)にリダイレクトされます。このログイン ページには、パスワードを変更するためのハイパーリンクと、忘れてしまったパスワードを回復するためのハイパーリンクが表示されます。これらのハイパーリンクをクリックすると、パスワードを回復または変更するためのフォームが表示されます。このメールの内容は、アプリケーション フォルダにある PasswordRecoveryMail.txt という名前のテキスト ファイルを編集して変更することができます。
- パスワード管理ページ: ArcGIS Web インスタンスごとに提供されるパスワード管理ページでは、パスワードの変更や回復を行うことができます。このページは、Web アプリケーションをセキュリティで保護していない場合でも利用できます。Manager でセキュリティ ストアの場所を設定すると、このページが利用できるようになります。このページの URL は、<ArcGIS インスタンス>/Security/PasswordManager.aspx です(例: http://myserver.example.com/ArcGIS/Security/PasswordManager.aspx)。このメールの内容は、<ArcGIS インスタンス>/Security/PasswordRecoveryMail.txt という名前のテキスト ファイルを編集して変更することができます。
次に、パスワードの回復に影響をおよぼす問題を示します。
- ユーザが忘れてしまったパスワードを回復する際には、そのユーザに設定されている電子メール アドレスにパスワード情報が送信されます。必要であれば、[ユーザの編集] ツールを使って電子メール アドレスを更新します。
忘れてしまったパスワードを回復するためのハイパーリンクがログインまたはパスワード管理ページに表示されない場合は、電子メール サーバが正しく設定されていないことが考えられます。パスワード情報を送信するためには、アプリケーションがユーザに電子メールを送信するための機能が必要です。[セキュリティ] → [設定] → [構成] の順にクリックして、表示されるウィザードでメール サーバを設定することができます。セキュリティ設定をすでに行っている場合でも、このウィザードを再度使用することができます。
メール サーバは手動で設定することもできます。そのためには、<ArcGIS インスタンス>\Security アプリケーションと、Manager を使って保護している Web アプリケーションの web.config ファイルを編集する必要があります。メール サーバに必要な設定の詳細については、Microsoft の文書「<smtp> Element (Network Settings)」(英語)をご参照ください。通常、web.config ファイルのメール サーバ タグは、次に示すように、<system.net> 要素内の <mailSettings> 要素で設定されます(必要に応じて、サーバの情報を置き換え、system.net タグを追加してください)。
<configuration> ... <system.net> <mailSettings> <smtp from="fromAddress@mailserver.com" deliveryMethod="Network"> <network host="myMailServer" port="25" userName="mymailaccount@esri.com" password="mailpassword" /> </smtp> </mailSettings> </system.net> ... </configuration>
- 一般に、ユーザの現在のパスワードは送信されません。代わりに、パスワードがランダムな値にリセットされ、この新しいパスワードがユーザに送信されます。必要に応じて、ユーザはログインまたはパスワード管理ページに戻って、パスワードを新しい値に変更することができます。ほとんどのメンバーシップ プロバイダは、デフォルトでは実際のパスワードを保存しないため、元のパスワードが利用できない可能性があります。代わりに、サーバがパスワードから計算したパスワードのハッシュが保存されます。サーバは、ユーザがログインしようとしたときに、このハッシュを計算されたハッシュと比較します。パスワードの保存の詳細とオプションについては、Microsoft の文書「add Element for providers for membership (ASP.NET Settings Schema)」(英語)をご参照ください。
- 一般に、電子メールは情報を送信するための安全な方法ではありません。メッセージは通常暗号化されずに送信されるため、ネットワークにアクセスできるユーザによって傍受される可能性があります。この方法ではパスワードを復元できないようにするか、パスワードを送信するときに SSL を要求することができます。
- パスワードの回復や変更をサポートしないメンバーシップ プロバイダもあります。たとえば、カスタム メンバーシップ プロバイダは、パスワードを変更するために別の管理ツールを要求することがあります。パスワードの変更および回復のハイパーリンクは、この機能がメンバーシップ プロバイダによってサポートされない場合には表示されません。
ユーザの削除
ユーザを削除するには、ユーザ名の横にある [削除] アイコン(X の付いた赤い円)をクリックします。ユーザの削除を確認するダイアログ ボックスが表示されます。