

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

# Security Lake でのサブスクライバー管理
<a name="subscriber-management"></a>

Amazon セキュリティレイクサブスクライバーは、セキュリティレイクからのログとイベントを使用します。コストを抑え、最小権限アクセスのベストプラクティスを順守するために、サブスクライバーにソースごとにデータへのアクセスを許可します。sources の詳細については、「[Security Lake でのソース管理](source-management.md)」を参照してください。

Security Lake は、2 種類のサブスクライバーをサポートしています。
+ Amazon Security Lake のソースデータへのデータアクセス権を持つ**データアクセス**サブスクライバーには、データが S3 バケットに書き込まれると、ソースの新しいオブジェクトが通知されます。デフォルトでは、サブスクライバーは、提供する HTTPS エンドポイントを通じて新しいオブジェクトについて通知されます。また、Amazon Simple Queue Service (Amazon SQS) キューをポーリングすることで、サブスクライバーに新しいオブジェクトについて通知を受け取ることもできます。
+ **クエリアクセス** – クエリアクセスを持つサブスクライバーは、Security Lake が収集するデータをクエリできます。これらのサブスクライバーは、Amazon Athena などのサービスを使用して S3 バケット内の AWS Lake Formation テーブルを直接クエリします。

サブスクライバーは、サブスクライバーの作成時に AWS リージョン 選択した 内のソースデータにのみアクセスできます。サブスクライバーが複数のリージョンのデータにアクセスできるようにするには、サブスクライバーを作成したリージョンをロールアップリージョンとして指定し、他のリージョンにデータを提供してもらうことができます。ロールアップリージョンと貢献リージョンの詳細については、[Security Lake でのリージョンの管理](manage-regions.md)を参照してください。

**重要**  
Security Lake がサブスクライバーごとに追加できるソースの最大数は 10 です。これは、 AWS ソースとカスタムソースの組み合わせである可能性があります。

**Topics**
+ [Security Lake サブスクライバーのデータアクセスの管理](subscriber-data-access.md)
+ [Security Lake サブスクライバーのクエリアクセスの管理](subscriber-query-access.md)

# Security Lake サブスクライバーのデータアクセスの管理
<a name="subscriber-data-access"></a>

Amazon Security Lake のソースデータへのデータアクセス権を持つサブスクライバーには、データが S3 バケットに書き込まれると、ソースの新しいオブジェクトが通知されます。デフォルトでは、サブスクライバーは、提供する HTTPS エンドポイントを通じて新しいオブジェクトについて通知されます。また、Amazon Simple Queue Service (Amazon SQS) キューをポーリングすることで、サブスクライバーに新しいオブジェクトについて通知を受け取ることもできます。

