

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Security Lake をプログラムで有効にする
<a name="get-started-programmatic"></a>

このチュートリアルでは、Security Lake をプログラムで有効にして使用を開始する方法について説明します。Amazon Security Lake API は、Security Lake アカウント、データ、リソースへの包括的でプログラムによるアクセスを提供します。または、 [AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)または [AWS Tools for PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-welcome.html) などの AWS コマンドラインツール、または [AWS SDKs](https://aws.amazon.com/developertools/) を使用して Security Lake にアクセスすることもできます。

## ステップ 1: IAM ロールを作成する
<a name="prerequisites"></a>

プログラムで Security Lake にアクセスする場合、データレイクを設定するには、一部の AWS Identity and Access Management (IAM) ロールを作成する必要があります。

**重要**  
Security Lake コンソールを使用して Security Lake を有効にして設定する場合は、これらの IAM ロールを作成する必要はありません。

以下のアクションを 1 つ以上実行する場合は、IAM でロールを作成する必要があります (リンクを選択すると、各アクションの IAM ロールに関する詳細が表示されます)。
+ [カスタム ソースの作成](custom-sources.md#iam-roles-custom-sources) – カスタム ソースは、Security Lake にデータを送信する、ネイティブにサポートされている AWS のサービス 以外のソースです。
+ [データアクセス権限を持つサブスクライバーの作成](prereqs-creating-subscriber.md#iam-role-subscriber) — 権限を持つサブスクライバーは、データレイクから S3 オブジェクトに直接アクセスできます。
+ [クエリアクセス権を持つサブスクライバーの作成](prereqs-query-subscriber.md#iam-role-query-subscriber) — 権限を持つサブスクライバーは、Amazon Athenaなどのサービスを使用して Security Lake からデータをクエリできます。
+ [ロールアップ リージョンの構成](add-rollup-region.md#iam-role-replication) – ロールアップ リージョンは、複数の AWS リージョンからのデータを統合します。

前述のロールを作成したら、Security Lake を有効にするために使用しているロールに [https://docs.aws.amazon.com/security-lake/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-AmazonSecurityLakeAdministrator](https://docs.aws.amazon.com/security-lake/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-AmazonSecurityLakeAdministrator) AWS 管理ポリシーをアタッチします。このポリシーにより、プリンシパルが Security Lake にオンボーディングし、Security Lake のすべてのアクションにアクセスすることが許可される、管理者許可が付与されます。

[https://docs.aws.amazon.com/security-lake/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-AmazonSecurityLakeAdministrator](https://docs.aws.amazon.com/security-lake/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-AmazonSecurityLakeAdministrator) AWS マネージドポリシーをアタッチして、Security Lake からデータレイクを作成するか、データをクエリします。このポリシーは、Security Lake がソースから受信する raw ログおよびイベントデータの抽出、変換、ロード (ETL) ジョブをサポートするために必要です。

## ステップ 2: Amazon Security Lake を有効にする
<a name="enable-service-programmatic"></a>

Security Lake をプログラムで有効にするには、Security Lake API の [https://docs.aws.amazon.com/security-lake/latest/APIReference/API_CreateDataLake.html](https://docs.aws.amazon.com/security-lake/latest/APIReference/API_CreateDataLake.html)オペレーションを使用します。を使用している場合は AWS CLI、[create-data-lake](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/securitylake/create-data-lake.html) コマンドを実行します。リクエストでは、`configurations`オブジェクトの`region`フィールドを使用して、Security Lake を有効にするリージョンのリージョンコードを指定します。リージョンコードのリストについては、「*AWS 全般のリファレンス*」の[「Amazon Security Lake エンドポイント」](https://docs.aws.amazon.com/general/latest/gr/securitylake.html)を参照してください。

**例 1**

次のコマンド例では、 `us-east-1`および `us-east-2`リージョンで Security Lake を有効にします。どちらのリージョンでも、このデータレイクは Amazon S3 マネージドキーで暗号化されます。オブジェクトは 365 日後に期限切れになり、オブジェクトは 60 日後に `ONEZONE_IA` S3 ストレージクラスに移行します。この例は Linux、macOS、または Unix 用にフォーマットされており、読みやすさを向上させるためにバックスラッシュ (\$1) の行継続文字を使用しています。

```
$ aws securitylake create-data-lake \
--configurations '[{"encryptionConfiguration": {"kmsKeyId":"S3_MANAGED_KEY"},"region":"us-east-1","lifecycleConfiguration": {"expiration":{"days":365},"transitions":[{"days":60,"storageClass":"ONEZONE_IA"}]}}, {"encryptionConfiguration": {"kmsKeyId":"S3_MANAGED_KEY"},"region":"us-east-2","lifecycleConfiguration": {"expiration":{"days":365},"transitions":[{"days":60,"storageClass":"ONEZONE_IA"}]}}]' \
--meta-store-manager-role-arn "arn:aws:iam:us-east-1:123456789012:role/service-role/AmazonSecurityLakeMetaStoreManager"
```

**例 2**

次のコマンド例では、 `us-east-2`リージョンで Security Lake を有効にします。このデータレイクは、 AWS Key Management Service () で作成されたカスタマーマネージドキーで暗号化されますAWS KMS。オブジェクトは 500 日後に期限切れになり、オブジェクトは 30 日後に `GLACIER` S3 ストレージクラスに移行します。この例は Linux、macOS、または Unix 用にフォーマットされており、読みやすさを向上させるためにバックスラッシュ (\$1) の行継続文字を使用しています。

```
$ aws securitylake create-data-lake \
--configurations '[{"encryptionConfiguration": {"kmsKeyId":"1234abcd-12ab-34cd-56ef-1234567890ab"},"region":"us-east-2","lifecycleConfiguration": {"expiration":{"days":500},"transitions":[{"days":30,"storageClass":"GLACIER"}]}}]' \
--meta-store-manager-role-arn "arn:aws:iam:us-east-1:123456789012:role/service-role/AmazonSecurityLakeMetaStoreManager"
```

**注記**  
Security Lake を既に有効にしていて、リージョンまたはソースの設定を更新する場合は、 [https://docs.aws.amazon.com/security-lake/latest/APIReference/API_UpdateDataLake.html](https://docs.aws.amazon.com/security-lake/latest/APIReference/API_UpdateDataLake.html)オペレーションを使用するか、 を使用する場合は AWS CLI[update-data-lake](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/securitylake/update-data-lake.html) コマンドを使用します。`CreateDataLake` オペレーションを使用しないでください。

## ステップ 3: ソースを設定する
<a name="define-collection-objective-programmatic"></a>

Security Lake は、さまざまなソースから、 AWS アカウント および AWS リージョン全体からログとイベントデータを収集します。以下の手順に従って、Security Lake に収集させたいデータを特定してください。これらの手順は、ネイティブにサポートされている AWS のサービス をソースとして追加する場合にのみ使用できます。カスタムソースの追加については、[Security Lake のカスタムソースからデータを収集する](custom-sources.md) を参照してください。

1 つ以上のコレクションソースをプログラムで定義するには、Security Lake API の [CreateAWSLogSource](https://docs.aws.amazon.com/security-lake/latest/APIReference/API_CreateAwsLogSource.html) オペレーションを使用してください。ソースごとに、`sourceName`パラメータに地域固有の値を指定します。オプションで追加のパラメーターを使用して、ソースの範囲を特定のアカウント (`accounts`) または特定のバージョン (`sourceVersion`) に制限します。

**注記**  
リクエストにオプションのパラメータを含めない場合、Security Lake は、除外するパラメータに応じて、指定されたソースのすべてのアカウントまたはすべてのバージョンにリクエストを適用します。たとえば、ある組織の委任された Security Lake 管理者が`accounts`パラメータを除外した場合、Security Lake はリクエストを組織内のすべてのアカウントに適用します。同様に、`sourceVersion`パラメータを除外すると、Security Lake は指定されたソースのすべてのバージョンにリクエストを適用します。

Security Lake を有効にしていないリージョンをリクエストで指定すると、エラーが発生します。このエラーに対処するには、`regions`アレイに Security Lake を有効にしたリージョンのみを指定するようにしてください。または、リージョンで Security Lake を有効にしてからリクエストを再度送信することもできます。

アカウントで Security Lake を初めて有効にすると、選択したすべてのログソースとイベントソースが 15 日間の無料試用期間に含まれます。使用情報の詳細については、「[使用状況と推定コストの確認](reviewing-usage-costs.md)」を参照してください。

## ステップ 4: ストレージ設定とロールアップリージョンを設定する (オプション)
<a name="define-target-objective-programmatic"></a>

Security Lake にデータを保存する Amazon S3 ストレージクラスとその期間を指定できます。ロールアップリージョンを指定して、複数のリージョンのデータを統合することもできます。これらはオプションのステップです。詳細については、「[Security Lakeのライフサイクル管理](lifecycle-management.md)」を参照してください。

Security Lake を有効にするときにプログラムでターゲット目標を定義するには、Security Lake API の [https://docs.aws.amazon.com/security-lake/latest/APIReference/API_CreateDataLake.html](https://docs.aws.amazon.com/security-lake/latest/APIReference/API_CreateDataLake.html)オペレーションを使用します。Security Lake を既に有効にしていて、ターゲット目標を定義する場合は、 [https://docs.aws.amazon.com/security-lake/latest/APIReference/API_UpdateDataLake.html](https://docs.aws.amazon.com/security-lake/latest/APIReference/API_UpdateDataLake.html)オペレーションではなく `CreateDataLake`オペレーションを使用します。

いずれの操作でも、サポートされているパラメータを使用して必要な設定を指定します。
+ ロールアップリージョンを指定するには、 `region`フィールドを使用して、ロールアップリージョンにデータを提供するリージョンを指定します。`replicationConfiguration` オブジェクトの`regions`配列で、各ロールアップリージョンのリージョンコードを指定します。リージョンコードのリストについては、「*AWS 全般のリファレンス*」の[「Amazon Security Lake エンドポイント」](https://docs.aws.amazon.com/general/latest/gr/securitylake.html)を参照してください。
+ データの保存設定を指定するには、`lifecycleConfiguration`パラメータを使用します。
  + `transitions`には、特定の Amazon S3 ストレージクラス（`storageClass`）に S3 オブジェクトを保存する合計日数 (`days`) を指定します。
  + `expiration`には、オブジェクトが作成されてから、任意のストレージクラスを使用して Amazon S3 にオブジェクトを保存する合計日数を指定します。この保持期間が終了すると、オブジェクトは期限切れになり、Amazon S3 はそれらを削除します。

  Security Lake は、指定された保持設定を `configurations` オブジェクトの `region` フィールドで指定したリージョンに適用します。

たとえば、次のコマンドは、ロールアップリージョン`ap-northeast-2`として を使用してデータレイクを作成します。`us-east-1` リージョンは、`ap-northeast-2`リージョンにデータを提供します。この例では、データレイクに追加されたオブジェクトの有効期限を 10 日間設定します。

```
$ aws securitylake create-data-lake \
--configurations '[{"encryptionConfiguration": {"kmsKeyId":"S3_MANAGED_KEY"},"region":"us-east-1","replicationConfiguration": {"regions": ["ap-northeast-2"],"roleArn":"arn:aws:iam::123456789012:role/service-role/AmazonSecurityLakeS3ReplicationRole"},"lifecycleConfiguration": {"expiration":{"days":10}}}]' \
--meta-store-manager-role-arn "arn:aws:iam::123456789012:role/service-role/AmazonSecurityLakeMetaStoreManager"
```

これで、データレイクが作成されました。Security Lake API の [https://docs.aws.amazon.com/security-lake/latest/APIReference/API_ListDataLakes.html](https://docs.aws.amazon.com/security-lake/latest/APIReference/API_ListDataLakes.html)オペレーションを使用して、各リージョンで Security Lake とデータレイク設定が有効になっていることを確認します。

データレイクの作成時に問題やエラーが発生した場合は、 [https://docs.aws.amazon.com/security-lake/latest/APIReference/API_ListDataLakeExceptions.html](https://docs.aws.amazon.com/security-lake/latest/APIReference/API_ListDataLakeExceptions.html)オペレーションを使用して例外のリストを表示し、 [https://docs.aws.amazon.com/security-lake/latest/APIReference/API_CreateDataLakeExceptionSubscription.html](https://docs.aws.amazon.com/security-lake/latest/APIReference/API_CreateDataLakeExceptionSubscription.html) オペレーションで例外をユーザーに通知できます。詳細については、「[データレイクステータスのトラブルシューティング](securitylake-data-lake-troubleshoot.md)」を参照してください。

## ステップ 5: 独自のデータを表示してクエリする
<a name="explore-data-lake-programmatic"></a>

データレイクを作成したら、Amazon Athena または同様のサービスを使用して、 AWS Lake Formation データベースやテーブルからデータを表示およびクエリできます。Security Lake をプログラムで有効にすると、データベースビューのアクセス許可は自動的に付与されません。のデータレイク管理者アカウントは、関連するデータベースとテーブルのクエリに使用する IAM ロールにアクセス`SELECT`許可を付与 AWS Lake Formation する必要があります。ロールには少なくとも *Data Analyst* 権限が必要です。権限レベルの詳細については、「[Lake Formation ペルソナ」と「IAM 権限リファレンス](https://docs.aws.amazon.com/lake-formation/latest/dg/permissions-reference.html)」を参照してください。`SELECT`権限を付与する手順については、*『AWS Lake Formation 開発者ガイド』*の「[名前付きリソースメソッドを使用した Data Catalog 権限の付与](https://docs.aws.amazon.com/lake-formation/latest/dg/granting-cat-perms-named-resource.html)」を参照してください。

## ステップ 6: サブスクライバーを作成する
<a name="subscribe-data-programmatic"></a>

データレイクを作成したら、データを使用するサブスクライバーを追加できます。サブスクライバーは、Amazon S3 バケット内のオブジェクトに直接アクセスするか、データレイクにクエリを実行することでデータを使用できます。サブスクライバーの詳細については、「[Security Lake でのサブスクライバー管理](subscriber-management.md)」を参照してください。