amazon web services big-ip セットアップガイド · 6 2.1. vpc 設定 まず、amazon virtual...

109
2016/11 Amazon Web Services BIG-IP セットアップガイド SAML フェデレーション F5 Networks Japan V1.0

Upload: others

Post on 06-Sep-2019

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

2016/11

Amazon Web Services BIG-IPセットアップガイド ~ SAML フェデレーション ~

F5 Networks Japan V1.0

Page 2: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

2

目次

1. はじめに ................................................................................................................................................................. 4

2. AWSマネージメントコンソールとの SAML フェデレーション ...................................................................................... 5

2.1. VPC設定 ........................................................................................................................................................ 6

VPCウィザード ......................................................................................................................................... 6

インターネットゲートウェイ ......................................................................................................................... 7

サブネットの追加 ...................................................................................................................................... 7

ルートテーブルの設定............................................................................................................................... 8

2.2. EC2で BIG-IP インスタンスを起動 ................................................................................................................... 9

AWS Marketplaceからインスタンスを生成 ............................................................................................... 9

Virtual Server用のセカンダリプライベート IPアドレス設定 ...................................................................... 13

Elastic IPの発行と割り当て ................................................................................................................... 14

2.3. BIG-IPの SAML IdP設定 ............................................................................................................................. 16

BIG-IPへの SSHログイン(PuTTY利用) ................................................................................................ 16

CLIでの初期設定 .................................................................................................................................. 19

WebUIでの初期設定 ............................................................................................................................. 19

ネットワーク設定 ..................................................................................................................................... 21

Local User DBの設定 ........................................................................................................................... 23

証明書とキーの作成 ............................................................................................................................... 25

SAML IdP設定 ...................................................................................................................................... 26

SAML Resource設定 ............................................................................................................................ 32

Webtop設定 .......................................................................................................................................... 33

Access Profileの設定 ........................................................................................................................ 34

Virtual Serverの設定 ......................................................................................................................... 39

2.4. AWS IAMの SAML SP設定 ......................................................................................................................... 40

IDプロバイダーの作成 ........................................................................................................................... 40

ロールの設定 ......................................................................................................................................... 41

2.5. SAML動作確認 ............................................................................................................................................ 43

2.6. アクセス権限のコントロール ........................................................................................................................... 44

Local User DBへのユーザ追加 ............................................................................................................. 44

Local IdP Serviceの設定変更 ............................................................................................................... 45

Access Profile(Access Policy)の設定変更............................................................................................. 46

AWS IAMロールの設定追加.................................................................................................................. 49

動作確認 ................................................................................................................................................ 50

3. BIG-IPを SAML SP とした SAML フェデレーション ................................................................................................ 51

3.1. VPC設定 ...................................................................................................................................................... 52

VPCウィザード ....................................................................................................................................... 52

サブネットの追加 .................................................................................................................................... 53

ルートテーブルの設定............................................................................................................................. 54

Elastic IPの発行 ................................................................................................................................... 55

3.2. EC2で BIG-IP インスタンスを起動 ................................................................................................................. 56

AWS Marketplaceからインスタンスを生成 ............................................................................................. 56

管理インタフェースへの EIPの割り当て .................................................................................................. 60

Virtual Server用のセカンダリプライベート IPアドレス設定と EIPの割り当て ........................................... 61

[参考] EIPのメモ .................................................................................................................................... 62

3.3. EC2でWordPress インスタンスを起動 .......................................................................................................... 63

AWS Marketplaceからインスタンスを生成 ............................................................................................. 63

WordPressへの SSHログイン (PuTTY と Pageantの利用) ................................................................. 67

WordPressの SSLオフロード用の設定変更 .......................................................................................... 69

3.4. 既設 BIG-IPの SAML IdP設定(1) ................................................................................................................ 70

3.5. 新設 BIG-IPの SAML SP設定 ..................................................................................................................... 73

CLIでの初期設定 .................................................................................................................................. 73

WebUIでの初期設定 ............................................................................................................................. 73

ネットワーク設定 ..................................................................................................................................... 75

サーバロードバランシングの設定 ............................................................................................................ 77

Page 3: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

3

サーバロードバランシグの動作確認 ........................................................................................................ 79

SAML SPの設定 ................................................................................................................................... 80

Access Profileの設定 ............................................................................................................................ 84

Virtual Serverの設定変更 ..................................................................................................................... 87

3.6. 既設 BIG-IPの SAML IdP設定(2) ................................................................................................................ 88

External SP Connector設定 ................................................................................................................. 88

Local SP Services設定 ......................................................................................................................... 89

SAML Resource設定 ............................................................................................................................ 90

Access Profileの設定 ............................................................................................................................ 91

3.7. SAML動作確認 ............................................................................................................................................ 93 IdP Initiated ........................................................................................................................................... 93 SP Initiated ............................................................................................................................................ 94

3.8. WordPressへのシングルサイオン ................................................................................................................. 96

WordPressへのユーザ登録................................................................................................................... 96

BIG-IPのシングルサインオン設定 .......................................................................................................... 98

Access Profileの設定 ............................................................................................................................ 99

シングルサインオン動作確認 ................................................................................................................ 101

[参考]APMのセッション変数について .................................................................................................. 102

4. 終わりに ............................................................................................................................................................. 103

5. [Appendix] SAMLのセキュリティ設定の強化 ...................................................................................................... 104

5.1. 証明書とキーの作成 .................................................................................................................................... 105

5.2. アサーションの AES暗号化 ......................................................................................................................... 106

5.3. SAML リクエストへの署名 ............................................................................................................................ 108

Page 4: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

4

1. はじめに

本ガイドでは、Amazon Web Services (以降、AWS) 上での BIG-IPの SAML (Security Assertion Markup

Language) 設定方法をご紹介します。

SAMLを利用することで、企業が持つ ID情報 (例:Active Directoryなど) を利用して、様々なアプリケーションへのシ

ングルサインオンを実現できます。

BIG-IPは、SAML フェデレーションを実現するために必要な IdP と SPの両方の機能を実装できます。

本ガイドでは、大きく 2つのセクションに分かれています。

① AWSマネージメントコンソールとの SAML フェデレーション

② BIG-IPを SAML SP とした SAML フェデレーション

以降、豊富なスクリーンショットを用いて、ステップ byステップで設定できる形でご紹介していきます。

Page 5: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

5

2. AWSマネージメントコンソールとの SAML フェデレーション

SAML フェデレーションを使って、AWSマネージメントコンソールへのシングルサインオンを実現します。

SAML IdP用に、VPC:IDP-VPC を一つ生成し、その中で BIG-IPを SAML IdP として動作させます。

SAML SPは AWSマネージメントコンソールです。

リージョンは Tokyo を選択しています。

Availability Zoneは ap-northeast-1c を選択しています。

VPC:IDP-VPCの CIDRブロックは 10.0.0.0/16 とし、VPC内の各サブネットを以下の位置づけとして作成します。

BIP-mgt-1c: BIG-IP管理用サブネット

BIP-ext-1c: BIG-IPの外部サービス用(Virtual Server用)サブネット

IdPでは一般的に Active Directoryや LDAPを使いますが、本ガイドでは簡易的に BIG-IPの内部 DBを使うことに

します。

Page 6: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

6

2.1. VPC設定

まず、Amazon Virtual Private Cloud (VPC) を設定します。

VPCウィザード

(1) AWSへのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC を選択します。

(2) VPCウィザードの開始ボタンを押します。

(3) 本ガイドでは、「1個のパブリックサブネットを持つ VPC」を選択します。

(4) VPC名、アベイラビリティーゾーン、サブネット名、を指定します。

(5) OKを押します。

VPC内で利用する CIDRブロックを指定

任意の名称を入力 (例:IDP-VPC)

IP CIDRブロック内からサブネットを指定

Availability Zone を選択

任意の名称を入力 (例:BIP-mgt-1c)

Page 7: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

7

インターネットゲートウェイ

ナビゲーションペイン(左側メニュー)で「インターネットゲートウェイ」を選択します。

VPCウィザードによって、インターネットゲートウェイ(インターネットでの出入り口となるコンポーネント。図中の Internet

Gateway)が自動的に生成されていることがわかります。(ここは確認のみです。)

サブネットの追加

ネットワーク構成に合わせるためには、サブネットの追加が必要です。

その追加手順を示します。

(1) ナビゲーションペインで「サブネット」を選択します。

VPCウィザードによって生成されたサブネット(BIP-mgt-1c)が 1つだけ存在しています。

「サブネットの作成」ボタンを押します。

(2) BIP-ext-1cサブネットを追加します。

作成した VPCを選択

任意の名称を入力 (例:BIP-ext-1c)

作成した VPCを選択

AZを選択

サブネットを指定

Page 8: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

8

ルートテーブルの設定

VPCウィザードによって、2つのルートテーブルが生成されています。

① VPC内のサブネットとインターネットゲートウェイのルート(0.0.0.0/0→igw-XXXX)を持つルートテーブル

② VPC内のサブネット(10.0.0.0/16)だけを持つルートテーブル

①のルートテーブルに関連付けらたサブネットだけが、インターネットとの通信が可能になります。

BIP-mgt-1cおよび BIP-ext-1cはそれぞれインターネットからのアクセスを必要とするので、①に関連付けます。

(1) ナビゲーションペインで「ルートテーブル」を選択します。

(2) 「ルート」タブ内にインターネットゲートウェイのルート (0.0.0.0/0→igw-XXXX) を持つ方のルートテーブルを選択しま

す。

(3) 「サブネットの関連付け」を見ると、VPCウィザードによって BIG-mgt-1cだけが関連付けられています。

「編集」ボタンを押して現れた以下の画面で、BIP-ext-1cにもチェックを入れて、「保存」ボタンを押します。

(4) これで、BIP-mgt-1cに加え、BIP-ext-1c もインターネットアクセスが可能になりました。

