データレイクで独自キーの利用 (BYOK)

[更新:2026年03月17日]

security_byok

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"
}
DataLake resource group

Azure Key Vault の作成と RBAC の付与

Azure Key Vault の作成
  • 「+作成」を選択し、Azure Key Vault の作成を開始します。

CreateKeyVault1 CreateKeyVault2
  • 以下のように情報を入力し、「確認および作成」を選択します。

    • サブスクリプション:「gov_cloud_user_dev_subscription」を選択

    • リソースグループ:データレイクが作成されたリソースグループを選択

    • Key Vault名:任意の名前を入力

    • 地域:「Japan East」を選択

    • 価格レベル:「標準」を選択

    • 消去保護:「消去保護を有効にする」を選択

CreateKeyVault3
  • 入力内容を確認し、「作成」を選択します。Azure Key Vault が作成されるまで数分かかります。

CreateKeyVault4
自身にRBACを付与
  • 作成した Azure Key Vault のリソースに移動し、「アクセス制御(IAM)」を選択し、「+追加」から「ロールの割り当ての追加」を選択します。

AssignKeyVaultAdministrator1
  • 職務ロールから「キー コンテナー管理者」を選択し、次へ進みます。

AssignKeyVaultAdministrator2
  • アクセスの割り当て先に「ユーザー、グループ、またはサービスプリンシパル」を選択し、「メンバーの選択」からガバメントクラウド利用者グループを選択し、次へ進みます。

AssignKeyVaultAdministrator3
  • 内容を確認し、「レビューと割り当て」を選択します。

AssignKeyVaultAdministrator4
データレイクのマネージド ID へRBACを付与
  • 「自身にRBACを付与」と同様に、データレイクのマネージドIDに対して「キーコンテナー暗号化ユーザー」のRBACを付与します。

AssignKeyVaultCryptoUser1 AssignKeyVaultCryptoUser2

キーの登録

  • 作成した Azure Key Vault のリソースの「キー」に移動し、「+生成/インポート」を選択します。

CreateKey1
  • 以下のように情報を入力し、「作成」を選択します。(下記以外は初期値でよい)

    • オプション:「作成」を選択

    • 名前:任意の名前を入力

    • キーの種類:「RSA」を選択

    • キーのサイズ:「2048」を選択

CreateKey2
  • キーが作成されたことを確認します。

CreateKey3

データレイクのカスタマーマネージドキーの設定

  • 作成した Azure Data Lake Storage Gen2 のリソースに移動し、「暗号化」から「カスタマーマネージドキー」を選択します。

SetCustomerManagedKey1
  • 「キーコンテナーとキーを選択する」から、暗号化キーに使用するキーを選択します。

SetCustomerManagedKey2
  • キー格納の種類に「キーコンテナー」を選択し、作成した Azure Key Vault および登録したキーを選択します。

SetCustomerManagedKey3
  • ID の種類に「システム割り当て」を選択し、保存を行います。

SetCustomerManagedKey4
  • カスタマーマネージドキーが設定されたことを確認します。

SetCustomerManagedKey5