

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

# 許可のシナリオ例
<a name="security-permissions-example-scenario"></a>

以下のシナリオは、 AWS Lake Formationでデータへのアクセスをセキュア化するための許可をセットアップする方法の説明に役立ちます。

Shirley はデータ管理者です。Shirley は、自分の会社である AnyCompany のためにデータレイクを設定したいと考えています。現在、すべてのデータは Amazon S3 に保存されています。John はマーケティングマネージャーで、顧客の購買情報 (`s3://customerPurchases` に保存されています) に対する書き込みアクセス権が必要です。この夏、マーケティングアナリストの Diego が John の同僚になります。John には、データに対してクエリを実行するためのアクセス権を、Shirley を介さずに Diego に付与する能力が必要です。

財務部門の Mateo は、財務データ (`s3://transactions` など) をクエリするためのアクセス権が必要です。Mateo は、財務チームが使用しているデータベース (`Finance_DB`) 内のテーブルのトランザクションデータをクエリしたいと考えています。Mateo のマネージャーである Arnav は、`Finance_DB` へのアクセスを Mateo に許可できます。Mateo は、財務データの変更を許可されない場合でも、データを予測に適した形式 (スキーマ) に変換できる必要があります。このデータは、Mateo が変更できる別のバケット (`s3://financeForecasts`) に保存されます。

これを要約すると、以下のようになります。
+ Shirley はデータレイク管理者です。
+ John には、Data Catalog で新しいデータベースとテーブルを作成するための `CREATE_DATABASE` と `CREATE_TABLE` 許可が必要です。
+ John には、作成するテーブルに対する `SELECT`、`INSERT`、および `DELETE` 許可も必要です。
+ Diego には、クエリを実行するためのテーブルに対する `SELECT` 許可が必要です。

AnyCompany の従業員は、以下のアクションを実行して許可をセットアップします。このシナリオで使用される API 操作は、わかりやすくするために簡素化された構文を示しています。

1. Shirley が、顧客の購入情報が含まれる Amazon S3 パスを Lake Formation に登録します。

   ```
   RegisterResource(ResourcePath("s3://customerPurchases"), false, Role_ARN )
   ```

1. Shirley が、顧客の購入情報が含まれる Amazon S3 パスへのアクセス権を John に付与します。

   ```
   GrantPermissions(John, S3Location("s3://customerPurchases"), [DATA_LOCATION_ACCESS]) )
   ```

1. Shirley が、データベースを作成するための許可を John に付与します。

   ```
   GrantPermissions(John, catalog, [CREATE_DATABASE]) 
   ```

1. John がデータベース `John_DB` を作成します。John は、データベースを作成したことから、それに対する `CREATE_TABLE` 許可を自動的に取得します。

   ```
   CreateDatabase(John_DB)
   ```

1. John が、`s3://customerPurchases` をポイントするテーブル `John_Table` を作成します。テーブルを作成したことから、John にはテーブルに対するすべての許可があり、そのテーブルに対する許可を付与できます。

   ```
   CreateTable(John_DB, John_Table)
   ```

1. John が、アナリスト Diego にテーブル `John_Table` へのアクセスを許可します。

   ```
    GrantPermissions(Diego, John_Table, [SELECT])
   ```

1. John が、アナリスト Diego に `s3://customerPurchases/London/` へのアクセスを許可します。Shirley が `s3://customerPurchases` を登録済みであるため、そのサブフォルダーは Lake Formation に登録されています。

   ```
    GrantDataLakePrivileges( 123456789012/datalake, Diego, [DATA_LOCATION_ACCESS], [], S3Location("s3://customerPurchases/London/") )
   ```

1. John は、アナリスト Diego に対して、データベース `John_DB` のテーブルを作成することを許可します。

   ```
    GrantDataLakePrivileges( 123456789012/datalake, Diego, John_DB, [CREATE_TABLE], [] )
   ```

1. Diego は `John_DB` のテーブルを `s3://customerPurchases/London/` で作成し、`ALTER`、`DROP`、`SELECT``INSERT`、`DELETE` の許可を自動的に取得します。

   ```
    CreateTable( 123456789012/datalake, John_DB, Diego_Table )
   ```