Datazone（GA版）の検証

# アジェンダ
1.　概要
2.　前提
3.　実装方法
4.　追加検証
5.　所感
6.　さいごに

---
# 概要
AWSはAmazon DataZone(以下DataZone)の一般提供を開始しました。
Datazoneでは以下のようなことができると発表されています。
・組織の枠を越えてデータを大規模にカタログ化、発見、分析、共有、管理
・データプロデューサー(※)とコンシューマー(※)がより安全にデータを共有
(※)：データプロデューサー：管理者
(※)：コンシューマー：利用者 

本記事ではDataZoneの使用方法や、
AWS内の他のサービスとの権限の干渉の有無について検証しております。

 ---
 **Datazoneとは** 
 Datazoneを簡単な図にしました。
 散在するデータを管理者がDatazone上でカタログ化し、一元管理ができます。利用者は申請をするだけでプロジェクト内のデータを分析することができます。また、用語集を作成することができるため、ユーザによってより易しくなるといえます。
 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2737479/4423340d-6fa3-abb2-242e-542a9ecfa5d4.png)

---
# 前提
・アジアパシフィック (東京)
　※IAMはDatazoneのドメインと同じリージョンに設定する必要あり
 ・AWSにアクセスできる環境があること
 　※ユーザのセットアップなどは省略

 ---
 # 実装方法
基本[こちら](https://docs.aws.amazon.com/ja_jp/datazone/latest/userguide/setting-up.html)を参考に実装しております。
①AWSにユーザがありログインできることを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2737479/2c1a267c-06cf-859b-c7b5-187615a5f2c4.png)

---
②今回必要な権限をまとめたユーザグループを作成するため
検証ユーザをそのユーザグループに追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2737479/2fe7265a-936b-9678-a15d-61498ede8a5f.png)
Datazoneのフルアクセスを付与します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2737479/b4675ce4-a3dd-4347-f2d6-a22c79525572.png)

---
③Amazon DataZoneがユーザーに代わってAWSマネジメントコンソールで必要なロールを作成できる権限を付与します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2737479/648ecdfc-4974-c1f4-41ea-6030994f6101.png)

---
④ドメインのリソース共有を一覧表示、承認、拒否するために必要なアクセス許可を付与します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2737479/47d09152-516e-ef4f-45b3-0b40dba519dc.png)

---
⑤AWS 認証情報を使用してデータポータルにアクセスするために必要なアクセス許可を付与します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2737479/713329a5-d1e7-67ba-8a9b-5ba9d76a54ed.png)

---
⑥Redshiftにクラスターを構築しサンプルデータを格納する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2737479/85e1c8fb-f84b-b68a-cd54-e7315592f941.png)

---
⑦DatazoneとRedshiftの接続にはシークレットアクセスキーが必要となるためSecretsManagerでキーを作成する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2737479/7fcd13f8-9889-3245-fb48-be6ffd17e1d3.png)

---
⑧Datazoneでドメインを作成する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2737479/e0211682-7f04-ce30-db18-4f8c28275351.png)

---
⑨ドメインが作成できたことを確認する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2737479/6672a8d3-b914-bbf3-8171-a0309b94fee4.png)

---

⑩ドメインの下にプロジェクトを作成する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2737479/4d4abd81-7ea1-2417-1b72-d62097538085.png)

---

⑪プロジェクトが作成できたことを確認する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2737479/7e65e191-1818-9445-61bf-5fcd5a04a266.png)

---

⑫AWSアカウントと紐づいていることを確認する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2737479/eb862761-e3a8-8e5e-9ff9-47108cf164a0.png)

---

⑬環境プロファイルを作成する
※環境を作成するために必要なフォーマットのようなもの
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2737479/a0690368-a192-a28a-ac1f-80115bc34bbc.png)



---

⑭環境を作成する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2737479/7b4a07f9-12b6-9d5c-7ce0-22964db506ee.png)

---

