Security Token Service を構成する (SharePoint Foundation 2010)
適用先: SharePoint Foundation 2010
ここでは、Microsoft SharePoint Foundation 2010 の Security Token Service (STS) を構成するためのガイダンスを示します。STS は、セキュリティ トークンの要求に応答し、ID 管理を行うように設計された特殊な Web サービスです。どの STS もコア機能は同じですが、各 STS が実行するタスクの性質は、設計内で他の STS Web サービスとの関係において STS が果たす役割によってそれぞれ異なります。
この記事の内容
STS を使用する Web アプリケーションが動作する仕組み
Windows PowerShell を使用してクレーム ベースの SharePoint Web アプリケーションを構成する
バインドの編集
STS を使用する Web アプリケーションを構成する
STS を使用する Web アプリケーションが動作する仕組み
Security Token Service を使用する Web アプリケーションでは、要求を処理して、セキュリティ トークンを発行、管理、および検証します。セキュリティ トークンは、ID クレーム (ユーザーの名前、ロール、匿名 ID など) のコレクションです。トークンは、SAML (Security Assertion Markup Language) トークンなど、さまざまな形式で発行できます。セキュリティ トークンは、送信中にトークンのコンテンツを保護し、信頼できる発行者を検証できるように、X.509 証明書で保護できます。Security Token Service の詳細については、「認証方法を計画する (SharePoint Foundation 2010)」を参照してください。
ID プロバイダー STS (IP-STS) は、信頼できる ID クレームの要求を処理する Web サービスです。IP-STS は、ID ストアと呼ばれるデータベースを使用して、ID およびその関連属性を格納および管理します。ID プロバイダーの ID ストアは、SQL データベース テーブルのように単純な場合もあります。IP-STS では、Active Directory ドメイン サービス (AD DS) や Active Directory ライトウェイト ディレクトリ サービス (AD LDS) など、複雑な ID ストアも使用できます。
IP-STS は、ID を作成および管理する必要があるクライアント、および、クライアントによって提示された ID を検証する必要がある証明書利用者アプリケーションで利用できます。各 IP-STS は、フェデレーション パートナーの証明書利用者 STS Web アプリケーション (それぞれ RP-STS と呼ばれる) とフェデレーション信頼関係を持ち、トークンを発行します。クライアントは、IP-STS に登録されている ID を表す、管理情報カード (CardSpace などのカード セレクターを使用) を作成または提供できます。クライアントは、IP-STS の ID ストアに格納されている ID を表すセキュリティ トークンを要求するときに、IP-STS とやり取りを行います。認証後、IP-STS によって、クライアントが証明書利用者アプリケーションに提示できる信頼できるセキュリティ トークンが発行されます。証明書利用者アプリケーションは、IP-STS と信頼関係を確立できます。これにより、IP-STS によって発行されたセキュリティ トークンを検証できるようになります。信頼関係が確立された後、証明書利用者アプリケーションは、クライアントによって提示されたセキュリティ トークンを調べて、そこに含まれる ID クレームの有効性を判断します。
証明書利用者 STS (RP-STS) は、信頼できるフェデレーション パートナー IP-STS からセキュリティ トークンを受け取る STS です。同様に、RP-STS は、ローカルの証明書利用者アプリケーションによって使用される新しいセキュリティ トークンを発行します。IP-STS Web アプリケーションとフェデレーション関係にある RP-STS を使用することで、組織は、パートナー組織のユーザーに対して Web シングル サインオン (SSO) を提供できます。各組織では、それぞれの ID ストアを引き続き管理します。
Windows PowerShell を使用してクレーム ベースの SharePoint Web アプリケーションを構成する
Windows PowerShell を使用してクレーム ベースの SharePoint Web アプリケーションを構成するには、次の手順を実行します。
Windows PowerShell を使用してクレーム ベースの SharePoint Web アプリケーションを構成するには
次の最小要件を満たしていることを確認します。Add-SPShellAdmin を参照してください。
[スタート] メニューの [すべてのプログラム] をクリックします。
[Microsoft SharePoint 2010 Products] をクリックします。
[SharePoint 2010 管理シェル] をクリックします。
Windows PowerShell コマンド プロンプト (PS C:\>) で、x509Certificate2 オブジェクトを作成します。以下に例を示します。
$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("path to cert file")
信頼できる認証プロバイダーで使用するクレームの種類のマッピングを作成します。以下に例を示します。
New-SPClaimTypeMapping "https://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" -IncomingClaimTypeDisplayName "EmailAddress" -SameAsIncoming
信頼済みログイン プロバイダーを作成するために、まず realm パラメーターの値を次のようにして作成します。
$realm = "urn:" + $env:ComputerName + ":domain-int"
Security Token Service Web アプリケーションを指す
signinurl
パラメーターの値を作成します。以下に例を示します。$signinurl = "https://test-2/FederationPassive/"
クレームのマッピングと同じ
IdentifierClaim
値 ($map1.InputClaimType
) を使用して、信頼できるログイン プロバイダーを作成します。以下に例を示します。$ap = New-SPTrustedIdentityTokenIssuer -Name "WIF" -Description "Windows® Identity Foundation" -Realm $realm -ImportTrustCertificate $cert -ClaimsMappings $map1[,$map2..] -SignInUrl $signinurl -IdentifierClaim $map1.InputClaimType
最初にアプリケーション プール アカウント (現在のユーザー用) の値を作成することによって、Web アプリケーションを作成します。以下に例を示します。
$account = "DOMAIN\" + $env:UserName
注意
アプリケーション プール アカウントは、管理アカウントである必要があります。管理アカウントを作成するには、
New-SPManagedAccount
を使用します。Web アプリケーション URL の値を作成します (
$webappurl = "https://" + $env:ComputerName
)。以下に例を示します。$wa = New-SPWebApplication -name "Claims WIF" -SecureSocketsLayer -ApplicationPool "SharePoint SSL" -ApplicationPoolAccount $account -Url $webappurl -Port 443 -AuthenticationProvider $ap
最初に claim オブジェクトを作成することによって、サイトを作成します。以下に例を示します。
$claim = New-SPClaimsPrincipal -TrustedIdentityTokenIssuerr $ap -Identity $env:UserName
サイトを作成します。以下に例を示します。
$site = New-SPSite $webappurl -OwnerAlias $claim.ToEncodedString() -template "STS#0"
バインドの編集
クレーム ベースの SharePoint Web アプリケーションを構成した後、バインドを編集します。
バインドを編集するには
コマンド プロンプトで「INETMGR」と入力して、IIS マネージャーを開始します。
IIS で、作成したクレーム Web アプリケーション サイトに移動します。
左側のウィンドウで、作成したクレーム Web アプリケーションを右クリックし、[バインドの編集] を選択します。
[https] を選択し、[編集] をクリックします。
[SSL 証明書] で、一覧から証明書を選択します。
STS を使用する Web アプリケーションを構成する
クレーム ベースの SharePoint Foundation 2010 Web アプリケーションを構成し、バインドを編集し、Web.Config ファイルを構成した後、このセクションの手順を使用して、Security Token Service Web アプリケーションを構成できます。
STS を使用する Web アプリケーションを構成するには
Active Directory フェデレーション サービス (AD FS) 2.0 管理コンソールを開きます。
左側のウィンドウで、[ポリシー] を展開し、[証明書利用者] を選択します。
右側のウィンドウで、[証明書利用者の追加] をクリックします。Active Directory フェデレーション サービス (AD FS) 2.0 構成ウィザードが開始されます。
ウィザードの最初のページで、[開始] をクリックします。
[証明書利用者構成を手動で入力する] を選択し、[次へ] をクリックします。
証明書利用者名を入力し、[次へ] をクリックします。
[Active Directory フェデレーション サービス (AD FS) 2.0 サーバー プロファイル] を選択し、[次へ] をクリックします。
暗号化証明書を使用する予定がない場合は、[次へ] をクリックします。
[Web ブラウザー ベースの ID フェデレーションのサポートの有効化] を選択します。
Web アプリケーション URL の名前を入力し、「/_trust/」を追加します (例: https://servername/_trust/)。[次へ] をクリックします。
ID を入力し、[追加] をクリックします。[次へ] をクリックします。
概要ページで、[次へ] をクリックし、[閉じる] をクリックします。ルール エディター管理コンソールが開きます。このコンソールを使用して、LDAP Web アプリケーションから SharePoint へのクレームのマッピングを構成します。
左側のウィンドウで、[新しいルール] を展開し、[定義済みルール] を選択します。
[LDAP 属性ストアからクレームを作成] を選択します。
右側のウィンドウで、[属性ストア] ドロップダウン リストから [エンタープライズ Active Directory ユーザー アカウント ストア] を選択します。
[LDAP 属性] で、[sAMAccountName] を選択します。
[出力方向のクレームの種類] で、[電子メール アドレス] を選択します。
左側のウィンドウで、[保存] をクリックします。