VPC内のルーティング

インターネットゲートウェイへのルート

関連付けにチェックを入れる

Page 9: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

9

2.2. EC2で BIG-IPインスタンスを起動

Amazon Elastic Compute Cloud (Amazon EC2)で BIG-IP インスタンスを起動するまでの手順を示します。

AWS Marketplaceからインスタンスを生成

(1) AWSへのログイン後に表示されるマネージメントコンソールのポータル画面から、EC2を選択します。

(2) 表示された画面で「インスタンスの作成」ボタンを押します。

(3) ナビゲーションペインで AWS Marketplace を選択し、検索フォームに"BIG-IP"と入力して Enterキーを押します。

[パターン 1: 従量課金の場合]以下を選んで、「選択」ボタンを押します。

[パターン 2: BYOL(ライセンス持込み)の場合] BYOLの文字が入った BIG-IPを選んで、「選択」ボタンを押します。

※OS Versionが「12.1.0~」のものを選択してください。

(4) インスタンスタイプは、本ガイドでは「m4.2xlarge」を選択しました。

「次の手順:インスタンス詳細の設定」ボタンを押します。

BIG-IP と入力して、「Enter」キーを押す

BYOL

12.1.0~

時間毎の課金の記載があるもの

“Best”を選択

Page 10: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

10

(5) 作成した VPC:IDP-VPCを選択し、サブネット:BIP-mgt-1c を選択します。

ネットワークインターフェイスで、eth0に BIG-IPの管理インタフェース用のプライベート IPアドレスを設定します。

画面下の「デバイスの追加」ボタンを押すと eth1が現れます。

サブネットは BIP-ext-1c を選択し、BIG-IPの外部インタフェース用のプライベート IPアドレスを設定します。

「次の手順:ストレージの追加」ボタンを押します。

~略~

(6) EBSのボリュームタイプで「汎用 SSD(GP2)」を選択します。

「次の手順:インスタンスのタグ付け」ボタンを押します。

作成した VPCを選択

BIP-mgt-1c を選択

無効化を選択

プライマリ IPにプライベートアドレスを入力

サブネットで「BIP-ext-1c」を選択

プライマリ IPにプライベートアドレスを入力

汎用 SSD(GP2)を選択

Page 11: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

11

(7) Name タグに「BIP-IDP」と入力します。

「次の手順:セキュリティグループの設定」ボタンを押します。

(8) 「新しいセキュリティグループを生成する」が選択された状態になっているはずです。

セキュリティグループ名と説明はそのまま利用してもよいですが、短めのほうが分かりやすいと思います。

SSHに関しては、送信元 IPアドレスを限定しておくことが推奨されています。

「確認と作成」ボタンを押します。

(9) 一通り内容を確認し、「作成」ボタンを押します。

名称を入力

デフォルトで選択されている

任意の名称および説明を入力

(例:BIG-IP)

限定することを推奨

Page 12: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

12

(10) 新しい Key Pair を作ります。

「新しいキーペアの作成」が選択されていることを確認してください。

キーペア名に名称(任意)を入力します。

「キーペアのダウンロード」ボタンを押します。

BIG-IPにアクセスするための PCにキーをダウンロードします。

キーがダウンロードできたら、「インスタンスの作成」ボタンを押します。

(11) 「インスタンスの表示」ボタンを押します。

(12) ステータスチェックが「2/2のチェックに合格しました」になれば、BIG-IP インスタンスの生成は完了です。

新しいキーペアの作成を選択

任意の名称を入力 (例:F5J-AWS-Key)

キーペアのダウンロードを押す

Page 13: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

13

Virtual Server用のセカンダリプライベート IPアドレス設定

BIP-ext-1cのインタフェースに、セカンダリプライベート IPアドレスを追加します。

このアドレスが Virtual Serverのアドレスとなり、このアドレスを Elastic IP と関連付けます。

(1) ナビゲーションペインで「ネットワークインターフェイス」を選択します。

表示された画面で、プライマリプライベート IP として 10.0.11.212のアドレスを持つインタフェースを見つけます。

そのインタフェースを右クリックし、「プライベート IPアドレスの管理」を選択します。

(2) 「新しい IPの割り当て」をクリックして、Virtual Server用の IPアドレスを入力します。

「更新する」ボタンを押します。

もう一度同じ画面が現れるので、今度は「キャンセル」をクリックします。

(3) 以下のようにセカンダリプライベート IPアドレスが割り当てられます。

10.0.11.212

プライベート IPの管理を選択

Virtual Server用 IPを設定

Page 14: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

14

Elastic IPの発行と割り当て

BIG-IPの管理インタフェース用の IP と、Virtual Server用 IPの 2つのパブリック IP を Elastic IP として用意しておきま

す。

2.2.3.1. EIPの発行

(1) ナビゲーションペインから「Elastic IP」を選択して表示された画面で、「新しいアドレスの割り当て」ボタンを押します。

(2) 「関連付ける」ボタンを押します。

(3) 「閉じる」ボタンを押します。

(4) もう一度同じ操作を繰り返し、EIPを 2つ用意します。

2.2.3.2. 管理インタフェースへの EIPの割り当て

BIG-IPの管理用インタフェース(BIP-mgt-1cに接続されたインタフェース)に、EIPを割り当てます。

(1) ナビゲーションペインで「Elastic IP」を選択します。

何も割り当てられていない 2つの EIPのうち、1つを右クリックし、「アドレスの関連付け」を選択します。

アドレスの関連付けを選択

Page 15: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

15

(2) 「インスタンス」で、生成した BIG-IPを選択します。

「プライベート IPアドレス」で、管理インタフェース側(BIP-mgt-1c側=10.0.10.212)の IPを選択します。

「関連付ける」ボタンを押します。

2.2.3.3. Virtual Serverへの EIPの割り当て

もう一つの関連付けされていない EIPを右クリックし、「アドレスの関連付け」を選択します。

表示された以下の画面の「インスタンス」で、生成した BIG-IPを選択します。

「プライベート IPアドレス」で、外部インタフェース側(BIP-ext-1c側)のセカンダリプライベート IP(10.0.11.112)を選択しま

す。

「関連付ける」ボタンを押します。

2.2.3.4. [参考] EIPのメモ

Elastic IPアドレスおよびパブリック DNSは BIG-IPの設定でも利用するので、メモしておくと設定がスムーズです。

例)

インスタンス名 Interface Elastic IP パブリック DNS

BIP-IDP 管理用 52.197.57.39 ec2-52-197-57-39.ap-northeast-1.compute.amazonaws.com

Virtual Server 用 52.193.153.104 ec2-52-193-153-104.ap-northeast-1.compute.amazonaws.com

プルダウンから選択 or

インスタンス IDを入力。

IPを選択

プルダウンから選択 or

インスタンス IDを入力。

セカンダリプライベート IPを選択

Page 16: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

16

2.3. BIG-IPの SAML IdP設定

BIG-IPが SAML IdP として動作するまでの設定を示します。

BIG-IPへの SSHログイン(PuTTY利用)

BIG-IPの管理用インタフェースに割り当てた EIP([参照]管理インタフェースへの EIPの割り当て)に対して、SSHでロ

グインします。

以降、PuTTYを使った場合の手順を示します。

2.3.1.1. キーの変換 (PuTTYgen)

インスタンス生成時に Key Pair を生成&ダウンロードしましたが、その Keyは.pem形式なので、そのままでは PuTTY

では使えません。よって、PuTTYgen を使って、PuTTYで使える形式(.ppk)に変換します。

(1) PuTTYgen を起動します。

(例:Windowsの[スタート] メニュー→[すべてのプログラム]→[PuTTY]→[PuTTYgen] をクリック。)

(2) Parametersの Type of key to generate:で RSAが選択されていることを確認し、「Load」ボタンを押します。

(3) ファイルを選択するWindowで、「All Files (*.*)」を選択します。

(4) BIG-IP インスタンス生成時に生成したキーペアの.pem ファイル(例:F5J-AWS-key.pem)を選択し、「開く」ボタンを押

します。このことで、PuTTY が使用できる形式(.ppk)に変換されます。

Page 17: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

17

(5) [Save private key] ボタンを押して、その変換後のキーを保存します。

(パスフレーズなしでキーを保存することに関する警告が表示されますが、[Yes]ボタンを押します。)

2.3.1.2. Pageantの利用

Pageantに、変換したキー(.ppk)を登録しておくことで、SSHログインの際のキー指定を省略できます。

(1) Pageant を起動します。

(例:Windowsの[スタート] メニュー→[すべてのプログラム] → [PuTTY] → [Pageant] をクリック。)

(2) 「Add Key」ボタンを押します。

(3) ファイルを選択するWindowで、先ほど「.pem」から「.ppk」へ変換したファイルを選択し、「開く」ボタンを押します。

以下のように、キーが追加されます。

Page 18: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

18

2.3.1.3. PuTTYでの SSHログイン

(1) PuTTYを起動します。

(2) Host Name (or IP address)に、BIG-IPの管理インタフェースに割当てた EIP を指定して「Open」ボタンを押します。

(3) "login as:"と表示されます。

ユーザ名:adminを入力するだけで、キーを指定することなくログインできます。

BIG-IPの管理インタフェースの EIP

Page 19: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

19

CLIでの初期設定

まず、CLIから初期設定を行っていきます。 以下のコマンドを実行します。

(1) [※※BYOLの場合のみ※※]以下のコマンドで、Registration Key(例:FQHBF-XXXXX-YYYYY-ZZZZZ-PXWNFLH)を使っ

て、ライセンスファイルを取得します。(従量課金の場合はこの設定は不要です。)

admin@(ip-10-0-10-212)(cfg-sync Standalone)(NO LICENSE)(/Common)(tmos)# install sys license license-

server activate.f5.com registration-key FQHBF-XXXXX-YYYYY-ZZZZZ-PXWNFLH