オブジェクトが Security Lake データレイクに書き込まれると、サブスクライバーにソースの新しい Amazon S3 オブジェクトが通知されます。サブスクライバーは、Amazon Simple Queue Service (Amazon SQS) キューをポーリングすることで、S3 オブジェクトに直接アクセスし、新しいオブジェクトの通知を受け取ることができます。このサブスクリプション タイプは、[CreateSubscriber](https://docs.aws.amazon.com/security-lake/latest/APIReference/API_CreateSubscriber.html) API の`accessTypes` パラメーターで `S3` として識別されます。

**Topics**
+ [前提条件](prereqs-creating-subscriber.md)
+ [データにアクセスできるサブスクライバーを作成する。](create-subscriber-data-access.md)
+ [データサブスクライバーの更新](subscriber-update.md)
+ [データサブスクライバーを削除する。](remove-data-access-subscriber.md)

# Security Lake でデータアクセスを持つサブスクライバーを作成するための前提条件
<a name="prereqs-creating-subscriber"></a>

Security Lake でデータにアクセスできるサブスクライバーを作成する前に、次の必要条件を満たす必要があります。

## アクセス許可の確認
<a name="create-data-access-subscriber-permissions"></a>

権限を確認するには、IAM を使用して IAM ID に添付されている IAM ポリシーを確認してください。次に、それらのポリシーの情報を、データレイクに新しいデータが書き込まれたときにサブスクライバーに通知する必要がある次の (権限) アクションのリストと比較します。

以下のアクションの実行には許可が必要です。
+ `iam:CreateRole`
+ `iam:DeleteRolePolicy`
+ `iam:GetRole`
+ `iam:PutRolePolicy`
+ `lakeformation:GrantPermissions`
+ `lakeformation:ListPermissions`
+ `lakeformation:RegisterResource`
+ `lakeformation:RevokePermissions`
+ `ram:GetResourceShareAssociations`
+ `ram:GetResourceShares`
+ `ram:UpdateResourceShare`

上記のリストに加えて、以下のアクションを実行する許可も必要です。
+ `events:CreateApiDestination`
+ `events:CreateConnection`
+ `events:DescribeRule`
+ `events:ListApiDestinations`
+ `events:ListConnections`
+ `events:PutRule`
+ `events:PutTargets`
+ `s3:GetBucketNotification`
+ `s3:PutBucketNotification`
+ `sqs:CreateQueue`
+ `sqs:DeleteQueue`
+ `sqs:GetQueueAttributes`
+ `sqs:GetQueueUrl`
+ `sqs:SetQueueAttributes`

## サブスクライバーの外部 ID を取得します。
<a name="subscriber-external-id"></a>

サブスクライバーを作成するには、サブスクライバーの AWS アカウント ID とは別に、*外部 ID* も取得する必要があります。外部 ID は、サブスクライバーが提供する固有の識別子です。Security Lake は、作成したサブスクライバー IAM ロールに外部 ID を追加します。外部 ID は、Security Lake コンソール、API、または AWS CLIを使用してサブスクライバを作成するときに使用します。

外部 IDs*「IAM* [ユーザーガイド」の「How to use an external ID when granting access to your AWS resources to a third party](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html)」を参照してください。



**重要**  
Security Lake コンソールを使用してサブスクライバーを追加する予定がある場合は、次の手順をスキップして [Security Lake でデータアクセスを持つサブスクライバーを作成する](create-subscriber-data-access.md) に進むことができます。Security Lake コンソールでは、必要なすべての IAM ロールを作成したり、ユーザーに代わって既存のロールを使用したりできるため、使い始めるためのプロセスが簡略化されています。  
Security Lake API または を使用してサブスクライバー AWS CLI を追加する場合は、次のステップに進み、EventBridge API の送信先を呼び出す IAM ロールを作成します。

## EventBridge API 送信先を呼び出す IAM ロールを作成する (API および AWS CLI専用ステップ)
<a name="iam-role-subscriber"></a>

API または を使用して Security Lake を使用している場合は AWS CLI、 AWS Identity and Access Management (IAM) でロールを作成し、API 送信先を呼び出してオブジェクト通知を正しい HTTPS エンドポイントに送信するアクセス許可を Amazon EventBridge に付与します。

この IAM ロールの作成が完了したら、サブスクライバーを作成するためにそのロールの Amazon リソースネーム（ARN）が必要になります。サブスクライバーが Amazon Simple Queue Service (Amazon SQS) キューからデータをポーリングする場合、または AWS Lake Formationからデータを直接クエリする場合、この IAM ロールは必要ありません。この種のデータアクセス方法 (アクセスタイプ) の詳細については、「[Security Lake サブスクライバーのクエリアクセスの管理](subscriber-query-access.md)」を参照してください。

次のポリシーを IAM ロールに付けることができます。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowInvokeApiDestination",
            "Effect": "Allow",
            "Action": [
                "events:InvokeApiDestination"
            ],
            "Resource": [
            "arn:aws:events:us-east-1:123456789012:api-destination/AmazonSecurityLake*/*"
            ]
        }
    ]
}
```

------

次の信頼ポリシーを IAM ロールにアタッチして、EventBridge がロールを引き受けることを許可します。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowEventBridgeToAssume",
            "Effect": "Allow",
            "Principal": {
                "Service": "events.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

Security Lake は、サブスクライバーがデータレイクからデータを読み取ることを許可する IAM ロールを自動的に作成します (または、推奨される通知方法であれば Amazon SQS キューからイベントをポーリングする)。このロールは、 という AWS マネージドポリシーで保護されています[`AmazonSecurityLakePermissionsBoundary`](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonSecurityLakePermissionsBoundary)。

# Security Lake でデータアクセスを持つサブスクライバーを作成する
<a name="create-subscriber-data-access"></a>

次のいずれかのアクセス方法を選択して、現在の のデータにアクセスできるサブスクライバーを作成します AWS リージョン。

------
#### [ Console ]

1. Security Lake コンソール [https://console.aws.amazon.com/securitylake/](https://console.aws.amazon.com/securitylake/) を開きます。

1. ページの右上隅にある AWS リージョン セレクターを使用して、サブスクライバーを作成するリージョンを選択します。

1. 左のナビゲーションペインで **[サブスクライバー]** を選択します。

1. 「**サブスクライバー**」ページで、「**サブスクライバーを作成**」を選択します。

1. **サブスクライバーの詳細**には、**サブスクライバー名**とオプションで**説明**を入力します。

   **リージョン**は、現在選択されている として自動入力 AWS リージョン されるため、変更できません。

1. [**ログとイベントソース**] では、サブスクライバーが使用を許可されているソースを選択します。

1. [**データアクセス方法**] では、**S3** を選択してサブスクライバーのデータアクセスを設定します。

1. **サブスクライバー認証情報**には、サブスクライバーの AWS アカウント ID と[外部 ID](https://docs.aws.amazon.com//security-lake/latest/userguide/prereqs-creating-subscriber.html#subscriber-external-id) を指定します。

1. (オプション) **通知の詳細**で、Security Lake でサブスクライバーがオブジェクト通知をポーリングできる Amazon SQS キューを作成させたい場合は、**SQS** キューを選択します。Security Lake が EventBridge 経由で HTTPS エンドポイントに通知を送信するようにするには、[**サブスクリプションエンドポイント**] を選択します。

   [**サブスクリプションエンドポイント**] を選択した場合は、以下も実行してください。

   1. **サブスクリプションエンドポイント**を入力します。有効なエンドポイント形式の例には、**http://example.com**があります。オプションで **HTTPS キー名**と **HTTPS キー値**を指定することもできます。

   1. **サービスアクセス**の場合は、新しい IAM ロールを作成するか、API 宛先を呼び出して適切なエンドポイントにオブジェクト通知を送信する権限を EventBridge に付与する既存の IAM ロールを使用します。

      新しい IAM ロールを作成する方法については、「[EventBridge API の宛先を呼び出すための IAM ロールの作成](https://docs.aws.amazon.com//security-lake/latest/userguide/prereqs-creating-subscriber.html#iam-role-subscriber)」を参照してください。

1. (オプション) [**タグ**] には、サブスクライバーに割り当てるタグを 50 個まで入力します。

   *タグ*は、特定のタイプの AWS リソースを定義して割り当てることができるラベルです。各タグは、必要なタグキーとオプションのタグ値で設定されています。タグは、さまざまな方法でリソースの識別、分類、管理に役立ちます。詳細については[Security Lake リソースのタグ付け](tagging-resources.md)を参照してください。

1. **[作成]** を選択します。

------
#### [ API ]

データにアクセスできるサブスクライバーをプログラムで作成するには、Security Lake API の [CreateSubscriber](https://docs.aws.amazon.com/security-lake/latest/APIReference/API_CreateSubscriber.html) オペレーションを使用します。 AWS Command Line Interface (AWS CLI) を使用している場合は、[create-subscriber](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/securitylake/create-subscriber.html) コマンドを実行します。

リクエストでは、これらのパラメータを使用して、サブスクライバーに次の設定を指定します。
+ `sources` に、サブスクライバーにアクセスさせたいソースをそれぞれ指定します。
+ には`subscriberIdentity`、サブスクライバーがソースデータにアクセスするために使用する AWS アカウント ID と外部 ID を指定します。
+ には`subscriber-name`、サブスクライバーの名前を指定します。
+ `accessTypes` の場合、`S3` を指定します。

**例 1**

次の の例では、ソースの指定されたサブスクライバー ID AWS の現在の AWS リージョンのデータにアクセスできるサブスクライバーを作成します。

```
$ aws securitylake create-subscriber \ 
--subscriber-identity {"accountID": 1293456789123,"externalId": 123456789012} \
--sources [{"awsLogSource": {"sourceName": VPC_FLOW, "sourceVersion": 2.0}}] \
--subscriber-name subscriber name \
--access-types S3
```

**例 2**

次の の例では、カスタムソースの指定されたサブスクライバー ID の現在の AWS リージョンのデータにアクセスできるサブスクライバーを作成します。

```
$ aws securitylake create-subscriber \ 
--subscriber-identity {"accountID": 1293456789123,"externalId": 123456789012} \
--sources [{"customLogSource": {"sourceName": custom-source-name, "sourceVersion": 2.0}}] \
--subscriber-name subscriber name
--access-types S3
```

前述の例は Linux、macOS、または Unix 用にフォーマットされており、読みやすさを向上させるためにバックスラッシュ (\$1) 行連続文字を使用しています。

(オプション) サブスクライバーを作成したら、[CreateSubscriberNotification](https://docs.aws.amazon.com/security-lake/latest/APIReference/API_CreateSubscriberNotification.html) オペレーションを使用して、サブスクライバーにアクセスさせたいソースのデータレイクに新しいデータが書き込まれたときにサブスクライバーに通知する方法を指定します。 AWS Command Line Interface (AWS CLI) を使用している場合は、[create-subscriber-notification](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/securitylake/create-subscriber-notification.html) コマンドを実行します。
+ デフォルトの通知方法 (HTTPS エンドポイント) をオーバーライドして Amazon SQS キューを作成するには、`sqsNotificationConfiguration`パラメータの値を指定します。
+ HTTPS エンドポイントによる通知を希望する場合は、`httpsNotificationConfiguration`パラメータの値を指定します。
+ `targetRoleArn`フィールドには、EventBridge API 送信先を呼び出すために作成した IAM ロールの ARN を指定します。

```
$ aws securitylake create-subscriber-notification \
--subscriber-id "12345ab8-1a34-1c34-1bd4-12345ab9012" \
--configuration httpsNotificationConfiguration={"targetRoleArn"="arn:aws:iam::XXX:role/service-role/RoleName", "endpoint"="https://account-management.$3.$2.securitylake.aws.dev/v1/datalake"}
```

を取得するには`subscriberID`、Security Lake API の [ListSubscribers](https://docs.aws.amazon.com//security-lake/latest/APIReference/API_ListSubscribers.html) オペレーションを使用します。 AWS Command Line Interface (AWS CLI) を使用している場合は、[list-subscriber](https://docs.aws.amazon.com/cli/latest/reference/securitylake/list-subscribers.html) コマンドを実行します。

```
$ aws securitylake list-subscribers
```

------

その後、サブスクライバーの通知方法 (Amazon SQS キューまたは HTTPS エンドポイント) を変更するには、[UpdateSubscriberNotification](https://docs.aws.amazon.com/security-lake/latest/APIReference/API_UpdateSubscriberNotification.html) オペレーションを使用するか、 を使用している場合は AWS CLI update[update-subscriber-notification](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/securitylake/update-subscriber-notification.html) コマンドを実行します。Security Lake コンソールを使用して通知方法を変更することもできます。[**サブスクライバー**] ページでサブスクライバーを選択し、[**編集**] を選択します。

## サンプル通知メッセージの例
<a name="sample-notification"></a>

次の例は、 `CreateSubscriberNotification`オペレーションの JSON 構造形式のイベント通知を示しています。

```
{
  "source": "aws.s3",
  "time": "2021-11-12T00:00:00Z",
  "account": "123456789012",
  "region": "ca-central-1",
  "resources": [
    "arn:aws:s3:::amzn-s3-demo-bucket"
  ],
  "detail": {
    "bucket": {
      "name": "amzn-s3-demo-bucket"
    },
    "object": {
      "key": "example-key",
      "size": 5,
      "etag": "b57f9512698f4b09e608f4f2a65852e5"
    },
    "request-id": "N4N7GDK58NMKJ12R",
    "requester": "securitylake.amazonaws.com"
  }
}
```

# Security Lake でのデータサブスクライバーの更新
<a name="subscriber-update"></a>

サブスクライバーを更新するには、サブスクライバーが消費するソースを変更します。サブスクライバーのタグを割り当てたり編集したりすることもできます。*タグ*は、サブスクライバーを含む特定のタイプの AWS リソースを定義して割り当てることができるラベルです。詳細については[Security Lake リソースのタグ付け](tagging-resources.md)を参照してください。

アクセス方法のいずれかを選択し、以下の手順に従って既存のサブスクリプションの新しいソースを定義します。

------
#### [ Console ]

1. Security Lake コンソール [https://console.aws.amazon.com/securitylake/](https://console.aws.amazon.com/securitylake/) を開きます。

1. 左のナビゲーションペインで **[サブスクライバー]** を選択します。

1. サブスクライバーを選択します。

1. [**編集**] を選択し、次のいずれかを実行します。
   + サブスクライバーのソースを更新するには、「**ログとイベントのソース**」セクションに新しい設定を入力します。
   + サブスクライバーにタグを割り当てたり編集したりするには、「**タグ**」セクションで必要に応じてタグを変更します。

1. 完了したら、**保存** を選択します。

------
#### [ API ]

サブスクライバのデータアクセスソースをプログラムで更新するには、Security Lake API の [UpdateSubscriber](https://docs.aws.amazon.com/security-lake/latest/APIReference/API_UpdateSubscriber.html) オペレーションを使用します。 AWS Command Line Interface (AWS CLI) を使用している場合は、[update-subscriber](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/securitylake/update-subscriber.html) コマンドを実行します。リクエストでは、`sources`パラメータを使用して、サブスクライバーにアクセスさせたい各ソースを指定します。

```
$ aws securitylake update-subscriber --subscriber-id subscriber ID
```

特定の AWS アカウント または組織に関連付けられているサブスクライバーのリストについては、[ListSubscribers](https://docs.aws.amazon.com/security-lake/latest/APIReference/API_ListSubscribers.html) オペレーションを使用します。 AWS Command Line Interface (AWS CLI) を使用している場合は、[list-subscribers](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/securitylake/list-subscribers.html) コマンドを実行します。

```
$ aws securitylake list-subscribers
```

特定のサブスクライバーの現在の設定を確認するには、[GetSubscriber](https://docs.aws.amazon.com/security-lake/latest/APIReference/API_GetSubscriber.html) オペレーションを使用します。[get-subscriber](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/securitylake/get-subscriber.html) コマンドを実行します。その後、Security Lake はサブスクライバーの名前と説明、外部 ID、その他の情報を返します。 AWS Command Line Interface (AWS CLI) を使用している場合は、[get-subscriber](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/securitylake/get-subscriber.html) コマンドを実行します。

 サブスクライバーの通知メソッドを更新するには、[UpdateSubscriberNotification](https://docs.aws.amazon.com/security-lake/latest/APIReference/API_UpdateSubscriberNotification.html) オペレーションを使用します。 AWS Command Line Interface (AWS CLI) を使用している場合は、[update-subscriber-notification](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/securitylake/update-subscriber-notification.html) コマンドを実行します。たとえば、サブスクライバーに新しい HTTPS エンドポイントを指定したり、HTTPS エンドポイントから Amazon SQS キューに切り替えたりできます。

------

# Security Lake からのデータサブスクライバーの削除
<a name="remove-data-access-subscriber"></a>

Security Lake からのデータをサブスクライバーに使用させたくない場合は、以下の手順に従ってサブスクライバーを削除できます。

------
#### [ Console ]

1.  Security Lake コンソール [https://console.aws.amazon.com/securitylake/](https://console.aws.amazon.com/securitylake/)を開きます。

1. 左のナビゲーションペインで **[サブスクライバー]** を選択します。

1. 削除するサブスクライバーを選択します。

1. **[削除]** を選択してアクションを確認します。これにより、登録者と関連するすべての通知設定が削除されます。

------
#### [ API ]

シナリオに基づいて、次のいずれかを実行します。
+ サブスクライバーと関連するすべての通知設定を削除するには、Security Lake API の [DeleteSubscriber](https://docs.aws.amazon.com/security-lake/latest/APIReference/API_DeleteSubscriber.html) オペレーションを使用します。 AWS Command Line Interface (AWS CLI) を使用している場合は、[delete-subscriber](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/securitylake/delete-subscriber.html) コマンドを実行します。
+ サブスクライバーを保持したまま、サブスクライバーへのfuture 通知を停止するには、Security Lake API の [DeleteSubscriberNotification](https://docs.aws.amazon.com/security-lake/latest/APIReference/API_DeleteSubscriberNotification.html) オペレーションを使用してください。 AWS Command Line Interface (AWS CLI) を使用している場合は、[delete-subscriber-notification](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/securitylake/delete-subscriber-notification.html) コマンドを実行します。

------

# Security Lake サブスクライバーのクエリアクセスの管理
<a name="subscriber-query-access"></a>

クエリアクセス権を持つサブスクライバーは、Security Lake が収集するデータをクエリできます。これらのサブスクライバーは、Amazon Athena などのサービスを使用して S3 バケット内の AWS Lake Formation テーブルを直接クエリします。Security Lake の主なクエリ エンジンは Athena ですが、 AWS Glue Data Catalogと統合された [Amazon Redshift Spectrum](https://docs.aws.amazon.com/redshift/latest/dg/c-getting-started-using-spectrum.html) や Spark SQL などの他のサービスも使用できます。

サブスクライバーは、Amazon Athena などのサービスを使用して、S3 バケット内の AWS Lake Formation テーブルからソースデータをクエリします。このサブスクリプション タイプは、[CreateSubscriber](https://docs.aws.amazon.com/security-lake/latest/APIReference/API_CreateSubscriber.html) API の`accessTypes` パラメーターで `LAKEFORMATION` として識別されます。

**注記**  
このセクションでは、サードパーティのサブスクライバーにクエリアクセス権を付与する方法について説明します。独自のデータレイクに対してクエリを実行する方法については、「[ステップ 4: 独自のデータを表示してクエリする](get-started-console.md#explore-data-lake)」を参照してください。

**Topics**
+ [前提条件](prereqs-query-subscriber.md)
+ [クエリアクセス権を持つサブスクライバーの作成](create-query-subscriber-procedures.md)
+ [クエリアクセス権を持つサブスクライバーの編集](editing-query-access-subscriber.md)

# Security Lake でクエリアクセス権を持つサブスクライバーを作成するための前提条件
<a name="prereqs-query-subscriber"></a>

Security Lake でデータにアクセスできるサブスクライバーを作成する前に、次の必要条件を満たす必要があります。

## アクセス許可の確認
<a name="add-query-subscriber-permissions"></a>

クエリアクセス権限を持つサブスクライバーを作成する前に、以下のアクションリストを実行する権限があることを確認してください。

権限を確認するには、IAM を使用して IAM ID に添付されている IAM ポリシーを確認してください。クエリアクセスのあるサブスクライバを作成するために実行が許可される必要がある次のアクションのリストと比較します。
+ `glue:PutResourcePolicy`
+ `glue:DeleteResourcePolicy`
+ `iam:CreateRole`
+ `iam:DeleteRolePolicy`
+ `iam:GetRole`
+ `iam:PutRolePolicy`
+ `lakeformation:GrantPermissions`
+ `lakeformation:ListPermissions`
+ `lakeformation:RegisterResource`
+ `lakeformation:RevokePermissions`
+ `ram:GetResourceShareAssociations`
+ `ram:GetResourceShares`
+ `ram:UpdateResourceShare`

**重要**  
権限を確認したら:  
Security Lake コンソールを使用してクエリアクセス権限を持つサブスクライバーを追加する予定がある場合は、次のステップをスキップして[Lake Formation 管理者権限を付与](#permissions-lf-admin)に進んでください。Security Lake は必要なすべての IAM ロールを作成するか、ユーザーに代わって既存のロールを使用します。
Security Lake API または CLI を使用してクエリアクセス権限を持つサブスクライバーを追加する予定がある場合は、次のステップに進み、Security Lake データをクエリするための IAM ロールを作成します。

## Security Lake データをクエリする IAM ロールを作成する (API および AWS CLI専用ステップ)
<a name="iam-role-query-subscriber"></a>

Security Lake API または を使用してサブスクライバーにクエリアクセス AWS CLI を付与する場合は、 という名前のロールを作成する必要があります`AmazonSecurityLakeMetaStoreManager`。Security Lake はこのロールを使用して AWS Glue パーティションを登録し、 AWS Glue テーブルを更新します。「[必要な IAM ロールを作成する](getting-started.html#prerequisite-iam-roles)」で既にこのロールを作成している場合があります。

## Lake Formation 管理者権限を付与
<a name="permissions-lf-admin"></a>

また、Security Lake コンソールにアクセスしてサブスクライバーを追加するために使用する IAM ロールに Lake Formation 管理者権限を追加する必要があります。

次のステップに従って、自分のロールに Lake Formation 管理者権限を付与できます。

1. Lake Formation コンソール (‭‬[https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)‬) を開きます。

1. 管理ユーザーとしてサインインする

1. [**Lake Formation へようこそ**] ウィンドウが表示されたら、ステップ 1 で作成または選択した ユーザーを選択し、[開始する] を選択します。

1. **[Lake Formation へようこそ]** ウィンドウが表示されない場合は、以下の手順を実行して Lake Formation 管理者を設定します。

   1. ナビゲーションペインの **[許可]** で **[管理ロールとタスク]** を選択します。**[データレイク管理者]** セクションで、**[管理者を選択]** を選択します。

   1. **データレイク管理者の管理**ダイアログボックスの IAM ユーザーとロールで、Security Lake コンソールにアクセスするときに使用する管理者ロールを選択し、[**保存**] を選択します。

データレイク管理者の権限変更の詳細については、「*AWS Lake Formation デベロッパーガイド」*の「[データレイク管理者の作成](https://docs.aws.amazon.com/lake-formation/latest/dg/getting-started-setup.html#create-data-lake-admin)」を参照してください。

IAM ロールには、サブスクライバーにアクセス権を付与するデータベースとテーブルに対する`SELECT` 権限が必要です。その方法については、「*AWS Lake Formation デベロッパーガイド*」の「[名前付きリソースメソッドによる Data Catalog 権限の付与](https://docs.aws.amazon.com/lake-formation/latest/dg/granting-cat-perms-named-resource.html)」を参照してください。

# Security Lake でクエリアクセス権を持つサブスクライバーを作成する
<a name="create-query-subscriber-procedures"></a>

任意の方法を選択して、現在の でクエリアクセス権を持つサブスクライバーを作成します AWS リージョン。サブスクライバー AWS リージョン は、それが作成された からのみデータをクエリできます。サブスクライバーを作成するには、サブスクライバーの AWS アカウント ID と外部 ID が必要です。外部 ID は、サブスクライバーが提供する固有の識別子です。外部 IDs*「IAM* [ユーザーガイド」の「How to use an external ID when granting access to your AWS resources to a third party](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html)」を参照してください。

**注記**  
セキュリティレイクは、Lake Formation のクロスアカウントデータ共有バージョン 1 をサポートしていません。Lake Formation のクロスアカウントデータ共有をバージョン 2 またはバージョン 3 に更新する必要があります。 AWS Lake Formation コンソールまたは AWS CLI を使用して**クロスアカウントバージョン設定**を更新する手順については、[「 デベロッパーガイド」の「新しいバージョンを有効にする](https://docs.aws.amazon.com/lake-formation/latest/dg/optimize-ram.html#version-update-steps)には」を参照してください。 *AWS Lake Formation *

------
#### [ Console ]

1. Security Lake コンソール [https://console.aws.amazon.com/securitylake/](https://console.aws.amazon.com/securitylake/) を開きます。

   委任管理者アカウントにサインインします。

1. ページの右上隅にある AWS リージョン セレクターを使用して、サブスクライバーを作成するリージョンを選択します。

1. 左のナビゲーションペインで **[サブスクライバー]** を選択します。

1. 「**サブスクライバー**」ページで、「**サブスクライバーを作成**」を選択します。

1. **サブスクライバーの詳細**には、**サブスクライバー名**とオプションの**説明を入力します**。

   **リージョン**は、現在選択されている として自動入力 AWS リージョン されるため、変更できません。

1. [**ログとイベントのソース**] では、クエリ結果を返すときに Security Lake に含めたいソースを選択します。

1. [**データアクセス方法**] では、[**Lake Formation**] を選択してサブスクライバーのクエリアクセスを作成します。

1. **サブスクライバーの認証情報**には、サブスクライバーの AWS アカウント ID と[外部 ID](https://docs.aws.amazon.com//security-lake/latest/userguide/prereqs-creating-subscriber.html#subscriber-external-id) を指定します。

1. (オプション) [**タグ**] には、サブスクライバーに割り当てるタグを 50 個まで入力します。

   *タグ*は、特定のタイプの AWS リソースを定義して割り当てることができるラベルです。各タグは、必要なタグキーとオプションのタグ値で設定されています。タグは、さまざまな方法でリソースの識別、分類、管理に役立ちます。詳細については[Security Lake リソースのタグ付け](tagging-resources.md)を参照してください。

1. **[作成]** を選択します。

------
#### [ API ]

クエリアクセス付きのサブスクライバーをプログラムで作成するには、Security Lake API の [CreateSubscriber](https://docs.aws.amazon.com/security-lake/latest/APIReference/API_CreateSubscriber.html) オペレーションを使用します。 AWS Command Line Interface (AWS CLI) を使用している場合は、[create-subscriber](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/securitylake/create-subscriber.html) コマンドを実行します。

リクエストで、これらのパラメータを使用してサブスクライバーに次の設定を指定します。
+ `accessTypes` の場合、`LAKEFORMATION` を指定します。
+ `sources`では、クエリ結果を返すときに Security Lake に含めたいソースをそれぞれ指定します。
+ には`subscriberIdentity`、サブスクライバーがソースデータのクエリに使用する AWS ID と外部 ID を指定します。

次の の例では、指定されたサブスクライバー ID の現在の AWS リージョンにクエリアクセス権を持つサブスクライバーを作成します。この例は Linux、macOS、または Unix 用にフォーマットされており、読みやすさを向上させるためにバックスラッシュ (\$1) の行継続文字を使用しています。

```
$ aws securitylake create-subscriber \ 
--subscriber-identity {"accountID": 129345678912,"externalId": 123456789012} \
--sources [{"awsLogSource": {"sourceName": VPC_FLOW, "sourceVersion": 2.0}}] \
--subscriber-name subscriber name \
--access-types LAKEFORMATION
```

------

## クロスアカウントテーブル共有セットアップ (サブスクライバーステップ)
<a name="grant-query-access-subscriber"></a>

Security Lake は、Lake Formation のクロスアカウントテーブル共有を使用してサブスクライバーのクエリアクセスをサポートします。Security Lake コンソール、API、または でクエリアクセスを持つサブスクライバーを作成すると AWS CLI、Security Lake は AWS Resource Access Manager () で[リソース共有](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-terms-and-concepts.html#term-resource-share)を作成して、関連する Lake Formation テーブルに関する情報をサブスクライバーと共有しますAWS RAM。

クエリアクセス権限を持つサブスクライバに特定の種類の編集を行うと、Security Lake は新しいリソース共有を作成します。詳細については、「[Security Lake でのクエリアクセスを持つサブスクライバーの編集](editing-query-access-subscriber.md)」を参照してください。

サブスクライバーは、次のステップに従って Lake Formation テーブルからデータを取得する必要があります。

1. **リソース共有を受け入れる** — サブスクライバーは、サブスクライバーを作成または編集したときに生成される、`resourceShareArn`と`resourceShareName`を含むリソース共有を受け入れる必要があります。次のいずれかのアクセス方法を選択します。
   + コンソールと については AWS CLI、[「リソース共有の招待の承諾 AWS RAM](https://docs.aws.amazon.com/lake-formation/latest/dg/accepting-ram-invite.html)」を参照してください。
   + API の場合は、[GetResourceShareInvitations](https://docs.aws.amazon.com/ram/latest/APIReference/API_GetResourceShareInvitations.html) API を呼び出します。`resourceShareArn`と`resourceShareName`でフィルタリングして、正しいリソースシェアを見つけてください。[AcceptResourceShareInvitation ](https://docs.aws.amazon.com/ram/latest/APIReference/API_AcceptResourceShareInvitation.html)API を使用して招待を受け入れます。

   リソース共有の招待は 12 時間で期限切れになるため、12 時間以内に招待を検証して承諾する必要があります。招待の有効期限が切れても、引き続き `PENDING` 状態で表示されますが、招待を受け入れても共有リソースにアクセスできなくなります。12 時間以上経過したら、Lake Formation サブスクライバーを削除し、サブスクライバーを再作成して新しいリソース共有の招待状を取得します。

1. **共有データベースへのリソースリンクを作成する** – サブスクライバーは、共有 Lake Formation データベースへのリソースリンクを AWS Lake Formation (コンソールを使用している場合) または AWS Glue (API/AWS CLI を使用している場合) のいずれかで作成する必要があります。このリソースリンクは、サブスクライバーのアカウントを共有データベースにポイントします。次のいずれかのアクセス方法を選択します。
   + コンソールおよび については AWS CLI、[「 デベロッパーガイド」の「共有 Data Catalog データベースへのリソースリンクの作成](https://docs.aws.amazon.com/lake-formation/latest/dg/create-resource-link-database.html)」を参照してください。 *AWS Lake Formation *
   + 利用者は、[CreateDatabase](https://docs.aws.amazon.com/glue/latest/webapi/API_CreateDatabase.html) API を使用してリソースリンクテーブルを格納する独自のデータベースも作成することをお勧めします。

1. **共有テーブルをクエリする** — Amazon Athena などのサービスはテーブルを直接参照でき、Security Lake が収集した新しいデータを自動的にクエリに使用できるようになります。クエリはサブスクライバーの で実行され AWS アカウント、クエリによって発生したコストはサブスクライバーに請求されます。自分の Security Lake アカウントのリソースへの読み取りアクセスを制御できます。

*クロスアカウント権限の付与について詳しくは、「AWS Lake Formation デベロッパーガイド*」の「[Lake Formation でのクロスアカウントデータ共有](https://docs.aws.amazon.com/lake-formation/latest/dg/cross-account-permissions.html)」を参照してください。

# Security Lake でのクエリアクセスを持つサブスクライバーの編集
<a name="editing-query-access-subscriber"></a>

Security Lake では、クエリアクセス権限を持つサブスクライバーの編集がサポートされます。サブスクライバーの名前、説明、外部 ID、プリンシパル (AWS アカウント ID)、およびサブスクライバーが使用できるログソースを編集できます。希望の方法を選択し、ステップに従って現在の AWS リージョンでクエリ アクセス権を持つサブスクライバを編集します。

**注記**  
セキュリティレイクは、Lake Formation のクロスアカウントデータ共有バージョン 1 をサポートしていません。Lake Formation のクロスアカウントデータ共有をバージョン 2 またはバージョン 3 に更新する必要があります。 AWS Lake Formation コンソールまたは AWS CLI を使用して**クロスアカウントバージョン設定**を更新する手順については、[「 デベロッパーガイド」の「新しいバージョンを有効にする](https://docs.aws.amazon.com/lake-formation/latest/dg/optimize-ram.html#version-update-steps)には」を参照してください。 *AWS Lake Formation *

------
#### [ Console ]

編集したい詳細に基づいて、そのアクションにのみ記載されているステップに従ってください。

**サブスクライバー名を編集するには**  

1. Security Lake コンソール[https://console.aws.amazon.com/securitylake/](https://console.aws.amazon.com/securitylake/)を開きます。

   委任管理者アカウントにサインインします。

1. ページの右上隅にある AWS リージョン セレクターを使用して、サブスクライバーの詳細を編集するリージョンを選択します。

1. 左のナビゲーションペインで **[サブスクライバー]** を選択します。

1. **サブスクライバー**ページで、ラジオボタンを使用して編集するサブスクライバーを選択します。選択したサブスクライバの**データアクセス方法**は **LAKEFORMATION** でなければなりません。

1. **[編集]** を選択します。

1. 新しい**サブスクライバー名**を入力し、[**保存**] を選択します。

**サブスクライバーの説明を編集するには**  

1. Security Lake コンソール [https://console.aws.amazon.com/securitylake/](https://console.aws.amazon.com/securitylake/)を開きます。

   委任管理者アカウントにサインインします。

1. ページの右上隅にある AWS リージョン セレクターを使用して、サブスクライバーを編集するリージョンを選択します。

1. 左のナビゲーションペインで **[サブスクライバー]** を選択します。

1. **サブスクライバー**ページで、ラジオボタンを使用して編集するサブスクライバーを選択します。選択したサブスクライバの**データアクセス方法**は **LAKEFORMATION** でなければなりません。

1. **[編集]** を選択します。

1. サブスクライバーの新しい説明を入力し、[**保存**] を選択します。

**外部 ID を編集するには**  

1. Security Lake コンソール[https://console.aws.amazon.com/securitylake/](https://console.aws.amazon.com/securitylake/)を開きます。

   委任管理者アカウントにサインインします。

1. ページの右上隅にある AWS リージョン セレクターを使用して、サブスクライバーの詳細を編集するリージョンを選択します。

1. 左のナビゲーションペインで **[サブスクライバー]** を選択します。

1. **サブスクライバー**ページで、ラジオボタンを使用して編集するサブスクライバーを選択します。選択したサブスクライバの**データアクセス方法**は **LAKEFORMATION** でなければなりません。

1. **[編集]** を選択します。

1. 加入者が提供した新しい**外部 ID** を入力し、[**Save**] を選択します。

   新しい外部 ID を保存すると、以前の AWS RAM リソース共有が自動的に削除され、サブスクライバーの新しいリソース共有が作成されます。

1. サブスクライバーは、[クロスアカウントテーブル共有セットアップ (サブスクライバーステップ)](create-query-subscriber-procedures.md#grant-query-access-subscriber)のステップ 1 に従って新しいリソースシェアを受け入れる必要があります。サブスクライバーの詳細に表示される Amazon リソースネーム (ARN) が Lake Formation コンソールと同じであることを確認してください。共有テーブルへのリソースリンクはそのまま残るため、サブスクライバーは新しいリソースリンクを作成する必要はありません。

**プリンシパル (AWS アカウント ID) を編集するには**  

1. Security Lake コンソール [https://console.aws.amazon.com/securitylake/](https://console.aws.amazon.com/securitylake/) を開きます。

   委任管理者アカウントにサインインします。

1. ページの右上隅にある AWS リージョン セレクターを使用して、サブスクライバーの詳細を編集するリージョンを選択します。

1. 左のナビゲーションペインで **[サブスクライバー]** を選択します。

1. **サブスクライバー**ページで、ラジオボタンを使用して編集するサブスクライバーを選択します。選択したサブスクライバの**データアクセス方法**は **LAKEFORMATION** でなければなりません。

1. **[編集]** を選択します。

1. サブスクライバーの新しい **AWS アカウント ID** を入力し、[**Save**] を選択します。

   新しいアカウント ID を保存すると、前の AWS RAM リソース共有が自動的に削除されるため、前のプリンシパルはログソースとイベントソースを使用できません。Security Lake は新しいリソース共有を作成します。

1. サブスクライバーは、新しいプリンシパルの認証情報を使用して、新しいリソース共有を受け入れ、共有テーブルへのリソースリンクを作成する必要があります。これにより、新しいプリンシパルは共有リソースにアクセスできます。ステップについては、「[クロスアカウントテーブル共有セットアップ (サブスクライバーステップ)](create-query-subscriber-procedures.md#grant-query-access-subscriber)」のステップ1と2を参照してください。サブスクライバーの詳細に表示される ARN が Lake Formation コンソールに表示される ARN と同じであることを確認してください。

**ログソースとイベントソースを編集するには**  

1. Security Lake コンソール [https://console.aws.amazon.com/securitylake/](https://console.aws.amazon.com/securitylake/) を開きます。

   委任管理者アカウントにサインインします。

1. ページの右上隅にある AWS リージョン セレクターを使用して、サブスクライバーの詳細を編集するリージョンを選択します。

1. 左のナビゲーションペインで **[サブスクライバー]** を選択します。

1. **サブスクライバー**ページで、ラジオボタンを使用して編集するサブスクライバーを選択します。選択したサブスクライバの**データアクセス方法**は **LAKEFORMATION** でなければなりません。

1. **[編集]** を選択します。

1. 既存のソースを選択解除するか、追加するソースを選択します。ソースを選択解除すると、追加のアクションは必要ありません。ソースを追加することを選択した場合、新しいリソース共有への招待は作成されません。ただし、Security Lake は、追加されたソースに基づいて共有Lake Formation テーブルを更新します。サブスクライバーは、ソースデータをクエリできるように、更新された共有テーブルへのリソースリンクを作成する必要があります。ステップについては、「[クロスアカウントテーブル共有セットアップ (サブスクライバーステップ)](create-query-subscriber-procedures.md#grant-query-access-subscriber)」のステップ 2を参照してください。

1. [**保存**] を選択します。

------
#### [ API ]

クエリアクセス権限を持つサブスクライバーをプログラムで編集するには、Security Lake API の [UpdateSubscriber](https://docs.aws.amazon.com/security-lake/latest/APIReference/API_UpdateSubscriber.html) オペレーションを使用してください。 AWS Command Line Interface (AWS CLI) を使用している場合は、[update-subscriber](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/securitylake/update-subscriber.html) コマンドを実行します。リクエストでは、サポートされているパラメータを使用して、サブスクライバーの次の設定を指定します。
+ `subscriberName`には、新しいサブスクライバー名を指定します。
+ `subscriberDescription`には、新しい説明を指定します。
+ には`subscriberIdentity`、サブスクライバーがソースデータのクエリに使用するプリンシパル (AWS アカウント ID) と外部 ID を指定します。プリンシパル ID と外部 ID の両方を指定する必要があります。これらの値のいずれかを同じままにしておきたい場合は、現在の値を渡してください。
  + **外部 ID のみの更新** — このアクションは以前の AWS RAM リソース共有を削除し、サブスクライバー用の新しいリソース共有を作成します。サブスクライバーは、[クロスアカウントテーブル共有セットアップ (サブスクライバーステップ)](create-query-subscriber-procedures.md#grant-query-access-subscriber)のステップ 1 に従って新しいリソースシェアを受け入れる必要があります。共有テーブルへのリソースリンクはそのまま残るため、サブスクライバーは新しいリソースリンクを作成する必要はありません。
  + **プリンシパルのみの更新** – このアクションは、前のプリンシパルがログソースとイベントソースを消費できないように、前の AWS RAM リソース共有を削除します。Security Lake は新しいリソース共有を作成します。サブスクライバーは、新しいプリンシパルの認証情報を使用して、新しいリソース共有を受け入れ、共有テーブルへのリソースリンクを作成する必要があります。これにより、新しいプリンシパルは共有リソースにアクセスできます。ステップについては、「[クロスアカウントテーブル共有セットアップ (サブスクライバーステップ)](create-query-subscriber-procedures.md#grant-query-access-subscriber)」のステップ 1と2 を参照してください。

  外部 ID *と*プリンシパルを更新するには、[クロスアカウントテーブル共有セットアップ (サブスクライバーステップ)](create-query-subscriber-procedures.md#grant-query-access-subscriber)のステップ 1 と 2 に従ってください。
+ `sources`には、既存のソースを削除するか、追加するソースを指定します。ソースを削除する場合、追加のアクションは必要ありません。ソースを追加しても、新しいリソース共有への招待は作成されません。ただし、Security Lake は、追加されたソースに基づいて共有Lake Formation テーブルを更新します。サブスクライバーは、ソースデータをクエリできるように、更新された共有テーブルへのリソースリンクを作成する必要があります。ステップについては、「[クロスアカウントテーブル共有セットアップ (サブスクライバーステップ)](create-query-subscriber-procedures.md#grant-query-access-subscriber)」のステップ 2 を参照してください。

------