TeamViewerシングルサインオン(SSO)は、TeamViewerをIDプロバイダーやユーザーディレクトリと結び付けることで、大企業のユーザー管理の負担を軽減することを目的としています。
この記事は、TeamViewerのEnterprise/Tensorライセンスのお客様に適用されます。
TeamViewer シングルサインオンを使用するには、以下が必要です。
シングルサインオン(SSO)は、該当するドメインのメールアドレスを使用するすべてのTeamViewerアカウントに対して、ドメイン単位で有効化されます。有効化されると、関連するTeamViewerアカウントにサインインするすべてのユーザーは、ドメイン用に設定されたIDプロバイダに誘導されます。
セキュリティおよび悪用防止のため、この機能を有効にする前にドメインの所有権を確認する必要があります。
SSOを有効にするには、Management Console にログインし、 会社管理を選択し、シングルサインオンメニューを選択します。ドメインの追加をクリックし、SSOを有効にするドメインを入力します。
また、ID プロバイダのメタデータを提供する必要があります。これには3つのオプションがあります:
完了したら、続行をクリックします。
ここで、SSOから除外したいメールアドレスまたはユーザーグループを選択し、ドメインの追加をクリックします。
ドメインの追加後、カスタム識別子を生成することができます。このカスタム識別子は TeamViewer には保存されませんが、SSO の初期設定に使用されます。シングルサインオンが解除され、新しい設定が必要になるため、いかなる時点でもこれを変更してはなりません。任意のランダムな文字列を顧客識別子として使用できます。この文字列は後でIDPの構成に必要になります。カスタム識別子を生成するには、「作成(Generate)」をクリックします。
ドメインが正常に追加されたら、ドメインの所有権を確認する必要があります。
ドメイン認証が完了するまでは、シングルサインオンは有効になりません。
ドメインを検証するには、検証ページに表示されている値でドメインの新しいTXTレコードを作成してください。
📌 注意: DNSシステムのため、検証プロセスには数時間かかることがあります。
📌 注意: ドメイン管理システムによっては、入力フィールドの説明が異なる場合があります。
新しいTXTレコードを作成したら、検証開始ボタンをクリックして検証プロセスを開始します。
📌 注意: DNSシステムの関係上、認証に数時間かかることがありますのでご注意ください。
💡ヒント: TeamViewer は、検証を開始してから 24 時間、TXT 検証レコードを検索します。24時間以内にTXTレコードが見つからなかった場合、検証は失敗し、ステータスがそれに応じて更新されます。この場合、このダイアログから検証を再開する必要があります。
以下の手順では、Active Directory フェデレーションサービス(ADFS)の設定手順について説明します。なお、手順とコマンドは、Windows Server 2016 Standard(バージョン 1607)を実行している環境から作成しています。
設定は基本的に以下の2ステップで構成されます:
1)TeamViewer シングルサインオンサービスのADFS依拠当事者信頼を追加します。この手順では、TeamViewer SSO サービスのメタデータを入力する必要があります。これは、以下のいずれかの方法で実行できます:
2) 新しい依拠当事者信頼のクレーム発行ポリシーに変換ルールを追加します。
以下のセクションでは、PowerShellコマンドプロンプトとADFS管理グラフィカルユーザーインターフェースを使用した、3つのシナリオに対する構成について説明します。
新しいPowerShellコマンドウィンドウを開き、以下のコマンドを入力して、デフォルトのクレーム発行ポリシーを持つ新しい依拠当事者信頼をADFSに追加します:
$customerId = 'Your Generated Customer Identifier' $claimRules = @' @RuleTemplate = "LdapClaims" @RuleName = "TeamViewer Login" c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] => issue(store = "Active Directory", types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"), query = ";objectGUID,mail;{0}", param = c.Value); @RuleName = "TeamViewer Customer ID" => issue(Type = "http://sso.teamviewer.com/saml/claims/customeridentifier", Value = " '@ + $customerId + '");' Add-AdfsRelyingPartyTrust ` -Name TeamViewer ` -MetadataUrl https://sso.teamviewer.com/saml/metadata.xml ` -IssuanceTransformRules $claimRules ` -AccessControlPolicyName "Permit everyone" ` -AutoUpdateEnabled $true ` -MonitoringEnabled $true ` -Enabled $true
必要に応じて、「-Name」パラメータ値(13行目)を調整します。これは、ADFSグラフィカルユーザーインターフェイスに表示される名前です。また、アクセス制御ポリシーの名前(16行目)はシステムによって異なる場合があります。
すべての設定は、後でPowerShellまたはADFSグラフィカルユーザーインターフェイスで変更することができます。
これは、上記の「自動」方法とよく似ています。事前にメタデータXMLファイルをダウンロードし、ADFSサーバーにコピーする必要があります。
メタデータファイルは以下のURLからダウンロードできます:
https://sso.teamviewer.com/saml/metadata.xml
以下のコマンドは、メタデータXMLファイルがPowerShellコマンドプロンプトの現在のディレクトリに "metadata.xml "として存在することを前提としています。
$customerId = 'Your Generated Customer Identifier' $claimRules = @' @RuleTemplate = "LdapClaims" @RuleName = "TeamViewer Login" c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] => issue(store = "Active Directory", types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"), query = ";objectGUID,mail;{0}", param = c.Value); @RuleName = "TeamViewer Customer ID" => issue(Type = "http://sso.teamviewer.com/saml/claims/customeridentifier", Value = " '@ + $customerId + '");' Add-AdfsRelyingPartyTrust ` -Name TeamViewer ` -MetadataFile metadata.xml ` -IssuanceTransformRules $claimRules ` -AccessControlPolicyName "Permit everyone" ` -Enabled $true
自動 " 手段と主に異なる点は、"-MetadataUrl" の代わりに "-MetadataFile" パラメータを使用する点です(-MetadataUrl - 14 行目)。 "AutoUpdateEnabled "と"-MonitoringEnabled "パラメーターは、どちらも有効なメタデータURLを指定する必要があるため、省略されています。
手動構成では、TeamViewer SAML サービスプロバイダの署名/暗号化証明書の公開鍵をダウン ロードして抽出する必要があります。
PowerShellコマンドプロンプトで以下のコマンドを実行し、依拠当事者信頼を手動で追加します:
$customerId = 'Your Generated Customer Identifier' $cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2(".\sso.teamviewer.com - saml.cer", "") $claimRules = @' @RuleTemplate = "LdapClaims" @RuleName = "TeamViewer Login" c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] => issue(store = "Active Directory", types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"), query = ";objectGUID,mail;{0}", param = c.Value); @RuleName = "TeamViewer Customer ID" => issue(Type = "http://sso.teamviewer.com/saml/claims/customeridentifier", Value = " '@ + $customerId + '");' $samlEndpoints = @( (New-AdfsSamlEndpoint -Binding POST -Protocol SAMLAssertionConsumer -Uri https://sso.teamviewer.com/saml/acs -Index 0), (New-AdfsSamlEndpoint -Binding Redirect -Protocol SAMLAssertionConsumer -Uri https://sso.teamviewer.com/saml/acs -Index 1) ) Add-AdfsRelyingPartyTrust ` -Name "TeamViewer" ` -Identifier "https://sso.teamviewer.com/saml/metadata" ` -RequestSigningCertificate $cert ` -EncryptionCertificate $cert ` -SamlEndpoint $samlEndpoints ` -IssuanceTransformRules $claimRules ` -AccessControlPolicyName "Permit everyone" ` -Enabled $true
"Add-AdfsRelyingPartyTrust" PowerShellコマンドレットの公式ドキュメントもご覧ください: https://technet.microsoft.com/en-us/library/ee892322.aspx
1)サーバーマネージャーから ADFS管理ツールを起動します。
2)ADFS-->依拠当事者信頼に移動し、右側のナビゲーションペインで依拠当事者信頼の追加... をクリックします。
3)クレーム認識を選択し、開始ボタンをクリックしてウィザードを開始します。
4) バリアント応じて、以下を選択します。
5)TTeamViewerまたはsso.teamviewer. comといった依拠当事者信頼の名前を選択するか、または事前に入力されている名前を選択します。
6) 依拠当事者信頼のためのアクセス制御ポリシーを選択します。例: すべてのユーザーを許可(permit everyone)
7) 概要画面で次へをクリックし、依拠当事者信頼を追加します。
次に、クレーム発行ポリシーを新しい依拠当事者信頼に設定する必要があります。
6)完了をクリックします。
7)ルールの追加をもう一度追加し、カスタムルールを使用してクレームを送信を選択 して、2 番目のクレームルールを追加します。
8) カスタムクレームルールの名前を入力します。例:TeamViewer Customer ID
9) 以下のカスタムルールを入力し、値を生成した顧客識別子に設定します:
=> issue(Type = "http://sso.teamviewer.com/saml/claims/customeridentifier", Value = "Your Generated Customer Identifier");
値フィールドには、あなた自身が生成した顧客識別子を必ず追加してください。
10)完了をクリックします。
手動構成では、TeamViewer SAML サービスプロバイダの署名/暗号化証明書の公開鍵をダウン ロードして抽出する必要があります。
証明書の取得方法については、以下の技術情報セクションを参照してください。
1)サーバーマネージャーから ADFS管理ツールを起動します。
2)ADFS - 依拠当事者信頼に移動し、右側のナビゲーションペインで依拠当事者信頼の追加...をクリックします。
3)クレーム認識を選択し、開始ボタンをクリックしてウィザードを開始します。
4)データを手動で入力することを選択します(3番目の箇条書き)。
5)TeamViewerまたはsso.teamviewer.comのような依拠当事者信頼の名前を選択するか、事前に入力された名前を選択します。
6)証明書ファイルを参照します(上記のコメントを参照)。
7) SAML 2.0 WebSSO プロトコルのサポートを有効にする(Enable support for SAML 2.0 WebSSO protocol)のチェックボックスをオンにし、次のサービス URL を入力します:https://sso.teamviewer.com/saml/acs
8) 識別子の設定ページで、https://sso.teamviewer.com/saml/metadataを識別子として追加します。
9) 依拠当事者信頼の追加を確認します。
10) 上記の自動 手順で説明したように、クレーム発行ポリシーを設定しま す。
11) 次に、依拠当事者信頼の署名証明書を設定します。したがって、プロパティを開き(ダブルクリック)、署名タブに移動します。上記と同じ証明書ファイルを参照します。
12)オプションで、2 番目の SAML エンドポイントを依拠当事者信頼に追加します。エンドポイントタブに移動し、SAML エンドポイントの追加をクリックします。
TeamViewer は、バージョン13.2.1080からシングルサインオンと互換性があります。
以前のバージョンはシングルサインオンをサポートしていないため、ログイン中にユーザーを ID プロバイダに誘導することはできません。クライアント設定はオプションですが、IdP の SSO ログインに使用するブラウザを変更することができます。
TeamViewer クライアントは、デフォルトで ID プロバイダ認証に組み込みブラウザを使用します。オペレーティングシステムのデフォルトブラウザを使用する場合は、この動作を変更できます:
Windows:
HKEY_CURRENT_USER\Software\TeamViewer\SsoUseEmbeddedBrowser = 0 (DWORD)
macOS:
defaults write com.teamviewer.teamviewer.preferences SsoUseEmbeddedBrowser -int 0
📌注意: レジストリを作成または変更した後、TeamViewer クライアントを再起動する必要があります。