(2) WebUIログイン用の adminパスワードを変更します。

admin@(ip-10-0-10-212)(cfg-sync Standalone)(Active)(/Common)(tmos)# modify auth password admin

changing password for admin

new password: <パスワード(任意)>

confirm password: <パスワード(任意)>

(3) WebUIの初期ウィザードを停止します。

admin@(ip-10-0-10-212)(cfg-sync Standalone)(Active)(/Common)(tmos)# modify sys global-settings gui-

setup disabled

(4) 設定を保存します。

admin@(ip-10-0-10-212)(cfg-sync Standalone)(Active)(/Common)(tmos)# save sys config

Saving running configuration...

/config/bigip.conf

/config/bigip_base.conf

/config/bigip_user.conf

Saving Ethernet mapping...done

(5) [※※従量課金の場合のみ※※] 約 10分程度経過しても「(NO LICENSE)」を維持しているような場合には、以下の

コマンドで、BIG-IPを再起動してください。

admin@(ip-10-0-10-212)(cfg-sync Standalone)(NO LICENSE)(/Common)(tmos)# reboot

WebUIでの初期設定

WebUIから初期設定を行っていきます。

(1) 管理インタフェースに割り当てた EIPに、Webブラウザで HTTPSアクセスします。

Usernameは"admin"で、Passwordは先ほど CLIで設定した文字列でログインします。

admin

CLIで設定したパスワード

Page 20: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

20

(2) 「System」→「Platform」を選択し表示された画面で、以下のように設定変更します。

(3) 「System」→「Resource Provisioning」を選択して表示された画面で「Access Policy (APM)」にチェックを入れます。

~略~

~略~

(4) 確認が出ます。OKボタンを押します。

Time Zone を選択

Page 21: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

21

(5) 「Continue」ボタンが出るまで、約 1分程度待ちます。

「Continue」ボタンを押します。

ネットワーク設定

2.3.4.1. VLAN設定

まず、インタフェースに VLANを割り当てます。

「Network」→「VLANs」で表示される画面右上の「Create」ボタンを押して現れた画面で、以下のように設定します。

任意の名称を入力 (例:external)

Interface: 1.1 Tagging: Untagged

を選んで「Add」ボタンを押す

Page 22: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

22

2.3.4.2. Self IP設定

作成した VLANに、IPアドレスを割り当てます。

「Network」→「Self IPs」で表示される画面右上の「Create」ボタンを押して現れた画面で、以下のように設定します。

2.3.4.3. Routes設定

インターネットへのデフォルトゲートウェイを設定します。

「Network」→「Routes」で表示される画面右上の「Create」ボタンを押して現れた画面で、以下のように設定します。

任意の名称を入力 (例:external-ip)

ネットワーク図中の external-ipアドレスと

Netmask を入力

作成済み VLANを選択

任意の名称を入力 (例:default-gw)

宛先および Netmaskに 0.0.0.0 を入力

AWSのゲートウェイのアドレスを入力

Page 23: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

23

Local User DBの設定

ユーザ認証に使う BIG-IP内部の Local User DBを設定します。

ユーザ認証には Active Directoryや LDAPを使うのが一般的ですが、本ガイドでは簡易的に BIG-IP APMに標準で用

意されている Local User DBを利用することにします。

2.3.5.1. インスタンスの作成

Local User DBは、インスタンスを分けることで、複数のユーザ DBを持つことができるようになっています。

本ガイドでは 1つしか利用しませんが、その場合もインスタンスの設定が必要です。

(1) 「Access Policy」→「Local User DB」→「Manage Instances」で表示された画面で、「Create New Instance」ボタンを

押します。

(2) 現れた画面で以下のように設定します。

任意の名前を入力 (例:saml-user)

Page 24: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

24

2.3.5.2. ユーザの作成

作成済みインスタンスへ、ユーザを作成することにします。

本ガイドではユーザ名を「test1001」としました。

(1) 「Access Policy」→「Local User DB」→「Manage Users」で表示された画面で、「Create New User」ボタンを押しま

す。

(2) 「User Information」で、ユーザ名とパスワードを設定します。

(3) 「User Group」で、グループ名を指定しておきます。(後の権限割り当ての際に、ユーザ属性として利用します。)

ユーザ名(test1001)を入力。

パスワード(任意)を入力

作成したインスタンス

②”ec2readonly”と入力

Page 25: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

25

証明書とキーの作成

SAML IdP用の証明書とキーを作ります。

(1) 「System」→「File Management」→「SSL Certificate List」で表示された画面で、「Create」ボタンを押します。

(2) 表示された画面で、以下のように設定します。

(どのような値でも SAML動作に影響はありません。)

任意の名称を入力 (例:idp-saml)

任意の Common Name を指定 (例:idp.saml.lab)

部署、組織、所在地など(任意)を入力

Page 26: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

26

SAML IdP設定

BIG-IPが SAML IdP として動作するための設定を行います。

2.3.7.1. External SP Connector設定

SAML SP となる AWSマネージメントコンソール用の Metadata をインポートして、External SP Connector として設定し

ます。

(1) Amazonの以下 Linkから、Metadata をダウンロードします。

https://signin.aws.amazon.com/static/saml-metadata.xml

(2) 「Access Policy」→「SAML」→「BIG-IP as IdP」で表示された画面で、「External SP Connectors」タブをクリックしま

す。 「Create」横の▼をクリックし、「From Metadata」を選択します。

(3) 現れた画面で、以下のように設定します。

AmazonからダウンロードしたMetadata を指定

任意の名前を指定 (例:aws.amazon.com)

Page 27: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

27

2.3.7.2. Local IdP Services設定

SAML IdP として必要な設定を行っていきます。

(1) 「Local IdP Services」タブをクリックして表示された画面で、「Create」ボタンを押します。

(2) 「General Settings」で、以下のように設定します。

[参考] IdP Entity ID = https://ec2-52-193-153-104.ap-northeast-1.compute.amazonaws.com

任意の名称を入力 (例:AWS_Portal_SAML)

Virtual Serverの EIPに

紐付いた DNS名を指定

Page 28: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

28

(3) 「Assertion Settings」で、以下のように設定します。

(4) 「SAML Attributes」で「Add」ボタンを押します。

(5) 一つ目のアトリビュート設定です。

[Name] https://aws.amazon.com/SAML/Attributes/Role

[Value(s)] arn:aws:iam::999999999999:role/test-saml-ec2readonly,arn:aws:iam::999999999999:saml-provider/ec2-52-193-153-104.ap-northeast-1.compute.amazonaws.com

999999999999の部分には、AWSの Account番号を"-"なしで指定します。

AWSマネージメントコンソールへのログイン後に、ユーザ IDをクリックすると、"Account:"の下に"-"ありの 12桁の番

号が表示されます。それが Account番号です。

AWSの IAMロール名(後で AWS側で設定します)を「test-saml-ec2readonly」としますので、その値をここで指定し

ます。

最後に BIG-IPの Virtual Serverに紐付いた EIPの FQDN(ec2-52-193-153-104.ap-northeast-

1.compute.amazonaws.com)を指定します。

Entity Identifier を選択

%{session.logon.last.username}を選択

9999-9999-9999

Page 29: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

29

上記の値を使って、以下のように設定します。

(6) 二つ目のアトリビュートです。

[Name] https://aws.amazon.com/SAML/Attributes/RoleSessionName

[Value(s)] %{session.logon.last.logonname}

上記の値を使って、以下のように設定します。

上記の Name値を入力

②上記の Value(s)値を入力

上記の Name値を入力

②上記の Value値を入力

Page 30: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

30

(7) 「Security Settings」で、作成済みの証明書とキーを選択します。

(8) External SP Connectorsで作成した aws.amazon.com とバインドします。

AWS_Portal_SAMLが選択された状態で、「Bind/Unbind SP Connectors」ボタンを押します。

(9) /Common/aws.amazon.com を選んで、「OK」ボタンを押します。

作成済みのキーを選択

作成済みの証明書を選択

Page 31: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

31

(10) 設定した IDPの Metadata をエクスポートします。

AWS_Portal_SAMLが選択された状態で、「Export Metadata」ボタンを押します。

(11) 「Download」ボタンを押して、ファイルをローカル PCへダウンロードしておきます。

Page 32: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

32

SAML Resource設定

AWSマネージメントコンソールを、BIG-IPの SAML リソースとして設定します。

「Access Policy」→「SAML」→「SAML Resources」で表示された画面右上の「Create」ボタンを押して現れた画面で、以

下のように設定します。

任意の名称を入力 (例:AWS_management_console)

設定した Local SP Service を選択

Page 33: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

33

Webtop設定

IdPへログイン後に表示されるWebアプリケーション用のオブジェクト(Webtop)を生成します。

「Access Policy」→「Webtops」で表示された画面右上の「Create」ボタンを押して表示された画面で、以下のように設定

します。

任意の名称を入力 (例:saml_webtop)

Full を選択

Page 34: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

34

Access Profileの設定

Access Profile を生成します。

SAML IdP として振る舞いを、この Profileで指定します。

(1) 「Access Policy」→「Access Profiles」で表示された画面右上の「Create」ボタンを押して表示された画面で、以下の

ように設定します。

~略~

(2) 作成した Access Profileの Edit をクリックします。

任意の名称を入力 (例:IDP_profile)

言語を選択

All を選択

Page 35: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

35

(3) 新しくWebページが立ち上がり、以下の画面が現れます。「+」をクリックします。

(4) 「Logon」タブで、「Logon Page」にチェックを入れて、「Add Item」ボタンを押します。

~略~

(5) 何も変更せず、そのまま「Save」ボタンを押します。

~略~

Page 36: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

36

(6) 「Logon Page」の後ろの「+」をクリックします。

「Authentication」タブで「LocalDB auth」にチェックを入れて、「Add Item」ボタンを押します。