⑮Redshiftにサンプルデータなどを用いてテストテーブルを作成する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2737479/fa4961b7-b5a9-123e-7464-d7a135d6a9e7.png)

---

⑯テーブル内の項目名でアセットを検索が可能
![項目名検索.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3307796/86d642f9-77bc-c738-d3ba-599a35401101.png)

---

⑰フィルターを利用することで検索が容易に
![フィルター.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3307796/4b6d0d73-d97d-e77f-1349-5d42bbdef4c9.png)

---

⑱サブスクライブを申請
→サブスクライブをすることで他のアカウントにテーブルのアクセス権限を付与
![スクリーンショット 2024-01-19 181126.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3307796/86d38fba-76ae-a985-5241-a86ab2dbee14.png)



---

⑲プロジェクト名とリクエストの理由を記入しサブスクライブを申請
![サブスクライブ申請.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3307796/903b3474-6d93-0b1d-9c92-2f6b1b08e164.png)

---

⑳プロジェクト作成者がサブスクライブを承認
![sabusuku.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3307796/573a038b-bc40-6729-8d42-11aae2405ee4.png)

---

㉑サブスクライブ申請者側で承認を確認
![承認確認.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3307796/d3d01800-ded1-f665-e106-c0982cbfc175.png)

---

㉒サブスクライブ承認後、Redshiftに接続が可能に
![サブスクライブ承認後.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3307796/4ce7b400-2ce9-eb79-d97f-9ae633d14a23.png)


---

㉓クエリエディタに移動
![Redshift.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3307796/c885e9ba-bd06-6bd6-2b7b-d569e896a6d7.png)

---

㉔下記の設定で接続
![接続.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3307796/e2ea4272-338c-b948-25ee-35c018f53d21.png)

---

㉕テーブルに接続が可能に
![クエリエディタ接続.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3307796/d1e3eb87-475f-339a-2230-235de31a6a70.png)

---
# 追加検証
追加検証として以下の内容を検証した。
1. Redshiftへ接続するIAM権限がないユーザーが、
Datazone側のサブスクライブの有無で接続可能になるのか

2. テーブルへ接続ができないユーザーが、
Datazone側のサブスクライブの有無で接続可能になるのか

---

1： Redshiftへ接続するIAM権限がないユーザーが、
Datazone側のサブスクライブの有無で接続可能になるのか
→IAM権限がないユーザーでも接続が可能
→ユーザーがDatazone由来のユーザーでログインしているため
→サブスクライブが承認されていない場合は接続不可
![追加検証①.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3307796/ffe30a1f-cc41-e70e-dfaf-32bef30af477.png)

---

2： テーブルへ接続ができないユーザーが、
Datazone側のサブスクライブの有無で接続可能になるのか
→テーブルに権限がないユーザーでも接続が可能
→ユーザーがDatazone由来のユーザーでログインしているため
→サブスクライブが承認されていない場合は接続不可
![追加検証①.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3307796/ffe30a1f-cc41-e70e-dfaf-32bef30af477.png)

---
# 所感
・Datazoneのサブスクライブでテーブルのアクセス可否を一括管理ができる
→適切なユーザーが適切な目的で適切なデータにアクセスできるように
→操作性も非常に簡単

・プロジェクト全体でデータアセットを一元管理できる
→データが散在することがなくなる

・AWS Glue Data Catalogと異なりデータを同期する頻度や
　連携するテーブルなどの内容を自由に設定可能



  ---
 # さいごに
 株式会社ジールでは、「ITリテラシーがない」「初期費用がかけられない」「親切・丁寧な支援がほしい」「ノーコード・ローコードがよい」「運用・保守の手間をかけられない」などのお客様の声を受けて、オールインワン型データ活用プラットフォーム「ZEUSCloud」を月額利用料にてご提供しております。
ご興味がある方は是非下記のリンクをご覧ください：
https://www.zdh.co.jp/products-services/cloud-data/zeuscloud/?utm_source=qiita&utm_medium=referral&utm_campaign=qiita_zeuscloud_content-area