Amazon Kinesis へのアクセス ログのストリーミング

Foxpass は、LDAP および RADIUS ログをリアルタイムでアマゾン ウェブ サービス アカウントに送信できます。Foxpass は、さまざまなデータ処理エンジンに接続できるAmazon Kinesisデータ ストリーミング サービスにログを送信します。たとえば、次のことができます。

  • ログ ストリームをリアルタイムで取り込むようにログ管理ソリューションを構成します。Kinesis プラグインは、SumoLogic (手順)、Logstash (手順)、Splunk (手順) などで利用できます。
  • 今後の分析と取得のために、Amazon Kinesis Firehoseを使用してログを独自の Amazon S3 バケットに保存します。
  • AWS Lambda (手順) またはAmazon Kinesis APIを使用して、カスタム ロジックでログをリアルタイムで検査します。

この機能を使用するには、あなたまたはあなたの会社が Amazon Web Services アカウントを持っていて、Foxpass の高度なログ アドオンを購入している必要があります。この機能の使用によって発生するすべての AWS データ処理およびストレージ料金は、お客様が負担するものとします。

 
Amazon Kinesis レコード形式

Foxpass は、各認証リクエストを個別のレコードとして Kinesis ストリームに記録します。各レコードは、末尾に改行 ( ) を持つ JSON データ構造にフォーマットされます。JSON データ構造は、ログに記録されるサービスによって異なりますが、常に共通のフィールドが含まれています。\n

 
共通フィールド
  • service:LDAP 認証要求の場合は常に、RADIUS 承認要求の場合は常に"ldap""radius"
  • method:試行されたアクション。現在、LDAP についてログに記録された唯一の方法であり、RADIUS についてログに記録された唯一の方法です。"bind""authorize"
  • message:ログに記録されるイベントを説明する文字列
  • timestamp:アクションが試行された時刻。形式は次のようになります (例:)"YYYY-MM-DD HH:MM:SS.sss""2018-01-15 14:29:38.175"
  • success:リクエストが成功したかどうかを示すブール値
 
LDAP ログのフィールド
  • bind_dn:LDAP バインド試行で使用される識別名
  • user_type:通常のユーザーの場合、LDAP バインダーの場合、またはユーザーが見つからなかった場合"user""binder"null
  • username:認証を試みたユーザーのユーザー名、またはユーザーが見つからなかった場合null
 
RADIUS ログのフィールド
  • ipAddress:RADIUS 承認要求の送信元である IP アドレス
  • username:認証を試みたユーザーのユーザー名、またはユーザーが見つからなかった場合null
 
AWS で Kinesis ストリームを自動的に設定する

Foxpass は、この機能用の AWS リソースの作成を自動化する 2 つの Amazon CloudFormation テンプレートを提供します。これらのテンプレートは、単一のユニットとして管理される AWS リソースのコレクションである新しい CloudFormation スタックを作成します。

  • テンプレート 1: ログを Kinesis ストリームに発行する:このテンプレートを使用すると、Foxpass はログ エントリを AWS アカウントの Amazon Kinesis ストリームに送信します。この時点で、他のソフトウェアを Kinesis ストリームに接続できます。この設定により、Foxpass が Kinesis ストリームにアクセスできるようにする IAM ロールも作成されます。この設定は、Foxpass ログを SumoLogic (instructions)、Logstash (instructions)、Splunk (instructions) などの Kinesis 対応ユーティリティにプッシュする場合に適しています。これは、AWS Lambda (手順) またはAmazon Kinesis APIを使用して、カスタム コンシューマー コードでも使用できます。

  • テンプレート 2: Amazon S3 にログを保存する:このテンプレートを使用すると、Foxpass はログ エントリを AWS アカウントの Amazon Kinesis ストリームに送信します。この設定は、Foxpass ログの長期アーカイブ、または Amazon S3 から読み取ることができる別のシステムにログをロードする場合に適しています。この構成では、新しいログ ファイルが約 1 分に 1 回 S3 に書き込まれます。ログ ファイルには 1 行に 1 つのレコードが含まれ、各レコードは JSON として保存されます。ログは永続的に保持されますが、ライフサイクル ポリシーを追加して、より制限された保持ポリシーを適用できます。

📘 S3 バケットの操作に関するヒント

S3 バケット名は、S3 の既存のすべてのバケット名で一意であるため、既存のバケットとの競合を避けるために、作成時に一意の名前を指定する必要があります。