~略~

(7) 作成した Local User DBのインスタンスを選択して「Save」ボタンを押します。

(8) 「LocalDB Auth」の Successfulの後ろにある「+」をクリックします。

「Assignment」タブで「Advanced Resource Assign」にチェックを入れて、「Add Item」ボタンを押します。

~略~

作成した Local User DBのインスタンスを選択

Page 37: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

37

(9) 「Add new entry」ボタンを押します。現れた部分で「Add/Delete」をクリックします。

(10) 「SAML x/x」タブで、「/Common/AWS_management_console」にチェックを入れます。

(11) 「Webtop x/x」タブで、「/Common/saml_webtop」にチェックを入れ、「Update」ボタンを押します。

(12) 「Save」ボタンを押します。

(13) Advanced Resource Assignの後ろの「Deny」をクリックします。

「Allow」にチェックを入れて、「Save」ボタンを押します。

Page 38: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

38

(14) 以下のようなフローチャートが出来上がります。

「Apply Access Policy」をクリックして設定を適用します。

Page 39: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

39

Virtual Serverの設定

SAML IdPへの HTTP リクエストを処理するためには、Access Profileが割当てられた Virtual Serverが必要です。

「Local Traffic」→「Virtual Servers」で現れた画面右上の「Create」ボタンを押して、以下のように設定します。

~略~

~略~

BIG-IPの SAML SP としての設定は以上です。

任意の名称を入力 (例:IDP-vs)

Virtual Serverの IPアドレスと

ポート番号を指定

http を選択

clientssl を選択

作成した Access Profile を選択

Page 40: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

40

2.4. AWS IAMの SAML SP設定

AWSマネージメントコンソールが SAML SP として動作するよう、AWSの Identity and Access Management (IAM) の

設定を行います。

IDプロバイダーの作成

SAML IDプロバイダーとして、BIG-IP を AWSに登録します。

(1) AWSへのログイン後に表示されるマネージメントコンソールのポータル画面から、IAM を選択します。

(2) ナビゲーションペインで「ID プロバイダー」を選択し、「プロバイダーの作成」ボタンを押します。

(3) 以下のように設定します。

(4) 「作成」ボタンを押します。

この後、「ロールの設定が必要」というメッセージが出ますので、ロールの設定に移ります。

SAML を選択

BIG-IPの Virtual Serverに割当てた EIPの DNS名を指定

BIG-IPから Export した Metadata を指定

Page 41: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

41

ロールの設定

作成した IDプロバイダーで認証されたユーザへ、どのような権限を与えるかを指定します。

(1) ナビゲーションペインで「ロール」を選択し、「新しいロールの作成」ボタンを押します。

(2) BIG-IPの SAML IdP設定の際に使った値:「test-saml-ec2readonly」をロール名に指定し、「次のステップ」ボタンを

押します。

(3) 「IDプロバイダアクセス用ロール」をチェックし、「SAMLプロバイダーへのウェブシングルサインオン~」の「選択」ボタ

ンを押します。

(4) 作成した IDプロバイダーが選択されていることを確認し、「次のステップ」ボタンを押します。

test-saml-ec2readonly

作成した IDプロバイダーが選択されていることを確認

Page 42: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

42

(5) そのまま「次のステップ」ボタンを押します。

(6) "ポリシータイプ"の横のフォームに"ec2readonly"と入れてポリシーを検索します。

「AmazonEC2ReadOnlyAccess」にチェックを入れて、「次のステップ」ボタンを押します。

(7) 一通り内容を確認し、「ロールの作成」ボタンを押します。

以上で AWS IAM設定は完了です。

Page 43: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

43

2.5. SAML動作確認

AWSマネージメントコンソールへ SAMLでログオンできることを確認します。

(1) クライアント PCから、BIG-IPの Virtual Serverへアクセスし、「test1001」ユーザでログインします。

(2) 「AWS_management_console」アイコンをクリックします。

(3) 自動的に AWSマネージメントコンソールへログインができ、「test1001」ユーザに「test-saml-ec2readonly」ロールが

割当てられていることを確認します。

test1001

クリック

Page 44: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

44

2.6. アクセス権限のコントロール

ユーザが所属するグループ単位に、アクセス権限を制御したい、というニーズに対する設定です。

本ガイドでは BIG-IPの Local User DBの Group値を利用しますが、Active Directoryや LDAP を認証サーバとして設

定すれば、それらが持つ Group も利用できます。

本ガイドでは、以下のように制御することにします。

ユーザ名 グループ AWSロール名 AWSポリシー

test1001 ec2readonly test-saml-ec2readonly AmazonEC2ReadOnlyAccess

test1002 ec2fullaccess test-saml-ec2fullaccess AmazonEC2FullAccess

「test1001」ユーザは既に作成済みですので、「test1002」ユーザ用の設定を行います。

Local User DBへのユーザ追加

test1002ユーザを Local User DBへ追加します。

(1) 「Access Policy」→「Local User DB」→「Manage Users」で表示された画面で、「Create New User」ボタンを押しま

す。

(2) 「User Information」で、ユーザ名(test1002)とパスワードを設定します。

(3) 「User Groups」で、グループ名:「ec2fullaccess」を指定します。

ユーザ名(test1002)を入力。

パスワード(任意)を入力

作成したインスタンス

①Add Group

②ec2fullaccess

Page 45: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

45

Local IdP Serviceの設定変更

Local SP Servicesで AWS_Portal_SAMLを生成する際に、AWSロール名:「test-saml-ec2readonly」を直接アトリビ

ュートに指定しました。この部分を変数に変更します。

(1) 「Access Policy」→「SAML」→「BIG-IP as IdP」で表示された画面で「AWS_Portal_SAML」を選択し、「Edit」ボタンを

押します。

(2) 「SAML Attributes」で、Value(s)に DNS名が指定されているほうにチェックを入れ、「Edit」ボタンを押します。

(3) Value(s)の「test-saml-ec2readonly」を、「%{session.samlresource.aws.role}」に書き換えます。

arn:aws:iam::999999999999:role/%{session.samlresource.aws.role},arn:aws:iam::999999999999:saml-provider/ec2-52-193-153-104.ap-northeast-1.compute.amazonaws.com

Page 46: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

46

Access Profile(Access Policy)の設定変更

Local User DBの Group名を読み取って、変数:「session.samlresource.aws.role」に、AWSの IAMロール名を代入

するための設定を行います。

(1) 「Access Policy」→「Access Profiles」で表示された、作成済みの Access Profile(IDP_Profile)の Editをクリックしま

す。

(2) 以下の画面で、LocalDB Authの Successfulの後ろにある「+」をクリックします。

(3) 「General Purpose」タブで、「Local Database」にチェックを入れて、「Add Item」ボタンを押します。

~略~

Page 47: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

47

(4) 作成済みの Local DB インスタンスを選択します。

「Add new entry」ボタンを押して、以下のように設定し、「Save」ボタンを押します。

(5) 作成した「Local Database」の後ろの「+」をクリックします。

「Assignment」タブで「Variable Assign」にチェックを入れて、「Add Item」ボタンを押します。

~略~

(6) 「Add new entry」ボタンを押して現れた行で、「Change」をクリックします。

作成した Local User DBのインスタンスを選択

"session.localdb.groups"に変更 " groups"を選択

Page 48: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

48

(7) 以下のように指定して、「Finished」ボタンを押します。

[Custom Variable] session.samlresource.aws.role

[Custom Expression]

※ TCL形式です。TCLの特性上、空白文字が重要ですので、注意してください。

if {[mcget {session.localdb.groups}] equals "ec2readonly"} { return "test-saml-ec2readonly"} elseif

{[mcget {session.localdb.groups}] equals "ec2fullaccess"} { return "test-saml-ec2fullaccess"} else

{ return "NULL"}

(8) 「Save」ボタンを押します。

(9) 「Apply Access Policy」をクリックして、設定を適用します。

追加分

Page 49: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

49

AWS IAMロールの設定追加

ロール名を「test-saml-ec2fullaccess」とした、AmazonEC2FullAccessポリシーを持つロールを追加します。

(1) AWSの IAMに入ります。

(2) ナビゲーションペインで「ロール」を選択し、「新しいロールの作成」ボタンを押します。

(3) BIG-IPの SAML IdP設定の際に使った値:「test-saml-ec2fullaccess」をロール名に指定し、「次のステップ」ボタンを

押します。

(4) 「IDプロバイダアクセス用ロール」をチェックし、「SAMLプロバイダーへのウェブシングルサインオン~」の「選択」ボタ

ンを押します。

(5) 作成した IDプロバイダーが選択されていることを確認し、「次のステップ」ボタンを押します。

test-saml-ec2fullaccess

作成した IDプロバイダーが選択されていることを確認

Page 50: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

50

(6) そのまま「次のステップ」ボタンを押します。

(7) "ポリシータイプ"の横のフォームに"ec2full"と入れてポリシーを検索します。

「AmazonEC2FullAccess」にチェックを入れて、「次のステップ」ボタンを押します。

(8) 一通り内容を確認し、「ロールの作成」ボタンを押します。

動作確認

(1) クライアント PCから、BIG-IPの Virtual Serverへアクセスし、「test1002」ユーザでログインします。

(2) 「AWS_management_console」アイコンをクリックします。

(3) IAMロールが「test-saml-ec2fullaccess」になることを確認してください。

Page 51: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

51

3. BIG-IPを SAML SP とした SAML フェデレーション

BIG-IPを SAML SP として設定して、SAML フェデレーションが行えることを確認します。

SAML SP用の VPC:F5JP-VPC を生成し、その中で BIG-IPを SAML SP として動作させます。

SAML SPのWebアプリケーションとして、WordPressを使うこととします。

F5JP-VPCの CIDR ブロックは 10.0.0.0/16 とし、VPC内の各サブネットを以下の位置づけとして作成します。

