操作シナリオ
Active Directory Federation Services(ADFS)は、Microsoftが提供するWindows Server Active Directory フェデレーションサービス(ADFS)です。ADFSは、単一のセッション中に複数のWebアプリケーションに対するユーザー認証を可能にする新しい技術です。Tencent Cloudは、SAML 2.0(Security Assertion Markup Language 2.0)に基づくフェデレーション認証をサポートしています。SAML 2.0は、多くのアイデンティティプロバイダー(Identity Provider,IdP)が採用するオープンスタンダードです。SAML 2.0ベースのフェデレーション認証によりADFSとTencent Cloudを連携させ、ADFSアカウントによるTencent Cloudコンソールへの自動ログイン(シングルサインオン)を実現できます。これにより、Tencent Cloudのリソースを管理する際、企業や組織のメンバーごとにCAMサブユーザーを作成する必要はありません。
前提条件
一台のWindows Server Cloud Virtual Machine (CVM)を所有しています。サーバーの購入が必要な場合は、CVM-購入ガイドをご参照ください。 実名認証が完了したドメインを一つ所有しています。
操作手順
ADドメインサービスとDNSサービスのインストール
1. ダッシュボード管理ページで、ロールと機能の追加をクリックし、ページのデフォルト情報を維持したまま、次へをクリックし続け、ロールと機能の追加ウィザードページに進みます。
2. ロールと機能の追加ウィザードページで、ページのデフォルト情報を維持し、続けてクリック次
へ、サーバーロール情報欄で「Active Directory ドメインサービス」と「DNS サーバー」にチェックを入れます。 3. ページのデフォルト情報を維持し、続けて次へをクリックし、インストールをクリックします。インストール成功画面で、右上のをクリックするか、インストール完了画面で操作します。 4. ドメインコントローラーへの昇格をクリックし、展開設定ページに進み、ドメイン名を入力します。本文の例は example.com です。
5. 次へをクリックし、インストール完了後、パスワードを入力します。ページのデフォルト情報を維持し、続けて次へをクリックします。
6. インストールをクリックし、インストール完了後、サーバーを再起動します。
7. AD ドメインサービスとDNSサービスのインストールが完了し、サーバーをドメインコントローラーに昇格させました。
Webサーバーのインストール
1. AD ドメインサービスとDNSサービスのインストールにおける手順2を参照し、サーバーロールページに進み、サーバーロール情報欄でWebサーバーにチェックを入れます。
2. ページのデフォルト情報を維持し、続けて次へをクリックし、インストールをクリックして、Webサーバーのインストールを完了します。
証明書の申請
1. 左下隅のWindowsアイコンをクリックし、検索ボックスに「mmc」コマンドを入力してEnterキーを押すと、コンソール1-[コンソールルート]ページに移動します。
2. コンソール1-[コンソールルート]ページで、ファイル > 管理ユニットの追加/削除をクリックし、ポップアップウィンドウで証明書を選択して、追加 > 完了をクリックします。
3. 証明書
をクリックし、展開されたディレクトリで個人を右クリックし、すべてのタスク>詳細操作>カスタム要求の作成をクリックします。 4. ページのデフォルト情報を維持し、次へをクリックし続け、証明書登録ページに進み、登録ポリシーを使用せずに続行をクリックします。
5. カスタムリクエストページで、以下の情報を選択します:
テンプレート:(テンプレートなし)旧キー
リクエストフォーマット:PKCS#10
6. 詳細 > 証明書プロパティをクリックし、「一般」タブでフレンドリ名と説明情報を入力します。
7. ユーザー欄に値情報を入力します。今回の例は(*.example.com)です。追加をクリックします。
8. 秘密鍵の欄で「Microsoft RSA SChanel Cytographi̇c Provider」(暗号化)を選択し、秘密鍵のエクスポートを許可します。
9. 確認 > 次へをクリックし、保存するディレクトリを選択して証明書を保存し、完了をクリックします。
ADC(AD証明書サーバー)のインストール
1. 参照インストール AD ドメインサービスとDNSサービスにおける手順2、サーバーロール情報欄でActive Directory 証明書サーバーにチェックを入れます。 2. デフォルト情報を維持し、次へをクリックし続け、ロールサービス欄で「証明機関」と「証明機関 Web 登録」にチェックを入れます。
3. インストールをクリックし、インストール成功画面で右上のをクリックし、ターゲットサーバーのActive Directory証明書サービスを構成をクリックします。 4. ページのデフォルト情報を維持し、次へをクリックし続け、ロールサービス欄で「証明機関」と「証明機関 Web 登録」にチェックを入れます。
5. ページのデフォルト情報を維持し、次へをクリックし続け、構成をクリックして、ADCのインストールを完了します。
SSL Certificatesの生成
1. https://localhost/certsrv にアクセスし、証明書を申請をクリックします。
2. 証明書申請ページで、高度な証明書申請をクリックします。
3. 高度な証明書申請ページで、base64エンコードされたCMCまたはPKCS#10ファイルを使用して証明書申請を提出する、またはbase64エンコードされたPKCS#7ファイルを使用して証明書申請を更新するをクリックします。
4. 保存された証明書ファイルの内容をコピーして以下の入力ボックスに貼り付け、証明書テンプレートで「Webサーバー」を選択し、提出をクリックします。
5. 申請が成功しましたら、ダウンロードをクリック
(両フォーマットともダウンロードが必要です)。 6. 申請証明書の手順3を参照し、個人を右クリックし、すべてのタスク>インポートをクリックします。 7. 手順5で保存された証明書ファイルを選択し、ページのデフォルト情報を維持し、次へ>完了をクリックし続けます。 8. 申請証明書の手順3を参照し、個人を右クリックし、すべてのタスク>エクスポートをクリックします。 9. 証明書エクスポートウィザードページで、「はい、プライベートキーをエクスポートする」を選択し、「グループまたはユーザー名(推奨)」にチェックを入れ、次へをクリックし、エクスポートを完了してファイルを保存
します。 ADFSのインストール
1. 参照ADドメインサービスのインストール
とDNSサービスの手順2、サーバーロールページに進み、「Active Directory フェデレーションサービス」にチェックを入れます。 2. ページのデフォルト情報を維持し、次へ>完了をクリックし続け、結果ページでこのサーバー上でフェデレーションサービスを構成をクリックします。
3. ページのデフォルト情報を維持し、次へをクリックし続け、指定サービス属性ページに進み、以下の情報を入力してください。
SSL証明書:SSL証明書の生成の手順9で保存された証明書ファイルをインポートします。
フェデレーションサービス名:ターゲットサーバー名(右上隅の情報と一致させる)または sts.ドメイン名 または adfs.ドメイン名。
フェデレーションサービス表示名:ユーザーがログイン時に表示される名前。 4. 指定されたサービスアカウントページで、アカウント名を入力
、パスワードを入力し、ページのデフォルト情報を維持し、ADFSのインストールが完了するまで次へをクリックし続けます。 5. 以下のリンクにアクセスしてXMLファイルをダウンロードします。
https://フェデレーションサーバー名/federationmetadata/2007-06/federationmetadata.xml
6. powerShellでSet-AdfsProperties –EnableIdpInitiatedSignonPage $Trueを実行し、
以下のエントリにアクセスしてログインします。
https://フェデレーションサーバー名/adfs/ls/idpinitiatedSignOn.htm
7. 手順4のアカウント名とパスワードを入力してログインします。 説明:
ブラウザのログイン時に400 Bad Requestが表示された場合、PowerShellで以下の操作を行います:
まずADFSサービスを起動するユーザーを取得します。次にPowerShellを開き、スクリプト setspn -s http/ADFSサーバーのアクセスアドレス ドメインコントローラー\\ユーザー を実行します。例えば、ADFSサーバーの完全修飾ドメイン名が172_21_0_13.weezer.clubで、ドメインコントローラーがWEEZER、ユーザーがAdministratorの場合、実行するスクリプトは setspn -s http/172_21_0_13.weezer.club WEEZER\\Administrator となります。
Tencent Cloudでの身分プロバイダ作成
説明:
本ステップでは、ADFSとTencent Cloudの間の信頼関係を設定し、相互信頼を確立することができます。
Tencent CloudでSAML身分プロバイダを作成し、命名形式は英字のみとし、身分プロバイダ名を保存します。詳細な操作
については、身分プロバイダの作成をご参照ください。 身分プロバイダ向けロールの作成
説明:
本ステップでは、ユーザーアクセス権限を割り当てることができ、ADFSユーザーにTencent CloudのSSOアクセス権限を付与することができます。
ユーザーとユーザーグループの設定
1. サーバーマネージャーのダッシュボードページで、右上隅のツールをクリックし、Active Directory ユーザーとコンピューターを選択します。
2. Active Directory ユーザーとコンピューター ページで、操作 > 新規作成 > グループ をクリックします。
3. 新規オブジェクト-グループページで、グループ名情報を入力します。
説明:
<ご自身のメインアカウントID>をご自身のTencent CloudアカウントIDに置き換えてください。アカウントIDは、アカウント情報 - コンソールで閲覧できます。 <Tencent Cloudロール名>をTencent Cloudで身分プロバイダ用に作成したロール名に置き換えます。 4. Active Directory ユーザーとコンピューター ページで、操作 > 新規作成 > ユーザー をクリックします。
5. 従業員を新規作成し、基本情報を入力します。ユーザー名は英字で命名し、ユーザー名を保存します。
6. Active Directory ユーザーとコンピューター ページで、Users フォルダー内の新しく追加したユーザーを見つけ、ユーザーをユーザーグループに追加します。
マッピングルールの設定
1. サーバーマネージャー-ADFS ページの右上隅でツールをクリックします。
2. ADFS管理を選択し、リライングパーティの追加をクリックします。
3. リライングパーティの信頼追加ウィザードページで、「Claims Aware」を選択し、開始をクリックします。
4. 以下のリンクにアクセスして、Tencent Cloud身分プロバイダのXMLファイルをダウンロードしてください。
https://cloud.tencent.com/saml.xml
5. Tencent Cloud身分プロバイダのファイルをインポートします。
6. ページのデフォルト情報を維持し、次へ > 完了をクリックし続けます。
7. リライングパーティ信頼 > ルールの追加 > 声明発行ポリシーの編集をクリックします。
8. 変換声明ルールの追加ウィザードページで、ルールタイプの選択 > 受信声明の変換 > 次へをクリックします。
9. 編集ルールページで、ルール情報を追加し、確定をクリックします。
説明:
ルール名称の声明:NameIDとして追加します。
声明タイプの受信:Windowsアカウント名の選択
声明タイプの送信:Name IDの選択
送信名IDフォーマット:永続識別子の選択
すべての声明値を渡すを選択
10. 変換声明ルールの追加ウィザードページで、ルールタイプの選択 > カスタムルールを使用して声明を送信 > 次へをクリックします。
11. 編集ルールページで、ルール情報を追加し、確定をクリックします。
説明:
声明ルール名称:補足:Get AD Groups
カスタムルール:以下の情報を追加
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"]
=> add(store = "Active Directory", types = ("http://temp/variable"), query = ";tokenGroups;{0}", param = c.Value);
12. 変換声明ルールの追加ウィザードページで、ルールタイプの選択 > カスタムルールを使用して声明を送信 > 次へをクリックします。
13. 編集ルールページで、ルール情報を追加し、確定をクリックします。
説明:
ルール名宣言:Roleとして補充
カスタムルール: 以下の情報を追加します:
c:[Type == "http://temp/variable", Value =~ "(?i)^Tencent-([\\d]+)"]
=> issue(Type = "https://cloud.tencent.com/SAML/Attributes/Role", Value = RegExReplace(c.Value, "Tencent-([\\d]+)-(.+)", "qcs::cam::uin/$1:roleName/$2,qcs::cam::uin/$1:saml-provider/身分プロバイダ名称"));
14. 変換声明ルールの追加ウィザードページで、ルールタイプの選択>カスタムルールを使用して声明を送信>次へをクリックします。
15. 編集ルールページで、ルール情報を追加し、確定をクリックします。下図の通りです:
説明:
声明ルール名称:RoleSessionName。
カスタムルール:以下の情報を追加
c:[Type == "http://temp/variable", Value =~ "(?i)^Tencent-([\\d]+)"]
=> issue(Type = "https://cloud.tencent.com/SAML/Attributes/RoleSessionName", Value = RegExReplace(c.Value, "Tencent-([\\d]+)-(.+)", "test"));
説明:
ADFSサーバー以外のブラウザでTencent Cloudにシングルサインオンするには、ドメインプロバイダでサブドメイン(フェデレーテッドアイデンティティサーバー名)を設定し、その後アクセスしてログインします。