データレイクで独自キーの利用 (BYOK)
[更新:2026年03月17日]
BYOK(Bring Your OwnKey)とは、クラウドサービスで利用する暗号化キーをクラウド側ではなく利用者自身が持ち込んで管理する方式です。データ暗号化に使う鍵を自社で生成・保管できるため、セキュリティ統制・コンプライアンス・監査対応が強化されます。
この利用例では、データレイクを独自キーで暗号化し、鍵保管基盤と連携して高度なデータ保護を実現します。自社主導の鍵管理により、セキュリティ強化、監査対応の向上、クラウド利用時の統制確保と安心感を同時に提供します。
各機能のサービス対応
機能 |
対応サービス |
|---|---|
データレイク |
Azure Data Lake Storage Gen2 |
シークレット管理 |
Azure Key Vault |
構築手順
Add-onでのリソース作成
Add-onでのリソースを作成します。
データレイク機能
Add-on の 「データレイク機能」API を利用して Azure Data Lake Storage Gen2 を作成します。
TOKEN='<your-api-token>'
#POST
curl -v \
--location 'https://secure.sakura.ad.jp/cloud-test/zone/is1y/api/addon/1.0/analytics/datalake' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header "Authorization: Basic $TOKEN" \
--data '{
"location": "japaneast",
"performance": 1,
"redundancy": 1
}'
データレイクのマネージドIDの構成
作成した Azure Data Lake Storage Gen2 のマネージド IDを有効化するために、Azure CLI にて以下のコマンドを実行します。(ポータルでの操作は不可)
TENANT_ID={テナントID}
GOV_CLOUD_SUBSCRIPTION_ID={ガバメントクラウドに紐づけるサブスクリプションのID}
RESOURCE_GROUP_NAME={データレイクのリソースグループ名}
DATA_LAKE_NAME={データレイク名}
# ログイン
az login --tenant $TENANT_ID
az account set --subscription $GOV_CLOUD_SUBSCRIPTION_ID
# データレイクのマネージド ID を有効化
az storage account update --identity SystemAssigned -g $RESOURCE_GROUP_NAME -n $DATA_LAKE_NAME
Azure ポータル上での設定
Azureポータル側で設定を実施します。
データレイクのリソースグループへのアクセス
Add-on の 「データレイク機能」API を利用して Azure Data Lake Storage Gen2 の情報を取得します。
TOKEN='<your-api-token>'
#GET
curl -v \
--location 'https://secure.sakura.ad.jp/cloud-test/zone/is1y/api/addon/1.0/analytics/datalake/rg-g3xxt5wzzksxw' \
--header 'Accept: application/json' \
--header "Authorization: Basic $TOKEN"
レスポンスボディの
"url"をブラウザで開き、ガバメントクラウド利用者のアカウントで Azureポータルにログインします。
{
"data": {
"sku": {
"name": "Standard_LRS",
"tier": "Standard"
},
"kind": "StorageV2",
"id": "/subscriptions/7cc33115-0b1e-4673-87b5-1bf05712c34b/resourceGroups/rg-g3xxt5wzzksxw/providers/Microsoft.Storage/storageAccounts/ste5c47u3da7ls6",
"name": "ste5c47u3da7ls6",
// 中略
},
"url": "https://portal.azure.com/#@sacloud03.onmicrosoft.com/resource/subscriptions/7cc33115-0b1e-4673-87b5-1bf05712c34b/resourceGroups/rg-g3xxt5wzzksxw"
}
Azure Key Vault の作成と RBAC の付与
Azure Key Vault の作成
「+作成」を選択し、Azure Key Vault の作成を開始します。
以下のように情報を入力し、「確認および作成」を選択します。
サブスクリプション:「gov_cloud_user_dev_subscription」を選択
リソースグループ:データレイクが作成されたリソースグループを選択
Key Vault名:任意の名前を入力
地域:「Japan East」を選択
価格レベル:「標準」を選択
消去保護:「消去保護を有効にする」を選択
入力内容を確認し、「作成」を選択します。Azure Key Vault が作成されるまで数分かかります。
自身にRBACを付与
作成した Azure Key Vault のリソースに移動し、「アクセス制御(IAM)」を選択し、「+追加」から「ロールの割り当ての追加」を選択します。
職務ロールから「キー コンテナー管理者」を選択し、次へ進みます。
アクセスの割り当て先に「ユーザー、グループ、またはサービスプリンシパル」を選択し、「メンバーの選択」からガバメントクラウド利用者グループを選択し、次へ進みます。
内容を確認し、「レビューと割り当て」を選択します。
データレイクのマネージド ID へRBACを付与
「自身にRBACを付与」と同様に、データレイクのマネージドIDに対して「キーコンテナー暗号化ユーザー」のRBACを付与します。
キーの登録
作成した Azure Key Vault のリソースの「キー」に移動し、「+生成/インポート」を選択します。
以下のように情報を入力し、「作成」を選択します。(下記以外は初期値でよい)
オプション:「作成」を選択
名前:任意の名前を入力
キーの種類:「RSA」を選択
キーのサイズ:「2048」を選択
キーが作成されたことを確認します。
データレイクのカスタマーマネージドキーの設定
作成した Azure Data Lake Storage Gen2 のリソースに移動し、「暗号化」から「カスタマーマネージドキー」を選択します。
「キーコンテナーとキーを選択する」から、暗号化キーに使用するキーを選択します。
キー格納の種類に「キーコンテナー」を選択し、作成した Azure Key Vault および登録したキーを選択します。
ID の種類に「システム割り当て」を選択し、保存を行います。
カスタマーマネージドキーが設定されたことを確認します。