BIP-mgt-1a: BIG-IP管理用サブネット

BIP-ext-1a: BIG-IPの外部サービス用(Virtual Server用)サブネット

BIP-int-1a: BIG-IPのロードバランシング対象のサーバ用サブネット

本ガイドでは、AZ1に ap-northeast-1a を選択していますが、以降の設定ステップにおいては、どの Availability Zone

を選んでも問題ありません。

例えば、Availability Zone毎に選択可能なインスタンスタイプが異なる場合がある(選びたいインスタンスタイプがない

場合がある)ようですので、そのような Availability Zone固有の問題が発生した場合には、VPC作成からやり直して、

別の Availability Zone を指定してください。(AZ1 と AZ2が同じ Availability Zoneでも構いません。)

Page 52: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

52

3.1. VPC設定

まず、Amazon Virtual Private Cloud (VPC) を設定します。

VPCウィザード

(1) AWSマネージメントコンソールのポータル画面から、VPCを選択します。

(2) VPCウィザードの開始ボタンを押します。

(3) 本ガイドでは、「1個のパブリックサブネットを持つ VPC」を選択します。

(4) VPC名、アベイラビリティーゾーン、サブネット名、を指定します。

(5) OKを押します。

VPC内で利用する CIDRブロックを指定

任意の名称を入力 (例:F5JP-VPC)

IP CIDRブロック内からサブネットを指定

Availability Zone を選択

任意の名称を入力 (例:BIP-mgt-1a)

Page 53: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

53

サブネットの追加

ネットワーク構成に合わせるためには、あと 2つのサブネットの追加が必要です。

その追加手順を示します。

(1) 「VPCでフィルタリング:」プルダウンで、作成した VPC を選択します。

(2) ナビゲーションペインで「サブネット」を選択します。

VPCウィザードによって生成されたサブネット(BIP-mgt-1a)が 1つだけ存在しています。

「サブネットの作成」ボタンを押します。

(3) BIP-ext-1aサブネットを追加します。

(4) BIP-int-1aサブネットを追加します。

作成した VPCを選択

任意の名称を入力 (例:BIP-ext-1a)

作成した VPCを選択

AZを選択

サブネットを指定

任意の名称を入力 (例:BIP-int-1a)

作成した VPCを選択

AZを選択

サブネットを指定

Page 54: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

54

(5) 以下のように 3つのサブネットが生成されました。

ルートテーブルの設定

VPCウィザードによって、ルートテーブルとして 2つのルートが生成されています。

① VPC内のサブネットとインターネットゲートウェイのルート(0.0.0.0/0→igw-XXXX)を持つルートテーブル

② VPC内のサブネット(10.0.0.0/16)を持つルートテーブル

BIP-mgt-1aおよび BIP-ext-1aはそれぞれインターネットからのアクセスを必要とするので、①に関連付けます。

(1) ナビゲーションペインで「ルートテーブル」を選択します。

(2) 「ルート」タブ内にインターネットゲートウェイのルート (0.0.0.0/0→igw-XXXX) を持つ方のルートテーブルを選択しま

す。

(3) 「サブネットの関連付け」を見ると、VPCウィザードによって BIG-mgt-1aだけが関連付けられています。

「編集」ボタンを押します。

VPC内のルーティング

インターネットゲートウェイへのルート

BIG-IP管理用(BIP-mgt-1a)

Page 55: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

55

(4) BIP-ext-1aの関連付けにチェックを入れて、「保存」ボタンを押します。

(5) これで、BIP-mgt-1aに加え、BIP-ext-1a もインターネットアクセスが可能になりました。

Elastic IPの発行

BIG-IPのマネージメントインタフェース用の IP と、Virtual Server用 IPの 2つのパブリック IPを Elastic IP として用意し

ておきます。

(1) ナビゲーションペインから「Elastic IP」を選択して表示された画面で、「新しいアドレスの割り当て」ボタンを押します。

(2) 「はい、割り当てる」ボタンを押します。

(3) もう一度同じ操作を繰り返し、EIPを 2つ用意します。

(4) 以下は、まだ関連付けが行われていない 2つの EIPが割り当てられた状態です。

関連付けにチェックを入れる

Page 56: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

56

3.2. EC2で BIG-IPインスタンスを起動

Amazon Elastic Compute Cloud (Amazon EC2)で BIG-IP インスタンスを起動するまでの手順を示します。

AWS Marketplaceからインスタンスを生成

(1) AWS マネージメントコンソールのポータル画面から、EC2を選択します。

(2) 表示された画面で「インスタンスの作成」ボタンを押します。

(3) AWS Marketplaceを選択し、検索フォームに"BIG-IP"と入力して Enterキーを押します。

[パターン 1: 従量課金の場合]以下を選んで、「選択」ボタンを押します。

[パターン 2: BYOL(ライセンス持込み)の場合] BYOLの文字が入った BIG-IPを選んで、「選択」ボタンを押します。

※OS Versionが「12.1.0~」のものを選択してください。

(4) インスタンスタイプは、本ガイドでは「m4.2xlarge」を選択しました。

「次の手順:インスタンス詳細の設定」ボタンを押します。

BIG-IP と入力して、「Enter」キーを押す

BYOL

12.1.0~

時間毎の課金の記載があるもの

Page 57: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

57

(5) 作成した VPC:F5JP-VPC を選択し、サブネット:BIP-mgt-1aを選択します。

ネットワークインターフェイスで、eth0に BIG-IPの管理インタフェース用のプライベート IPアドレスを設定します。

「デバイスの追加」ボタンを押すと eth1が現れます。

サブネットは BIP-ext-1a を選択し、BIG-IPの外部インタフェース用のプライベート IPアドレスを設定します。

「次の手順:ストレージの追加」ボタンを押します。

~略~

(6) EBSのボリュームタイプで「汎用 SSD(GP2)」を選択します。

「次の手順:インスタンスのタグ付け」ボタンを押します。

作成した VPCを選択

BIP-mgt-1a を選択

無効化を選択

プライマリ IPにプライベートアドレスを入力

サブネットで「BIP-ext-1a」を選択

プライマリ IPにプライベートアドレスを入力

汎用 SSD(GP2)を選択

Page 58: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

58

(7) Name タグに「BIP-VE001」と入力します。

「次の手順:セキュリティグループの設定」ボタンを押します。

(8) 「新しいセキュリティグループを生成する」が選択された状態になっているはずです。

セキュリティグループ名と説明はそのまま利用してもよいですが、短めのほうが分かりやすいと思います。

SSHに関しては、送信元 IPアドレスを限定しておくことが推奨されています。

「確認と作成」ボタンを押します。

(9) 一通り内容を確認し、「作成」ボタンを押します。

名称を入力

デフォルトで選択されている

任意の名称および説明を入力

(例:BIG-IP SP)

限定することを推奨

Page 59: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

59

(10) 既存の Key Pair を使います。

(11) 「インスタンスの表示」ボタンを押します。

(12) ステータスチェックが「2/2のチェックに合格しました」になれば、BIG-IP インスタンスの生成は完了です。

「既存のキーペア選択」を選択

作成済みの Keyを選択

Page 60: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

60

管理インタフェースへの EIPの割り当て

BIG-IPの管理用インタフェース(BIP-mgt-1aに接続されたインタフェース)に、EIPを割り当てます。

(1) ナビゲーションペインで「Elastic IP」を選択します。

何も割り当てられていない 2つの EIPのうち、1つを右クリックし、「アドレスの関連付け」を選択します。

(2) 「インスタンス」で、生成した BIG-IPを選択します。

「プライベート IPアドレス」で、マネージメント側(BIP-mgt-1a側=10.0.0.201)の IPを選択します。

「関連付ける」ボタンを押します。

(3) BIG-IPの管理用インタフェースに EIPが割り当てられました。

アドレスの関連付けを選択

プルダウンから選択 or

インスタンス IDを入力。

IPを選択

Page 61: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

61

Virtual Server用のセカンダリプライベート IPアドレス設定と EIPの割り当て

BIP-ext-1aのインタフェースに、セカンダリプライベート IPアドレスを追加します。

このアドレスが Virtual Serverのアドレスとなり、このアドレスを EIP と関連付けます。

3.2.3.1. セカンダリプライベート IPアドレスの割り当て

(1) ナビゲーションペインで「ネットワークインターフェイス」を選択します。

表示された画面で、プライマリプライベート IP として 10.0.1.201のアドレスを持つインタフェースを見つけます。

そのインタフェースを右クリックし、「プライベート IPアドレスの管理」を選択します。

(2) 「新しい IPの割り当て」をクリックして、Virtual Server用の IPアドレスを入力します。

「更新する」ボタンを押します。

もう一度同じ画面が現れるので、今度は「キャンセル」をクリックします。

(3) 以下のようにセカンダリプライベート IPアドレスが割り当てられます。

10.0.1.201

プライベート IPの管理を選択

Virtual Server用 IPを設定

Page 62: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

62

3.2.3.2. セカンダリプライベート IPへ EIPを割り当て

この Virtual Server用に割り当てたセカンダリプライベート IPアドレスに EIPを割り当てます。

(1) ナビゲーションペインで「Elastic IP」を選択します。

何も関連付けられていない EIPを右クリックして、「アドレスの関連付け」をクリックします。

(2) 「インスタンス」で、生成した BIG-IPを選択します。

「プライベート IPアドレス」で、Virtual Server用のセカンダリプライベート IPアドレス(10.0.1.101)を選択します。

「関連付ける」ボタンを押します。

(3) BIG-IPの Virtual Server用プライベート IPに EIPが割り当てられました。

これで EC2での BIG-IP インスタンス設定は完了です。

[参考] EIPのメモ

EIPのアドレスおよび FQDNは BIG-IPの設定でも利用するので、メモしておくと設定がスムーズです。

