サイトのセキュリティを計画する (Office SharePoint Server)
この記事の内容
サイトのセキュリティ要素について
権限の割り当てについて
詳細な権限および権限の継承について
使用するサイトのセキュリティ レベルを選択する
権限の継承の計画
サブサイトのスクリプト
ワークシート
この記事は、サイト コレクション、サイト、およびサブサイトの各レベルにおけるアクセス制御とアクセス許可の計画を説明します。サーバーおよびサーバー ファームのセキュリティに関する計画はこの記事の対象外です。認証方法、暗号化など、セキュリティの他の側面に関する計画の詳細については、「サイトおよびコンテンツのセキュリティを計画する (Office SharePoint Server)」を参照してください。
サイトのセキュリティは、特定のセキュリティ保護可能なオブジェクト (サイト、リスト、アイテムなど) に対する権限をユーザーおよびグループに割り当てることによって制御します。サイトのセキュリティを計画する場合は、以下の事項を決定する必要があります。
セキュリティ保護可能な各オブジェクトに対し、権限をどの程度制御するか。たとえば、サイト全体に対するアクセスを制御するか、特定のリスト、フォルダ、またはアイテムに対して特定のセキュリティ設定が必要なのかを指定します。
グループの使用によるユーザーの分類と管理をどのように行うか。この記事は、サイトのセキュリティの基本について説明します。特定の権限の適用対象とする、セキュリティ保護可能なオブジェクトを決定する際に役立ちます。グループの使用によるユーザーの分類に関する詳細については、「使用するセキュリティ グループを選択する (Office SharePoint Server)」を参照してください。
注意
グループと権限との間の関係は、前バージョンから大幅に変更されました。前バージョンでは、ユーザーと権限の両方を含めるのにサイトレベルのグループが使用されていました。つまり、サイト グループにユーザーを追加すると、ユーザーに付与されるサイトでの権限が自動的に指定されました。本バージョンでは、ユーザー グループと権限の概念が分割されました。サイト コレクション レベルの SharePoint グループにユーザーが含められ、アクセス許可レベルに権限が含められます。特定のセキュリティ保護可能なオブジェクト (サイト、リストやライブラリ、フォルダ、アイテム、ドキュメントなど) に対するアクセス許可レベルが割り当てられない限り、グループには権限が付与されません。
サイトのセキュリティ要素について
作成するサイトの種類にかかわらず、サイトのセキュリティには以下の 5 つの要素が含まれます。
個別のユーザー権限 個別の権限は、特定の操作の実行を許可します。たとえば、アイテムの表示権限は、リスト内のアイテムの閲覧をユーザーに許可します。ファーム管理者は、サーバーの全体管理で [Web アプリケーションのユーザー権限] ページを使用して、サーバー ファームで使用できる権限を制御することができます (このページを表示するには、[アプリケーション構成の管理] ページの [アプリケーション セキュリティ] で [Web アプリケーションのユーザー権限] をクリックします)。使用できる権限の詳細については、「User permissions and permission levels」を参照してください。
アクセス許可レベル 関連する操作を実行するための権限をユーザーに付与する、事前に定義されている一連の権限。既定のアクセス許可レベルには、制限付きアクセス、読み取り、投稿、デザイン、およびフル コントロールがあります。たとえば、閲覧アクセス許可レベルにはアイテムの表示、アイテムを開く、ページの表示、バージョンの表示などの権限が含まれます。これらはすべて、SharePoint サイトのドキュメント、アイテム、およびページを閲覧するために必要です。権限は複数のアクセス許可レベルに含めることができます。権限の管理権限を含むアクセス許可レベルに割り当てられているユーザーであれば、アクセス許可レベルをカスタマイズすることができます。既定のアクセス許可レベル、およびこれらのアクセス許可レベルに含まれている権限の詳細については、「User permissions and permission levels」を参照してください。
ユーザー ユーザー アカウントを持つ人のことで、サーバーで使用されている認証方法を通じてアクセスを許可することができます。個々のユーザーを追加し、各ユーザーにアクセス許可レベルを直接割り当てることができます。ユーザーがグループのメンバである必要はありません。権限は、ユーザーではなくグループに割り当てることをお勧めします。権限に関してユーザー アカウント単位で管理することは効率的ではないため、ユーザー単位での権限の割り当ては例外としてのみ行うようにしてください。ユーザー アカウントの種類の詳細については、「User permissions and permission levels」を参照してください。
グループ ユーザーの集合体です。グループには、サイトに追加する Windows セキュリティ グループ (Department_A など) と、SharePoint グループ (サイトの所有者、サイトのメンバ、サイトの閲覧者など) があります。各 SharePoint グループには、既定のアクセス許可レベルが割り当てられていますが、グループのアクセス許可レベルは必要に応じて変更できます。グループの作成権限を含むアクセス許可レベル (既定ではフル コントロール アクセス許可レベルに含まれています) が割り当てられているユーザーは、カスタム SharePoint グループを作成できます。
セキュリティ保護可能なオブジェクト ユーザーまたはグループには、特定のセキュリティ保護可能なオブジェクト (サイト、リスト、ライブラリ、フォルダ、ドキュメント、またはアイテム) に対するアクセス許可レベルが割り当てられます。既定では、リスト、ライブラリ、フォルダ、ドキュメント、またはアイテムに対する権限は、親サイト、親リスト、または親ライブラリから継承されます。ただし、特定のセキュリティ保護可能なオブジェクトに対する権限の管理権限を含むアクセス許可レベルが割り当てられている任意のユーザーは、そのセキュリティ保護可能なオブジェクトに対する権限を変更できます。既定では、権限は最初はサイト レベルで制御され、リストおよびライブラリはすべてサイトの権限を継承します。サイト コンテンツを表示または操作できるユーザーをさらに詳細に制御するには、リストレベル、フォルダレベル、およびアイテムレベルの権限を使用します。権限を親リスト、サイト全体、または親サイトから継承するように戻すことはいつでもできます。
権限の割り当てについて
ユーザーまたはグループに、特定のセキュリティ保護可能なオブジェクト (サイト、リスト、またはアイテム) に対するアクセス許可レベルを割り当てることができます。ユーザー単位またはグループ単位で、セキュリティ保護可能なオブジェクトごとに異なるアクセス許可レベルを設定することができます。
注意
各ユーザー アカウントを直接管理することは効率的ではないため、できるだけグループ権限を使用することをお勧めします。特に、詳細に設定された権限 (後述のセクション参照) を使用する場合は、個別のユーザー アカウントを追跡しなくても済むように、グループを使用してください。人がチームに参加したり、チームから抜けたりして、責任範囲が頻繁に変わる可能性はありますが、そうした変化すべてを追跡し、セキュリティ保護可能なオブジェクトごとに権限を継続的に更新することは効率的ではありません。
次の図は、セキュリティ保護可能な特定のオブジェクトについて、ユーザーとグループに特定のアクセス許可レベルがどのように割り当てられているのかを示しています。
詳細な権限および権限の継承について
詳細に設定された権限 (リストやライブラリ、フォルダ、アイテム、ドキュメントのレベルで設定された権限) を使用して、サイト上でユーザーが実行可能な操作を厳密に制御することができます。権限を割り当てることのできる、セキュリティ保護可能なオブジェクトは次のとおりです。
サイト サイト全体に対するアクセスを制御します。
リストまたはライブラリ 特定のリストまたはライブラリに対するアクセスを制御します。
フォルダ フォルダのプロパティ (フォルダ名など) に対するアクセスを制御します。
アイテムまたはドキュメント 特定のリスト アイテムまたはドキュメントに対するアクセスを制御します。
権限の継承と詳細に設定された権限
既定では、サイト内の権限はサイトから継承されます。ただし、セキュリティ保護可能なオブジェクトに設定されている権限を編集 (固有の権限割り当てを作成) することにより、階層内のより下位のレベルに存在するセキュリティ保護可能なオブジェクトに対する権限の継承を解除することができます。たとえば、ドキュメント ライブラリに対する権限を編集することができ、これによりサイトからの権限の継承は解除されます。ただし、権限の継承が解除されるのは、権限を新たに割り当てたセキュリティ保護可能な特定のオブジェクトに対してのみであり、サイト内のそれ以外の権限は変更されません。権限を親リストまたはサイトから継承するように戻すことはいつでもできます。
権限の継承とサブサイト
Web サイトはそれ自身がセキュリティ保護可能なオブジェクトで、権限を割り当てることができます。親サイトから権限を継承するようにサブサイトを構成したり、特定サイトに対する独自の権限を作成したりすることができます。一連の Web サイトを管理するには、権限を継承するのが最も簡単な方法です。ただし、サブサイトがその親から権限を継承する場合、その一連の権限は共有されます。つまり、親サイトから権限を継承しているサブサイトの所有者は、親サイトの権限を編集できることになります。サブサイトでのみ権限を変更する場合は、権限の継承を停止してから変更を加える必要があります。
サブサイトは、親サイトから権限を継承できます。一意な権限を作成すると、サブサイトの権限の継承を停止することができます。こうすると、グループ、ユーザー、およびアクセス許可レベルが親サイトからサブサイトにコピーされ、継承が停止されます。一意な権限から継承した権限に変更すると、ユーザー、グループ、およびアクセス許可レベルの継承が開始され、サブサイトで一意に定義したユーザー、グループ、またはアクセス許可レベルはすべて失われます。アクセス許可レベルも継承できます (既定では継承されます)。たとえば、読み取りアクセス許可レベルは、どのようなオブジェクトに適用されていても同様です。その継承を停止するには、アクセス許可レベルを編集します。たとえば、特定のサブサイトにおける読み取りアクセス許可レベルに通知の作成権限が含まれないようにすることができます。
使用するサイトのセキュリティ レベルを選択する
権限の構成を作成する場合は、管理の簡単さやパフォーマンスと、個々のアイテムに対する特定の権限を制御する必要性との間でバランスをとることが重要です。詳細に設定された権限を広範囲に使用する場合は、次の点に注意します。
権限の管理により多くの時間がかかります。
Microsoft Office SharePoint Server では、サイト コレクションに 10,000 以上の一意のアクセス制御リスト (ACL) がある場合には、出力キャッシュを無効にすることがあります。ユーザーはサイト コンテンツにアクセスしようとしたときにパフォーマンスの低下を感じる可能性があります。キャッシュについては、「Office SharePoint Server 2007 のキャッシュ」を参照してください。
サイトへのアクセスを認証する場合は、他のサーバーや Web サイトと同様に、最小限の権限を与えるという原則に従うことも重要です。つまり、ユーザーには必要なアクセス許可レベルのみを付与する必要があります。まず、標準のグループ (メンバ、訪問者、所有者など) を使用することから開始し、サイト レベルで権限を制御するのが最も簡単な管理方法です。大部分のユーザーを訪問者グループまたはメンバ グループのメンバにします。所有者グループのユーザー数を、サイトの構成の変更を許可したり、サイトの設定および外観の変更を許可するユーザーのみに制限します。既定では、メンバ グループのユーザーは、サイトに投稿でき、アイテムやドキュメントの追加、削除を行うことができますが、サイトの構造を変更したり、サイトの設定や外観を変更したりすることはできません。ユーザーが実行する操作に対してより詳細に制御する必要のある場合は、SharePoint グループやアクセス許可レベルを新しく作成することができます。
機密性の高いデータを含むリストやライブラリ、フォルダ、アイテム、ドキュメントが存在し、より高いセキュリティが必要な場合、特定のグループまたは個別のユーザーに対して権限を与えることができます。ただし、サイト内のリスト、ライブラリ、フォルダ、アイテム、またはドキュメントに固有の権限すべてを閲覧する方法がないため注意が必要です。つまり、どのユーザーがどのセキュリティ保護可能なオブジェクトに対する権限を持つのかをすばやく確認するのは簡単なことではありません。また、詳細な権限を一括でリセットすることは困難です。
権限の継承の計画
権限および継承される権限の階層を明確にしておくと、最も簡単に権限を管理できます。サイト内の一部のリストに詳細な権限が適用されており、一部のサイトに一意の権限を持つサブサイトと継承した権限を持つサブサイトが含まれる場合、管理は複雑になります。ほとんどの権限を共有できるように、サイトとサブサイト、そしてリストとライブラリをできるだけ整理します。機密性の高いデータは、専用のリストやライブラリ、サブサイトに分離しておきます。
たとえば、以下の表に示すように権限を継承しているサイトはより簡単に管理できます。
セキュリティ保護可能なオブジェクト | 説明 | 一意な権限または継承された権限 |
---|---|---|
SiteA |
グループのホーム ページ |
一意 |
SiteA/SubsiteA |
機密性の高いグループ |
一意 |
SiteA/SubsiteA/ListA |
機密性の高いデータ |
一意 |
SiteA/SubsiteA/LibraryA |
機密性の高いドキュメント |
一意 |
SiteA/SubsiteB |
グループで共有されるプロジェクト情報 |
継承 |
SiteA/SubsiteB/ListB |
機密性の低いデータ |
継承 |
SiteA/SubsiteB/LibraryB |
機密性の低いドキュメント |
継承 |
対照的に、以下の表に示すように権限を継承しているサイトを管理するのは簡単ではありません。
セキュリティ保護可能なオブジェクト | 説明 | 一意な権限または継承された権限 |
---|---|---|
SiteA |
グループのホーム ページ |
一意 |
SiteA/SubsiteA |
機密性の高いグループ |
一意 |
SiteA/SubsiteA/ListA |
機密性の低いデータ |
一意。ただし SiteA と同じ権限 |
SiteA/SubsiteA/LibraryA |
機密性の低いドキュメント (ただし、1 つまたは 2 つの機密性の高いドキュメントを含む) |
継承 (ドキュメント レベルで一意な権限あり) |
SiteA/SubsiteB |
グループで共有されるプロジェクト情報 |
継承 |
SiteA/SubsiteB/ListB |
機密性の低いデータ (ただし、1 つまたは 2 つの機密性の高いアイテムを含む) |
継承 (アイテム レベルで一意な権限あり) |
SiteA/SubsiteB/LibraryB |
機密性の低いドキュメント (ただし、機密性の高いドキュメントを格納する専用フォルダあり) |
継承 (フォルダとドキュメントのレベルで一意な権限あり) |
サブサイトのスクリプト
コンテンツとサイトの分離を最上位で要求されるような環境の場合、Office SharePoint Server サイトの構造は、隣接した URL 名前空間に関連したリスクを最小化するようなやり方で設計することが有効です。既定の Office SharePoint Server サイトの URL 名前空間の構成は、サブサイトで発生する可能性があるスクリプトの問題を抑止しない可能性があります (悪意のあるユーザーが、サイト上で、許可されている権限を越えた操作を実行できるようになる可能性があります)。この問題は、Office SharePoint Server サイトがセキュリティ境界であり、好きな数のサイトを同じホスト名で互いに隣接させることができるために生じます。Web ブラウザはセキュリティ境界としてホスト名のみを考慮する (サイトは考慮しない) ため、ある Office SharePoint Server サイトに置かれたスクリプトを含むコンテンツは、一定の環境下においては、同じホスト名ならば他のサイト上でも実行できます。
Office SharePoint Server は、認証済みのユーザーの権限とグループのメンバシップを基準にコンテンツへのアクセスを許可します。このため、ユーザーの代わりに実行されるスクリプトは、ユーザーが実行権限を持つ操作ならば何でも効果的に実行することができます。この潜在的な問題は、次の例を見るとわかりやすいでしょう。
ユーザー A とユーザー B は、それぞれ、自分自身の Office SharePoint Server サイト コレクション、http://my/sites/UserA と http://my/sites/UserB を持っています。
ユーザー A は自分のサイトに対して投稿者アクセス許可を持っていますが、ユーザー B のサイトに対しては権限を持っていません。ユーザー A がユーザー B のサイトにアクセスしようとすると、アクセス拒否エラーが発生します。
ただし、ユーザー A は自分のサイトに悪意のあるスクリプトを含むドキュメントをアップロードし、ユーザー B にそのドキュメントに対する読み取りアクセス権を与えることができます。ここで、ユーザー A が作成したそのドキュメントをユーザー B が参照した場合、悪意のあるスクリプトはユーザー B の資格情報を使って警告を表示せずに実行されます。一般に使われている多くの Web ブラウザでは、スクリプトはセキュリティ境界を越えるものではなく、スクリプトの実行はクロスドメインのイベントであるとは見なされません。
この問題は、ユーザー B の Office SharePoint Server サイトとユーザー A の Office SharePoint Server サイトのホスト名が同じために生じています。このサイト構造では、ユーザー B とユーザー A は、スクリプト攻撃の実行をしないよう、互いに信頼する必要があります。投稿者のグループが、互いに信頼できない場合には、異なるホスト名を設定してサイトを区分する必要があります。Office SharePoint Server の共同作業シナリオでは、悪意のあるユーザーがサブサイトにスクリプト攻撃をかけられる共同作業者のアクセス権を持っていると考えられるため、インターネット公開や構造化ポータル シナリオの問題よりもスクリプトの問題のほうが、関心の高い問題です。
特に大規模な組織におけるイントラネットにおける Office SharePoint Server の利用が増加し、組織においてパスベースの展開の一部 (たとえば、http://my または http://corp) で複数のユーザーが投稿者となると、ホストに対してすべての投稿者を信頼する機能が失われかねません。この状況は、セルフサービス サイト作成が使われるシナリオや、サブサイトが何層にも入れ子となるシナリオにおいて特に顕著です。Office SharePoint Server の配置は、これらの問題を最小化するように設計することができます。情報アーキテクチャについては、「サイトの情報アーキテクチャを決定する」を参照してください。
Office SharePoint Server サイト コレクション、サイト、およびサブサイトの設計については、「サイトおよびサブサイトを決定する」を参照してください。
セキュリティに関するその他のガイダンスについては、「Security Resource Center for SharePoint Products and Technologies (英語)」(https://go.microsoft.com/fwlink/?linkid=148056&clcid=0x411) を参照してください。
ホスト名付きサイト コレクションの使用
ホスト名付きサイト コレクションを使用すると、単一の Web アプリケーション内に複数のルート レベルのサイト コレクションを作成する機能がサポートされるため、サイトとコンテンツのセキュリティを強化できます。たとえば、ホストしている組織の管理者が、ホスト名付きサイト コレクションを使用して、複数のドメイン名付きサイトを作成します。Windows SharePoint Services 3.0 は、単一の Web アプリケーション内に複数のドメインを作成する機能をサポートしています。この機能により、同じ Web アプリケーション内の別々のサイト コレクションの中に、http://UserB.collab.mycorp.com と http://UserB.collab.mycorp.com といった複数のドメインを配置することができるようになります。ただし、この方法を使用してサブサイトのスクリプト問題に対応する場合には、次のような問題について検討する必要があります。
http://UserB.collab.mycorp.com のような分かりやすいホスト名を使うことにより、DNS の問題が生じる可能性があります。そのようなホスト名がすべて正しい Office SharePoint Server の展開を指すよう設定する必要があるからです。完全修飾ドメイン名を使用すると、*.collab.mycorp.com のように DNS エントリにワイルド カードを使えるようになるため、この問題を軽減することができます。
Office SharePoint Server には、パスベースのサイト コレクションの作成と管理をセルフ サービスで行う機能もサポートされています。ホスト ヘッダ名付きサイトを展開すると、サイトの準備のための作業負荷が高まることがあります。セルフサービスによるサイトの作成については、「Self-Service Site Creation を構成する」を参照してください。
ホスト名付きサイト コレクションについては、「ホスト名付きサイト コレクションを計画する (Office SharePoint Server)」を参照してください。
異なるホスト名へのコンテンツの移動
異なるホスト名に移動する必要がある既存のコンテンツがある場合は、以下のガイドラインを検討してください。
ドキュメント ライブラリやリストを含む少量のコンテンツを移動する場合は、[送信]、[その他の場所]、[エクスプローラ ビューで開く] (ドキュメントの場合)、または [スプレッドシートにエクスポート] (リストの場合) などのクライアント機能が使用できます。
サイトやサイト コレクションを含む大きなコンテンツを移動する場合は、コンテンツのバックアップと復元という方法を検討してみてください。コンテンツのバックアップと復元については、「組み込みのツールを使用してサイト コレクションのバックアップと復元を行う (Office SharePoint Server 2007)」を参照してください。
大量のデータがある場合は、異なるホスト名で新しいサイト コレクションを作成することを検討してください。
管理対象パスを元の場所のサイトと同じレベルに作成してサイト コレクションをホストすることを検討します。管理対象パスを定義することにより、Web アプリケーションの URL 名前空間でどのパスをサイト コレクションに使用するかを指定できます。Office SharePoint Server のコンテンツはサーバー相対パスを多くの場合に使用するので、これが重要になります。新しい場所にコンテンツを復元するときに、Office SharePoint Server は、URL のホスト名を修復することができますが、ここでレベルが一致しない場合には復元操作が失敗することがあります。管理対象パスについては、「管理パスを定義する」を参照してください。
ワークシート
「サイトおよびコンテンツのセキュリティ ワークシート」(https://go.microsoft.com/fwlink/?linkid=73135&clcid=0x411) にサイトの階層を記入し、続いて、階層の各レベルで必要な権限、および権限の継承の一覧を作成します。
このブックをダウンロードする
このトピックは、簡単に読んだり印刷したりできるように、次のダウンロード可能なブックに収められています。
利用可能なすべてのブックのリストを参照する場合は、「Office SharePoint Server 2007 のダウンロード可能なブック」にアクセスしてください。