# AWS S3

### 概要

Keeperでは、Amazon S3へのイベントストリームがサポートされています。以下は、セットアップ手順となります。

### S3の構成

1. AWSでS3バケットを作成し、すべての権限がブロックされていることを確かにします。

<figure><img src="/files/EEA05PHmTWPzmMHE4r8t" alt=""><figcaption></figcaption></figure>

2. コンソールアクセスなしでユーザーアカウントを作成し、以下のようにバケット内へのファイルの配置のみ可能な基本的なロールポリシーを割り当てます。

```
{
    "Version":"2012-10-17",
    "Statement": [
        {
            "Sid":"VisualEditor0",
            "Effect":"Allow",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::name_of_bucket/*"
            ]
        }
    ]
}
```

3.　アクセスキーとシークレットキーを生成し、バケット名と一緒にそれらを管理コンソールに入力します。 ファイルのアップロードには、さまざまなタイムフレームを選択できます。以下のファイル形式を選択することもできます。

* JSON
* Syslog
* CSV

<figure><img src="/files/Wao57MrwG5kQdWFB1kLB" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
バケット名には、以下のようにリージョンを含む**完全なARN**を指定します。

`arn:aws:s3:us-west-2::my-keeper-events`
{% endhint %}

期間中にイベントが発生した場合のみファイルがポストされます。以下の例では、システムにアクティビティがある場合、1時間ごとにjsonファイルがポストされています。

<figure><img src="/files/JPCfxsx14bjhZZfP47TV" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
タイムフレームを「日」に設定した場合、すべてのイベントはその日が終了 (UTC時間を使用) するまで蓄積されてから、その日のすべてのイベントを含む新しいファイルがS3バケットに追加されます。
{% endhint %}

### ログファイルの例

#### Syslogファイル

{% code overflow="wrap" %}

```
<165>1 2023-10-30T02:18:43.776Z keepersecurity.jp keeper - - - {"audit_event":"device_user_approval_requested","device_name":"iPhone","remote_address":"12.34.56.78","category":"security","client_version":"iPhone.16.9.4","username":"craig@keeperdemo.io","enterprise_id":50,"client_version_new":true}^M

<165>1 2023-10-30T02:19:19.587Z keepersecurity.jp keeper - - - {"audit_event":"device_approved","device_name":"iPhone","remote_address":"12.34.56.78","category":"security","client_version":"iPhone.16.9.4","username":"craig@keeperdemo.io","enterprise_id":50}^M

<165>1 2023-10-30T02:19:51.774Z keepersecurity.jp keeper - - - {"audit_event":"login","channel":"PASS","remote_address":"12.34.56.78","category":"login","client_version":"iPhone.16.9.4","username":"craig@keeperdemo.io","enterprise_id":50}^M
```

{% endcode %}

#### JSONファイル

{% code overflow="wrap" %}

```
[{"audit_event":"login","remote_address":"12.34.56.78","client_version":"iPhone.16.9.3","timestamp":"2023-09-20T21:33:17.545Z","username":"craig@keeperdemo.io","enterprise_id":67241},{"audit_event":"login","remote_address":"12.34.56.78","client_version":"iPhone.16.9.3","timestamp":"2023-09-20T21:33:27.200Z","username":"craig@keeperdemo.io","enterprise_id":67241},{"audit_event":"login","remote_address":"12.34.56.78","client_version":"iPhone.16.9.3","timestamp":"2023-09-20T21:33:22.740Z","username":"craig@keeperdemo.io","enterprise_id":67241},{"record_uid":"ac3QeHmeGz6Jyb7wnuHnfQ","audit_event":"open_record","remote_address":"12.34.56.78","client_version":"iPhone.16.9.3","timestamp":"2023-09-20T21:33:56.634Z","username":"craig@keeperdemo.io","enterprise_id":67241},{"record_uid":"ac3QeHmeGz6Jyb7wnuHnfQ","audit_event":"fast_fill","remote_address":"12.34.56.78","client_version":"iPhone.16.9.3","timestamp":"2023-09-20T21:33:56.634Z","username":"craig@keeperdemo.io","enterprise_id":67241}]
```

{% endcode %}

#### CSVファイル

{% code overflow="wrap" %}

```csv
audit_event,name,remote_address,category,client_version,timestamp,username,enterprise_id
audit_sync_setup,s3,12.34.56.78,policy,EMConsole.16.15.3,1698759022585,craig@keeperdemo.io,50
role_created,,12.34.56.78,policy,EMConsole.16.15.3,1698759049640,craig@keeperdemo.io,50
role_enforcement_changed,,12.34.56.78,policy,EMConsole.16.15.3,1698759049876,craig@keeperdemo.io,50
added_to_role,,12.34.56.78,security,EMConsole.16.15.3,1698759136968,craig@keeperdemo.io,50
added_to_role,,12.34.56.78,security,EMConsole.16.15.3,1698759136979,craig@keeperdemo.io,50
lock_user,,12.34.56.78,security,EMConsole.16.15.3,1698759169004,craig@keeperdemo.io,50
added_to_role,,12.34.56.78,security,EMConsole.16.15.3,1698759134936,craig@keeperdemo.io,50
```

{% endcode %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.keeper.io/jp/enterprise-guide/event-reporting/aws-s3-bucket.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