例)

インスタンス名 Interface Elastic IP FQDN

BIP-VE001 管理用 52.198.119.5 ec2-52-198-119-5.ap-northeast-1.compute.amazonaws.com

Virtual Server 用 52.198.125.126 ec2-52-198-125-126.ap-northeast-1.compute.amazonaws.com

アドレスの関連付けを選択

プルダウンから選択 or

インスタンス IDを入力。

IPを選択

Page 63: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

63

3.3. EC2でWordPressインスタンスを起動

BIG-IPのロードバランシング対象となるWordPress インスタンスを 2つ起動します。

AWS Marketplaceからインスタンスを生成

(1) ナビゲーションペインで「インスタンス」を選択します。

「インスタンスの作成」ボタンを押します。

(2) AWS Marketplaceをクリックし、検索フォームに"wordpress"と入力し Enterキーを押します。

(3) 本ガイドでは以下のWordPress を選択しました。

(4) インスタンスタイプは、本ガイドでは「t2.micro」を選択しました。

wordpress と入力して、「Enter」キーを押す

Page 64: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

64

(5) インスタンス数は 2 とします。ここではひとまず、Auto Scalingは設定しません。

作成した VPC:F5JP-VPC とプライベートサブネット:BIG-int-1aを選択します。

ネットワークインターフェイスはデフォルトのままとします。

~略~

(6) ストレージはデフォルトのままとします。

(7) Name タグには「wordpress」と入力しておきます。

作成した VPCを選択

BIP-int-1a を選択

無効 (デフォルト)

デフォルトのまま

インスタンス数:2

名称を入力

Page 65: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

65

(8) プライベートサブネットのWordPressへの SSHアクセスが必要な場合は、BIG-IP を踏み台としてアクセスすることに

します。よって、SSHでアクセスできる送信元を、VPC内に限定します。

(9) 一通り内容を確認し、「作成」ボタンを押します。

(10) 作成済みのキーペアを選択し、「インスタンスの作成」ボタンを押します。

デフォルトで選択されている

任意の名称および説明を入力

(例:WordPress)

VPC内に限定

「既存のキーペアの選択」を選択

作成済みキーを選択

チェックを入れる

Page 66: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

66

(11) 「インスタンスの表示」ボタンを押します。

(12) wordpress インスタンスが 2つ生成されます。

(13) WordPressの管理画面にログインするためのパスワードを、起動ログで確認しておきます。

(14) 以下の値をメモしておいてください。(後のWordpressへのユーザ設定時に必要になります。)

Page 67: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

67

WordPressへの SSHログイン (PuTTY と Pageantの利用)

WordPressには Public IP を割り当てていないので、インターネットから直接ログインすることはできません。

よって、ここでは BIG-IPを踏み台としてWordPressへ SSHログインする方法を示します。

BIG-IP には OpenSSHがデフォルトでインストールされているので、SSH-agentが利用できます。

よって、PuTTY と Pageant を使うことで、キーファイルを指定することなく、BIG-IPを踏み台としたWordPressへの

SSHログインができます。

3.3.2.1. Pageantの起動

(1) Pageant を起動して、SSH ログイン用のキーファイルを指定しておきます(参照:Pageantの利用)。

(一度起動しておけば、常駐プログラムとなり、タスクバーに表示されます。)

3.3.2.2. PuTTYで BIG-IPを踏み台にしてWordPressへ SSHログイン

(1) PuTTYを起動します。

(2) Pageantが持つキーを BIG-IPを経由してWordPressまでフォワーディングするための設定です。

Category: Connection→SSH→Authで、Authentication parametersの「Allow agent forwarding」にチェックを入れま

す。

(3) Category: Sessionで、"Load, save or delete a stored session"の下の"Default Settings"を選択して、「Save」ボタ

Allow agent forwardingにチェック

Page 68: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

68

ンを押します。これで設定が保存されます。

(4) Host Name (or IP address)に、BIG-IPの管理インタフェースに割当てた EIP を指定して「Open」ボタンを押します。

(5) "login as"プロンプトに、"admin"と入力して Enterすることで、BIG-IPにログインできます。

(6) "run util bash"コマンドを実行し、bashに入ります。

admin@(ip-10-0-0-201)(cfg-sync In Sync)(Standby)(/Common)(tmos)# run util bash

[admin@ip-10-0-0-201:Standby:In Sync] ~ #

(7) "ssh -A ユーザ名@WordPressの IPアドレス"で、キーを指定することなくWordPressへログインできます。

(WordPressに自動的に割当てられたプライベート IPアドレスは、AWSマネージメントコンソールで確認して下さい。)

[admin@ip-10-0-0-201:Standby:In Sync] ~ # ssh -A [email protected]

Welcome to Ubuntu 14.04.5 LTS (GNU/Linux 3.13.0-95-generic x86_64)

___ _ _ _

| _ |_) |_ _ _ __ _ _ __ (_)

| _ \ | _| ' \/ _` | ' \| |

|___/_|\__|_|_|\__,_|_|_|_|_|

*** Welcome to the Bitnami WordPress 4.6-1 ***

~略~

BIG-IPの管理インタフェースの EIP

Page 69: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

69

WordPressの SSLオフロード用の設定変更

本ガイドの BIG-IPでは、Virtual Serverで HTTPS(TCP/443)を終端し、Pool Members(WordPress)には

HTTP(TCP/80)で通信する、SSLオフロードの形態にしています。

この場合、WordPressは HTTP(TCP/80)で HTTP リクエストを受け取るので、クライアントに対して、HTMLボディ内の

Link を"http://~"として HTTPレスポンスを返します。

本ガイドでは HTTPS(TCP/443)の Virtual Serverだけしか設定していないので、"http://~"宛の HTTP リクエストはレス

ポンスを得られない=エラーになります。

よって、WordPressの HTML内の Linkが"https://~"となるよう、WordPressの設定変更を行います。

(1) WordPressへ SSHで接続します。

(2) WordPressの設定ファイル:wp-confg.phpへ、以下赤文字 3行を、"<?php"の直下に追加します。

bitnami@wordpress001:~$ sudo vi /opt/bitnami/apps/wordpress/htdocs/wp-config.php

<?php

define('FORCE_SSL_LOGIN', true);

define('FORCE_SSL_ADMIN', true);

$_SERVER['HTTPS'] = 'on';

Page 70: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

70

3.4. 既設 BIG-IPの SAML IdP設定(1)

先に、既設 BIG-IP(BIP-IDP)の設定を行います。

新設される SAML SP(BIP-VE001)用の SAML IdP設定を行います。

(1) 「Access Policy」→「SAML」→「BIG-IP as IdP」で表示された画面で、「Create」ボタンを押します。

(2) 「General Settings」で、以下のように設定します。

[参考] IdP Entity ID = https://ec2-52-193-153-104.ap-northeast-1.compute.amazonaws.com

任意の名称を入力 (例:idp_for_wordpress)

自身の Virtual Serverの EIPに

紐付いた DNS名を指定

Page 71: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

71

(3) 「Assertion Settings」で、以下のように設定します。

(4) 「Security Settings」で、作成済みの証明書とキーを選択します。

(5) 設定した IDPの Metadata をエクスポートします。

Idp_for_wordpressが選択された状態で、「Export Metadata」ボタンを押します。

Unspecified を選択

%{session.logon.last.username}を選択

作成済みのキーを選択

作成済みの証明書を選択

Page 72: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

72

(6) 「Download」ボタンを押して、ファイルをローカル PCへダウンロードしておきます。

Page 73: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

73

3.5. 新設 BIG-IPの SAML SP設定

このセクションでは、新設した BIG-IPに対して、大きく以下 2つを実施します。

① サーバロードバランシング設定

② SAML SP としての設定

CLIでの初期設定

BIG-IPへ SSHでログインして、CLIでの初期設定を行います。

手順は、CLIでの初期設定を参照してください。

WebUIでの初期設定

WebUIから初期設定を行っていきます。

(1) 管理インタフェースに割り当てた EIPに、Webブラウザで HTTPSアクセスします(例 https://52.198.119.5)

Usernameは"admin"で、Passwordは先ほど CLIで設定した文字列でログインします。

admin

CLIで設定したパスワード

Page 74: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

74

(2) 「System」→「Platform」を選択し表示された画面で、以下のように設定変更します。

(3) 「System」→「Resource Provisioning」を選択して表示された画面で、「Access Policy (APM)」にチェックを入れま

す。

~略~

Time Zone を選択

Page 75: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

75

(4) 確認が出ます。OKボタンを押します。

(5) 「Continue」ボタンが出るまで、約 1分程度待ちます。

「Continue」ボタンを押します。

ネットワーク設定

3.5.3.1. VLAN設定

まず、インタフェースに VLANを割り当てます。

「Network」→「VLANs」で表示される画面右上の「Create」ボタンを押して現れた画面で、以下のように設定します。

任意の名称を入力 (例:external)

Interface: 1.1 Tagging: Untagged

を選んで「Add」ボタンを押す

Page 76: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

76

3.5.3.2. Self IP設定

作成した VLANに、IPアドレスを割り当てます。

「Network」→「Self IPs」で表示される画面右上の「Create」ボタンを押して現れた画面で、以下のように設定します。

3.5.3.3. Routes設定

インターネットへのデフォルトゲートウェイを設定します。

「Network」→「Routes」で表示される画面右上の「Create」ボタンを押して現れた画面で、以下のように設定します。

任意の名称を入力 (例:external-ip)

ネットワーク図中の BIP-VE001の external-ipアドレスと

Netmask を入力

作成済み VLANを選択

任意の名称を入力 (例:default-gw)

宛先および Netmaskに 0.0.0.0 を入力

AWSのゲートウェイのアドレスを入力

Page 77: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

77

サーバロードバランシングの設定

3.5.4.1. Pool設定

ロードバランシング対象の 2つのWordPress を Pool として設定します。

※Pool設定前に、WordPress×2台のプライベート IPアドレスを確認しておいてください。

[確認方法] 「EC2」→「インスタンス」で表示されたWordPress インスタンスを選択→「説明」タブ内の"プライベート IP"

(1) 「Local Traffic」→「Pool」で表示された画面右上の「Create」ボタンを押して現れた画面で、以下のように設定します。

(2) 確認のみです。

作成された Pool名をクリックして、「Members」タブをクリックすると、登録された Pool Membersが確認できます。

Statusがグリーンであれば、ヘルスモニターは成功しています。

任意の名称を入力 (例:wp-pool)

ヘルスモニターを選択。

Address と Portを指定して、

「Add」ボタンを押す。

2つのサーバ分実施する。

Page 78: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

78

3.5.4.2. Virtual Serverの設定

インターネットからのトラフィックを受け付ける Virtual Serverの設定です。

「Local Traffic」→「Virtual Servers」で表示された画面右上の「Create」ボタンを押して現れた画面で、以下のように設定

します。

~略~

任意の名称を入力 (例:WP-vs001)

Virtual Serverの IPアドレス(AWSのセカンダリプライベート IP)と

TCPポート番号(443)を設定

http を選択

Auto Map を選択

作成した Pool を選択

clientssl を選択

Page 79: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

79

サーバロードバランシグの動作確認

Virtual Server用のプライベート IPに割り当てた Elastic IPにWebブラウザでアクセスし、WordPress画面が表示され

ることを確認してください。

例) https://52.198.125.126