Foxpass ログを既存の S3 バケットに保存する場合は、新しいバケットを作成するのではなく、そのバケットを使用するように CloudFormation テンプレートを変更する必要があります。

 
CloudFormation テンプレートを AWS アカウントに適用する
  1. AWS コンソールにログインし、CloudFormation Management Consoleに移動します。
  2. [Create Stack] ボタンをクリックして、新しい CloudFormation スタックの作成を開始します。
  3. 次のページで、[Amazon S3 テンプレートの URL を指定する] を選択し、正しい URL を指定します。
  4. 次のページで、スタックの名前と、作成する Amazon Kinesis ストリームまたは S3 バケットの名前を指定するよう求められます。
  5. 次のページには、いくつかの高度な CloudFormation オプションが表示されます。これらのオプションを変更する必要はありません。
  6. 次の手順では、選択したオプションの概要が表示されます。Foxpass で使用される AWS リソースの作成を開始するには、ページの下部にある [作成] をクリックします。
  7. これにより、アカウント内の CloudFormation スタックのリストが表示されます。開始したばかりのスタックは、その状態が として表示されます。status に変わるまで待ちます。CREATE_IN_PROGRESSCREATE_COMPLETE
  8. スタックの準備ができたら、リストで新しく作成されたスタックをクリックし、[出力] タブをクリックします。Foxpass を構成するために必要になるため、これら 4 つの値をメモしておいてください。「Kinesis にログを送信するための Foxpass の設定」に進んでください。
 
AWS で Kinesis ストリームを手動で設定する

Foxpass が使用する AWS リソースをより細かく制御したい場合は、Foxpass が使用する Amazon Kinesis ストリームと IAM ロールを手動で設定できます。実行時に、Foxpass はこの IAM ロールを使用して Kinesis ストリームに接続します。

 
Kinesis ストリームの設定

Foxpass ログ専用の Amazon Kinesis ストリームを作成するか、Foxpass でアカウント内の既存の Amazon Kinesis ストリームに書き込むことができます。ストリームに特別な構成は必要ありません。ストリームに複数のシャードがある場合、Foxpass ログ レコードは、ユーザーや操作に関係なく、すべてのシャードに均等に分散されます (つまり、各レコードにはランダムなパーティション キーがあります)。

 
IAM ロールの設定

また、Foxpass が Kinesis ストリームに書き込むことを許可する IAM ロールを作成する必要があります。このロールは、AWS アカウント ID によって引き受けられる必要があり、外部 ID を必要とする必要があります (ただし、多要素認証は必要ありません)。使用する外部 ID は、コンソールに Kinesis の詳細を入力するときに Foxpass によって生成されます ([Kinesis Logging ] ページの [Add Logging Configuration] ボタンをクリックしてプロセスにします)。Foxpass が役割を引き受けることを許可する信頼関係ポリシー ドキュメントの例を次に示します。843529240033

{
"Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::843529240033:root" }, "Condition": {"StringEquals": {"sts:ExternalId": "<ExternalID Assigned by Foxpass>"}}, "Action": "sts:AssumeRole" } ] }

ロールには、Kinesis ストリームでの 3 つのアクション( 、、および) を許可する IAM ポリシーが必要です。その IAM ポリシーの例を次に示します。kinesis:DescribeStreamkinesis:PutRecordkinesis:PutRecords

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kinesis:DescribeStream",
                "kinesis:PutRecord",
                "kinesis:PutRecords"
            ],
            "Resource": "<stream ARN>"
        }
    ]
}
 
ログを Kinesis に送信するための Foxpass の設定

Event Logging アドオンを使用している Foxpass のお客様には、Kinesis Loggingという Foxpass コンソールのページが表示されます。このページでは、Foxpass アカウント内のすべての LDAP および RADIUS 認証イベントのレコードを受信する 1 つ以上の Kinesis ストリームを設定できます。

🚧 ヒント:Kinesis Logging 設定の変更が有効になるまでに最大 1 分かかります。

 
新しい Kinesis ストリームに書き込むための Foxpass の設定

Foxpass で Kinesis ログ設定を作成するには、4 ビットの情報が必要です。上記の CloudFormation テンプレートのいずれかを使用して AWS リソースを作成した場合、CloudFormation スタックの [出力] タブですべての設定を利用できます。

  • AWS アカウント ID:12 桁の Amazon アカウント ID
  • AWS リージョン:Kinesis ストリームがある AWS リージョンの名前
  • IAM ロール名:Foxpass が引き受けることができる AWS IAM ロールの名前
  • Kinesis stream name:Foxpass が書き込む Kinesis ストリームの名前

新しいストリームに書き込むように Foxpass を設定するには、Foxpass コンソールのKinesis Loggingページに移動し、[Add Logging Configuration] をクリックします。構成の自由形式のわかりやすい名前と、上記の 4 つの情報を入力します。[Test & Add] をクリックすると、Foxpass は IAM ロールを引き受けて Kinesis ストリームにアクセスしようとし、テストに合格すると保存されます。

 
ロギング構成の有効化、無効化、および削除

各ログ設定の横にある [アクション] メニューから [設定を無効にする] を選択すると、ログ設定を無効にできます。「アクション」メニューから「構成の削除」を選択して、既存の構成を削除することもできます。

  
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています