1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Microsoft Fabric データパイプラインで Azure Blob Storage にデータを書きこむベストプラクティス

Last updated at Posted at 2025-02-27

はじめに

運用環境レベルでデータパイプラインによる Azure Blob または ADLS 出力をする場合のベストプラクティスを紹介します。

Azure Blob Storage のセキュリティ構成

認証のベストプラクティス: Azure Blob Storage への Entra ID認証

Azure Blob ストレージには キー認証(Shared Key) と ID ベース認証(Microsoft Entra ID 認証) の2種類のアクセス方法があります。
セキュリティの観点から、Microsoft は ID ベース認証を推奨しています。

Microsoft Entra ID を使用して BLOB データへのアクセスを承認する

引用:https://learn.microsoft.com/ja-jp/azure/storage/blobs/security-recommendations

したがって以下の Azure RBAC ロールを割り当てる必要があります。

image.png

または、Azure Data Lake Storage のアクセス制御モデル に記載のより細かな粒度でのアクセス制御を利用します

これらのロールには Data Actions が含まれるため blob の操作が可能です。

image.png
引用:https://learn.microsoft.com/ja-jp/azure/role-based-access-control/built-in-roles/storage#storage-blob-data-contributor

参考

所有者や、共同作成者には Data Actions の権限はありません。 Azure Portal ではこれらの特権ロールが自動的にアカウントキーを取得してデータのアップロードなどの操作を助ける機能が組み込まれています。

アカウントキーで認証しているとき(誰がアクセスしたかは不明となります)

image.png

Blob Data Actions の権限を用いて参照しているとき(誰がアクセスしたかが記録可能です)
image.png

Entra ID 認証でのアクセスをベースラインにしていた場合、

推奨事項の一つである、

共有キーによる認可を禁止する

引用:https://learn.microsoft.com/ja-jp/azure/storage/blobs/security-recommendations

についても適用可能となります。

ネットワークセキュリティのベストプラクティス

全てのネットワークアクセスではなく、選択した仮想ネットワークと IP アドレスから有効 か、無効にします。

ファイアウォール規則を有効にする
引用:https://learn.microsoft.com/ja-jp/azure/storage/blobs/security-recommendations

image.png

※無効にした場合には今回紹介する方法は採用不可となります。プライベートエンドポイントにアクセス可能なオンプレミスデータゲートウェイなどを使用してください。

手順

実際に Fabric データパイプラインでデータを書き込むための構成をしていきます。

セキュアなストレージへのアクセス機能として、 信頼されたワークスペース アクセス を使用します。

1. ワークスペース ID の構成

Fabric ワークスペースの設定から、ワークスペース ID の作成を選択します。

image.png

作成が完了したら、url から workspace の id をメモします。

image.png

この画面に表れている 2 つの ID は以下のような役割を持ちます。

対象 役割
URL上のID Azure リソースインスタンスとしての ID
ワークスペース ID 機能で生成した ID ストレージなどに認証を行うときに利用できるサービスプリンシパルとしての ID

2. ストレージの構成

Entra ID 認可

ストレージ Blog 共同作成者ロールを ワークスペース ID に割り当てます。ワークスペース名で検索が可能です

image.png

割当が完了しました。

image.png

ネットワーク認可

ネットワーク認可の方法には、以下の 2 通りがあります。

テナント全体で許可(すべてのワークスペースを許可するシンプルな方法)
特定のワークスペースのみ許可(セキュリティを強化した方法)

テナント全体で許可

同一テナントのワークスペースからのアクセスは全て許可する場合にはこちらが簡単です。

ネットワーク設定にて、Microsoft.Fabric/workspaces に類するリソースインスタンスを現在のテナント内のすべてで許可します。

image.png

特定のワークスペースのみ許可

以下の ARM テンプレートを使用します。<>は置き換える必要があります。

ARMテンプレート

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [
        {
            "type": "Microsoft.Storage/storageAccounts",
            "apiVersion": "2023-01-01",
            "name": "<storage account name>",
            "id": "/subscriptions/<subscription id of storage account>/resourceGroups/<resource group name>/providers/Microsoft.Storage/storageAccounts/<storage account name>",
            "location": "<region>",
            "kind": "StorageV2",
            "properties": {
                "networkAcls": {
                    "resourceAccessRules": [
                        {
                            "tenantId": "<tenantid>",
                            "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/Fabric/providers/Microsoft.Fabric/workspaces/<workspace-id>"
                        }]
                }
            }
        }
    ]
}

引用:https://learn.microsoft.com/ja-jp/fabric/security/security-trusted-workspace-access#arm-template-sample

json の修正は面倒なので、 Deploy ボタンを作りました。対象のストレージアカウントのあるリソースグループを選択し、ストレージアカウント名称と URL から取得した ID を使用してデプロイしてください。

Deploy to Azure

設定を完了すると、以下のようになります。

image.png

3. データパイプラインの作成

コピーアシスタントで作成していきます。

image.png

サンプルデータを使います。

image.png

Azure Data Lake を選択

image.png

Azure 上でリソースへの権限があれば、 Azure タブから選択できますが後述のワークスペース ID 認証とならず、個人に紐づいた接続が作成されるため、変更が必要となります。

image.png

url を設定し、認証の種類をワークスペース ID にします。

image.png

url はエンドポイントタブから確認可能です。

image.png

任意のエンドポイントであて先を設定します。

image.png

詳細設定とレビューを行い、

image.png

image.png

コピーアクティビティが完成し、実行ができます。

image.png

ファイルを確認できます。

image.png

以上です。ご活用ください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?