Page 80: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

80

SAML SPの設定

BIG-IPが SAML SP として動作するための設定を行います。

3.5.6.1. External IdP Connector設定

SAML IdP(BIP-IDP)からダウンロードした Metadataをインポートします。

(1) 「Access Policy」→「SAML」→「BIG-IP as SP」で表示された画面で、「External IdP Connectors」タブをクリックしま

す。 「Create」横の▼をクリックし、「From Metadata」を選択します。

(2) 現れた画面で、以下のように設定します。

BIP-IDPからダウンロードした Metadata を指定

任意の名称を指定 (例:idp_for_wordpress)

Page 81: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

81

3.5.6.2. Local SP Services設定

SAML SP として必要な設定を行っていきます。

(1) 「Local SP Services」タブをクリックして表示された画面で、「Create」ボタンを押します。

(2) 「General Settings」で、以下のように設定します。

[参考] IdP Entity ID =https://ec2-52-198-125-126.ap-northeast-1.compute.amazonaws.com

任意の名称を入力 (例:SP_for_wordpress)

自身の Virtual Serverの EIPに

紐付いた DNS名を指定

Page 82: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

82

(3) 「Security Settings」を確認します。デフォルトのまま「OK」ボタンを押します。

(4) External IdP Connectorsで作成した idp_for_wordpresss とバインドします。

SP_for_wordpressが選択された状態で、「Bind/Unbind IdP Connectors」をクリックします。

(5) 「Add New Row」ボタンを押して、作成済みの SAML IdP Connector を選択します。

「Update」ボタンを押します。

①Add New Row

②選択 ③

Page 83: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

83

(6) 以下の状態になります。「OK」ボタンを押します。

(7) 設定した SPの Metadataをエクスポートします。

SP_for_wordpressが選択された状態で、「Export Metadata」ボタンを押します。

(8) 「Download」ボタンを押して、ファイルをローカル PCへダウンロードしておきます。

Page 84: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

84

Access Profileの設定

Access Profile を生成します。

SAML SP として振る舞いを、この Profileで指定しますが、SP側で必要となる設定は、SAML Authのみです。

(1) 「Access Policy」→「Access Profiles」で表示された画面右上の「Create」ボタンを押して表示された画面で、以下の

ように設定します。

~略~

任意の名称を入力 (例:SP_profile)

言語を選択

All を選択

Page 85: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

85

(2) 作成した Access Profileの Edit をクリックします。

(3) 新しくWebページが立ち上がり、以下の画面が現れます。「+」をクリックします。

(4) 「Authentication」タブで、「SAML Auth」にチェックを入れて、「Add Item」ボタンを押します。

~略~

(5) 作成した Local SP Service を選択して、「Save」ボタンを押します。

作成した Local SP Service を選択

Page 86: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

86

(6) 最後の「Deny」をクリックします。

「Allow」にチェックを入れて、「Save」ボタンを押します。

(7) 以下のようなフローチャートが出来上がります。

「Apply Access Policy」をクリックして設定を適用します。

Page 87: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

87

Virtual Serverの設定変更

Virtual Serverが SAML処理を行うためには、作成した Access Profile を Virtual Serverへ割り当てる必要がありま

す。

「Local Traffic」→「Virtual Servers」で現れた作成済み Virtual Server をクリックして、以下の設定変更を行います。

~略~

~略~

以上で SAML SP としての設定は完了です。

作成済み Virtual Server名

作成した Access Profile を選択

Page 88: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

88

3.6. 既設 BIG-IPの SAML IdP設定(2)

再び、IdP側(BIG-IDP)の設定に移ります。

External SP Connector設定

SAML SPの Metadataを SMAL IdPへインポートします。

(1) 「Access Policy」→「SAML」→「BIG-IP as IdP」で表示された画面で、「External SP Connectors」タブをクリックしま

す。 「Create」横の▼をクリックし、「From Metadata」を選択します。

(2) 現れた画面で、以下のように設定します。

BIG-VE001(SAML SP)からダウンロードした Metadata を指定

任意の名称を指定 (例:SP_for_wordpress)

Page 89: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

89

Local SP Services設定

Extern SP Connectorsで作成した SP_for_wordpress とバインドします。

(1) 「Local IdP Services」タブを選択し、idp_for_wordpressが選択された状態で、「Bind/Unbind SP Connectors」ボタ

ンを押します。

(2) 「/Common/SP_for_wordpress」にチェックを入れて、「OK」ボタンを押します。

Page 90: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

90

SAML Resource設定

BIP-VE001 を、SAML SPのリソースとして設定します。

「Access Policy」→「SAML」→「SAML Resources」で表示された画面右上の「Create」ボタンを押して現れた画面で、以

下のように設定します。

任意の名称を入力 (例:wordpress)

設定した Local SP Service を選択

Page 91: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

91

Access Profileの設定

Access Profileの Advanced Resource Assignに、作成した SAML Resource を追加します。

(1) 作成済みの Access Profile(IDP_Profile)の Editをクリックします。

(2) 「Advanced Resource Assign」をクリックします。

(3) 「Add/Delete」をクリックします。

Page 92: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

92

(4) 作成した SAML Resource(/Common/wordpress)を選び、「Update」ボタンを押します。

(5) SAML Resourceが 2つになったことを確認し、「Save」ボタンを押します。

(6) 「Apply Access Policy」をクリックして、設定を適用します。

以上で IDPの設定は完了です。

Page 93: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

93

3.7. SAML動作確認

BIP-VE001(SAML SP)へ、SAMLでログオンできることを確認します。

IdP Initiated

最初に SAML IdPへアクセスして、SPへシングルサインオンできるかを確認します。

(1) クライアント PCから、SAML IdP(BIP-IDP)の Virtual Serverへアクセスし、「test1001」ユーザでログインします。

(2) 「wordpress」アイコンをクリックします。

test1001

クリック

Page 94: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

94

(3) WordPressにアクセスできます。

SP Initiated

今度は、先に SAML SP側にアクセスしても、SAML認証が成功することを確認します。

(1) 一旦、ブラウザを全て閉じます(前に実施した Idp Initiatedのセッション情報を消すため)。

(2) BIP-VE001(SAMP SP)の Virtual Serverへアクセスします。

SAML SPの VSの EIPの DNS名

Page 95: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

95

(3) IdPへリダイレクトされます。「test1001」ユーザでログインします。

(4) WordPressにアクセスできます。

test1001

Page 96: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

96

3.8. WordPressへのシングルサイオン

WordPressへのログインも自動で行われるように設定します。

具体的には、以下を実施します。

① WordPressに test1001および test1002ユーザを登録しておく。

② SAMLアサーション内に存在するユーザ名(test1001/test1002)を使って、WordPressにシングルサインオンできる

ように BIG-IPを設定。

WordPressへのユーザ登録

(1) この環境では 2台のWordPressがロードバランシグ対象として動作しています。

両方のサーバに同じ設定を行うのは少し大変ですので、どちらか 1台を停止します。

(方法: 「EC2」→「インスタンス」で、どちらかのWordPress を選択→右クリック→インスタンスの状態→停止)

(2) SAML経由で、WordPressにアクセスします。

「Manage」と書かれた画面右下のアイコンをクリックします。

(3) Wordpressの起動ログからメモしておいた Passwordを使います。

Passwordは、「EC2→インスタンス→wordpress を右クリック→インスタンスの設定→システムログの取得」をスクロー

ルして、確認できます。 以下はその出力例です。

(4) WordPress画面上の「Login」をクリックします。

クリック

Page 97: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

97

(5) 「ユーザ名:user,パスワード:システムログから取得したもの」でログインします。

(6) 左側ペインの「Users」→「Add New」をクリックします。

(7) 「test1001」ユーザを登録します。

本ガイドでは簡易的に、パスワードも「test1001」にしておきます。

(8) 「test1002」ユーザも同様の方法で登録しておきます。以下の状態になります。

test1001

(なんらか入力が必要)

test1001

チェックを入れる

チェックを外す

Page 98: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

98

BIG-IPのシングルサインオン設定

3.8.2.1. SSO Configuration設定

WordPressは Form認証(POST)が使われているので、そのための設定を行います。

「Access Policy」→「SSO Configurations」→「Forms」で表示された画面右上の「Create」ボタンを押して現れた画面で、

以下のように設定します。

