前提
・利用環境:Databricks、AWS
参考ヘルプ
目次
- メタストア用のS3を作成
- IAMロールを作成
- メタストアを作成
手順
1.メタストア用のS3を作成
1)AWS上で、S3を作成
2)「バケットを作成」をクリック
3)下記の内容を参考にバケットを作成
2.IAMロールを作成
1)AWS上で、IAMロールをクリック
2)「ロール」→「ロールを作成」をクリック
3)「カスタム信頼ポリシー」を選択し、カスタム信頼ポリシーに以下の内容を貼り付ける
- 次の内容を置き換える
- "0000":DatabricksのアカウントID
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::414351767826:role/unity-catalog-prod-UCMasterRole-14S5ZJVKOTYTL"
]
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"sts:ExternalId": "0000"
}
}
}]
}
4)「次へ」→「次へ」→ロール名を入力し、「ロールを作成」をクリック
- 例:
- ロール名:ho-db-uc-role
- 説明:ho-db-uc-role
5)作成したロールを開き、ARNをコピーする
6)「信頼関係」タブ→「信頼ポリシーを編集」をクリック
7)プリンシパルを追加の横の「追加」をクリック
8)「プリンシパルタイプ」から「IAM Roles」を選択し、コピーしたARNを貼り付ける
9)「プリンシパルを追加」をクリック
10)「ポリシーを更新」をクリック
11)「許可」タブ→「許可を追加」→「インラインポリシーを作成」をクリック
12)「JSON」タブをクリック
13)以下のポリシーを貼り付けし、下記を参考に置き換える
- 次の内容を置き換える
- <BUCKET>:上の手順で作成したバケット名
- arn:aws:iam::<AWS-ACCOUNT-ID>:role/<AWS-IAM-ROLE-NAME>:上の手順で作成したIAMロールのARN
- KMSの部分:暗号化キーを設定しない場合は、{}塊を削除する
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:DeleteObject",
"s3:ListBucket",
"s3:GetBucketLocation"
],
"Resource": [
"arn:aws:s3:::<BUCKET>/*",
"arn:aws:s3:::<BUCKET>"
],
"Effect": "Allow"
},
{
"Action": [
"kms:Decrypt",
"kms:Encrypt",
"kms:GenerateDataKey*"
],
"Resource": [
"arn:aws:kms:<KMS-KEY>"
],
"Effect": "Allow"
},
{
"Action": [
"sts:AssumeRole"
],
"Resource": [
"arn:aws:iam::<AWS-ACCOUNT-ID>:role/<AWS-IAM-ROLE-NAME>"
],
"Effect": "Allow"
}
]
}
14)「次へ」をクリック
15)ポリシー名を入力し、「ポリシーの作成」をクリック
3.メタストアを作成
1)Databricksの管理画面にサインインする
2)「カタログ」→「メタストアを作成する」をクリック
3)以下の内容を設定し、「作成」をクリック
- 例
4)「IAMロールを設定する」画面で、「IAMロールが設定されました」をクリック
5)アタッチするワークスペースを割り当てる。(ない場合は、Skip)をクリック
6)「おめでとうございます」画面で、「閉じる」をクリック
以上