① シングルサインオン開始のトリガーとなるWordPressの URIを指定します。

WordPressへのアクセスと同時に発動させたいので、「/」としています。

② ユーザ名/パスワードを POSTする URIを指定します。WordPressでは「wp-login.php」が該当します。

③ POST時にユーザ名が格納されている変数です。WordPressでは「log」が該当します。

④ POST時にパスワードが格納されている変数です。WordPressでは「pwd」が該当します。

任意の名称を入力 (例:SSO_for_wordpress)

「None」を選択

① 「/」 を入力

② 「/wp-login.php」を入力

③ 「log」を入力

④ 「pwd」を入力

Page 99: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

99

Access Profileの設定

作成したWordPress用の SSO Configurationを Access Profileに適用します。

(1) 「Access Policy」→「Access Profiles」で表示された、作成済みの Access Profile(SP_Profile)をクリックします。

(2) 「SSO/Auth Domains」タブをクリックします。

「SSO Configuration」で、作成した SSO Configuration を選択します。

(3) 「Access Policy」タブをクリックし、「Edit Access Policy~」をクリックします。

(4) 「SAML Auth」の Successfulの後ろにある「+」をクリックします。

作成したWordPress用 SSO Configuration を選択

Page 100: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

100

(5) 「Assignment」タブで、「SSO Credential Mapping」にチェックを入れて、「Add Item」ボタンを押します。

~略~

(6) 以下のように設定し、「Save」ボタンを押します。

※「mcget {session.saml.last.nameIDValue}」については、「[参考]APMのセッション変数について」で解説します。

(7) 「Apply Access Policy」をクリックして設定を適用します。

Custom を選択

mcget {session.saml.last.nameIDValue}

同上

Page 101: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

101

シングルサインオン動作確認

test1001,test1002それぞれでログインを実施し、WordPressへのシングルサインオンが実現できていることを確認しま

す。

(1) クライアント PCから、SAML IdP(BIP-IDP)の Virtual Serverへアクセスし、「test1001」ユーザでログインします。

(2) 「wordpress」アイコンをクリックします。

(3) test1001ユーザがWordPressへログインした状態の画面が出力されます。

(4) test1002ユーザでも同様の結果になることを確認します。

test1001

クリック

test1001

test1002

Page 102: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

102

[参考]APMのセッション変数について

BIG-IP APMは、ユーザがアクセスしたタイミングで、ユーザから得られる情報を「セッション変数」という形で格納してい

ます。そのセッション変数を使うことで、ユーザ毎に様々なアクションを指定できるようになっています。

例えば、上記の SSO Credential Mappingで利用した「session.saml.last.nameIDValue」という変数は以下の方法で確

認できます。

(1) 「Access Policy」→「Manage Sessions」で表示された画面には、APMを使ってログイン中のユーザセッションが表示

されます。そのうちの一つの Variablesの下にある「View」をクリックします。

(2) BIG-IP APMが取得できているセッション変数とその値の一覧が表示されます。

その中に、session.saml.last.nameIDValue とその値を確認することができます。

~略~

mcget {session.saml.last.nameIDValue} の「mcget { }」というコマンドは、このセッション変数一覧から値を取得する、

というコマンドです。

ログイン中の

ユーザセッション

session.saml.last.nameIDValue

Page 103: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

103

4. 終わりに

AWS上での基本的な BIG-IPセットアップに関しては以上で終了となります。

BIG-IPには、送信元 IPや Cookie を用いたセッション維持、外部 Syslogサーバへの詳細な通信ログ送信、iRule と呼

ばれるスクリプティング機能を利用したトラフィック処理のカスタマイズなど、本セットアップガイドにてカバーしきれない豊富

な機能が実装されています。使い方次第で単純な負荷分散から高度なトラフィックコントロールまで、様々にご利用頂けま

す。

詳細は各種WEBサイトにてご確認いただくか、購入元にお問い合わせください。

<F5ネットワークスWEBサイトの紹介>

F5ネットワークスジャパン総合サイト

https://f5.com/jp/homepage

F5 Tech Depot:エンジニア向け製品関連情報サイト

http://www.f5networks.co.jp/depot/

AskF5:ナレッジベース総合サイト(英語) http://support.f5.com/kb/en-us.html

DevCentral:F5ユーザコミュニティサイト(英語:アカウント登録が必要です) https://devcentral.f5.com/ F5ネットワークスジャパン合同会社

〒107-0052東京都港区赤坂 4-15-1 赤坂ガーデンシティ 19階

本資料は F5ネットワークスジャパンのエンジニアが特定のソフトウェアバージョンの動作仕様に基づいて作成した構築・設計を補助するための資料であり、メーカー公式資料とは異なります。資料の記載内

容に誤りがあった際には指摘に基づいて修正を行いますが、内容についての責任は一切負いません。また、修正、変更、改訂は予告無く行われます。

Page 104: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

104

5. [Appendix] SAMLのセキュリティ設定の強化

ここでは、SAMLのセキュリティをより強固にする設定について、記載します。

本ガイドの本編では、SAML IdPが自身の秘密鍵でアサーションに署名し、SP側でそれを検証できれば、SAML認証は

OK と判断する、という設定だけを行っています。

本編では、以下の緑囲み部分だけが設定されています。

Page 105: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

105

この状態では、SPは IdPからのアサーション署名を検証することで、IdPを信頼することはできます。

しかし、IdPからすると、ただ単に IdP自身が署名したアサーションを一方的に SPに送っただけなので、確実にその SP

だけに届けることができたのか、第三者へ送ってしまっていないかという判断ができません。また、盗聴も気になるところで

す。

これを回避するために SAMLでは、公開鍵とブロック暗号を使ったアサーションの暗号化ができるようになっています。

次のセクションで、その設定ポイントを記載します。

5.1. 証明書とキーの作成

本編では IdPの証明書とキーは生成しました。それはそのまま利用します。

しかし、SAML SP用は証明書とキーは生成していませんので、それらを生成します。

(1) 「System」→「File Management」→「SSL Certificate List」で表示された画面で、「Create」ボタンを押します。

(2) 表示された画面で、以下のように設定します。

(どのような値でも SAML動作に影響はありません。)

任意の名称を入力 (例:sp_for_wordpress)

任意の Common Name を指定 (例:sp.saml.lab)

部署、組織、所在地など(任意)を入力

Page 106: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

106

5.2. アサーションの AES暗号化

IdPがアサーションを暗号化して送り出す設定について記載します。

AESはブロック暗号=共通鍵暗号なので、IdP と SPの間で鍵を共有しなければなりません。

よって、IdPは、SPからインポートしたメタデータ内の証明書の公開鍵を使って、AES鍵を暗号化して SPに送ります。

SPは秘密鍵で AES鍵を取り出すことで、IdP と SPの両者で AES暗号を共有できます。

以下の紫囲み部分の①と②の設定をすることで、アサーションの AES暗号化を実現できます。

Page 107: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

107

上記の設定状態にするためには、以下のステップが必要です。

(1) SPで①の設定を行います。

(2) SPの Metadata をダウンロードして、コンソール PCへコピーします。

(3) IdPの「External SP Connectors」へ、その SPの Metadataをインポートして、任意の名称を付けて保存します。

本ガイドでは名称を「SP_for_wordpress2」とします。

(4) 保存したその「External SP Connectors」を開いて、「Security Settings」で②の設定を行います。

(5) 「Local IdP Services」で、「SP_for_wordpress2」と Bind します。

AES暗号化のための設定は以上です。

WordPress用 Virtual Serverへのアクセスを実施してみてください。

IdP Initiated/SP Initiated どちらでも構いません。

Webブラウザの SAML解析用プラグイン (例:Chromeの SAML message Decoder, Firefoxの SAML Tracer等)

を使って、AES暗号化前の SAMLレスポンスとどのような違いがあるかを確認してみてください。

AES 暗号化前は、"<saml2 :Assertion ~"だったタグが、" <saml2 :EncryptedAssertion ~"に変わり、

Assertion として読み取れていた情報が AES 暗号化により読み取れなくなっていることが分かると思います。

Page 108: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

108

5.3. SAML リクエストへの署名

SP Initiated (SPへアクセスしてから IdPへリダイレクトされて認証する形) の場合には、SPから IdPに対して、SAML

リクエストが発行されます。SAML リクエストは、デフォルトでは発行元を保障する情報を持っていないので、成りすまし攻撃

ができてしまう可能性があります。

そこで、SAML リクエストの発行元を特定するために、SPによる署名/IDPによる検証ができるようになっています。

以下の赤囲み部分の①と②の設定をすることで、SAML リクエストの署名を実現できます。

Page 109: Amazon Web Services BIG-IP セットアップガイド · 6 2.1. VPC 設定 まず、Amazon Virtual Private Cloud (VPC) を設定します。 VPC ウィザード (1) AWS へのログイン後に表示されるマネージメントコンソールのポータル画面から、VPC

109

上記の設定状態にするためには、以下のステップが必要です。

(1) SPで①の設定を行います。

(2) SPの Metadata をダウンロードして、コンソール PCへコピーします。

(3) IdPの「External SP Connectors」へ、その SPの Metadataをインポートして、任意の名称を付けて保存します。

本ガイドでは名称を「SP_for_wordpress3」とします。

(4) 保存したその「External SP Connectors」を開いて、「Security Settings」で②の設定を行います。

(5) 「Local IdP Services」で、「SP_for_wordpress3」と Bind します。

SAML リクエストへの署名およびその検証の設定は以上です。

SP Initiated=WordPressの Virtual Serverへ先にアクセスしてみてください。

Webブラウザの SAML解析用プラグイン (例:Chromeの SAML message Decoder, Firefoxの SAML Tracer等)

を使って、署名追加前の SAML リクエストとどのような違いがあるかを確認してみてください。

SAML リクエストに、SPによる署名が追加されていることが分かると思います。