Azure Storage BLOB のインベントリ レポートを有効にする
- [アーティクル]
-
-
Azure Storage BLOB インベントリ機能により、ストレージ アカウント内のご自身のコンテナー、BLOB、スナップショット、BLOB バージョンの概要が提供されます。 インベントリ レポートを使用すると、ご自身の合計データ サイズ、経過日数、暗号化の状態、不変ポリシー、訴訟ホールドなど、BLOB とコンテナーのさまざまな属性を把握できます。 このレポートには、ビジネス要件とコンプライアンス要件に関するデータの概要が示されます。
BLOB インベントリ レポートの詳細については、Azure Storage BLOB インベントリに関するページをご覧ください。
BLOB インベントリ レポートを有効にするには、1 つ以上のルールが含まれるポリシーを、ストレージ アカウントに追加します。 ポリシーを追加、編集、または削除するには、Azure portal を使用します。
インベントリ レポートを有効にする
Azure ポータルにサインインして、作業を開始します。
ストレージ アカウントを見つけて、アカウントの概要を表示します。
[データ管理] で、 [BLOB インベントリ] を選択します。
[Add your first inventory rule](最初のインベントリルールを追加する) を選択します。
[ルールの追加] ページが表示されます。
[ルールの追加] ページで、ご自身の新しいルールに名前を付けます。
インベントリ レポートを保存するコンテナーを選択します。
[Object type to inventory](インベントリのオブジェクトの種類) で、BLOB とコンテナーのどちらのレポートを作成するかを選択します。
[BLOB] を選択した場合は、 [Blob subtype](BLOB のサブタイプ) の下で、レポートに含める BLOB の種類と、BLOB バージョンまたはスナップショット、あるいはその両方をインベントリ レポートに含めるかを選択します。
Note
BLOB バージョンを含めるオプションは、階層型名前空間機能が有効になっていないアカウントにのみ表示されます。
これらのオプションを有効にして新しいルールを保存するには、それぞれバージョンとスナップショットがアカウントで有効になっている必要があります。
ご自身のレポートに含めるフィールドと、そのレポートの形式を選択します。
レポートを生成する頻度を選択します。
必要に応じて、ご自身のインベントリ レポート内で BLOB をフィルター処理するためのプレフィックスの一致を追加します。
[保存] を選択します。
Azure PowerShell モジュールを使用して、ポリシーを追加、編集、または削除することができます。
Windows PowerShell コマンド ウィンドウを開きます。
最新の Azure PowerShell モジュールがあることを確認します。 「Azure PowerShell モジュールをインストールする」を参照してください。
Connect-AzAccount
コマンドを使用して Azure サブスクリプションにサインインし、画面上の指示に従います。
Connect-AzAccount
自分の ID が複数のサブスクリプションに関連付けられている場合は、アクティブなサブスクリプションを設定します。
$context = Get-AzSubscription -SubscriptionId <subscription-id>
Set-AzContext $context
<subscription-id>
プレースホルダーの値をサブスクリプションの ID に置き換えます。
使用するストレージ アカウントを定義するストレージ アカウント コンテキストを取得します。
$storageAccount = Get-AzStorageAccount -ResourceGroupName "<resource-group-name>" -AccountName "<storage-account-name>"
$ctx = $storageAccount.Context
New-AzStorageBlobInventoryPolicyRule コマンドを使用して、インベントリ ルールを作成します。 ルールごとにレポート フィールドが一覧表示されます。 レポート フィールドの完全な一覧については、Azure Storage BLOB インベントリに関するページをご覧ください。
$containerName = "my-container"
$rule1 = New-AzStorageBlobInventoryPolicyRule -Name Test1 -Destination $containerName -Disabled -Format Csv -Schedule Daily -PrefixMatch con1,con2 `
-ContainerSchemaField Name,Metadata,PublicAccess,Last-modified,LeaseStatus,LeaseState,LeaseDuration,HasImmutabilityPolicy,HasLegalHold
$rule2 = New-AzStorageBlobInventoryPolicyRule -Name test2 -Destination $containerName -Format Parquet -Schedule Weekly -BlobType blockBlob,appendBlob -PrefixMatch aaa,bbb `
-BlobSchemaField name,Last-Modified,Metadata,LastAccessTime
$rule3 = New-AzStorageBlobInventoryPolicyRule -Name Test3 -Destination $containerName -Format Parquet -Schedule Weekly -IncludeBlobVersion -IncludeSnapshot -BlobType blockBlob,appendBlob -PrefixMatch aaa,bbb `
-BlobSchemaField name,Creation-Time,Last-Modified,Content-Length,Content-MD5,BlobType,AccessTier,AccessTierChangeTime,Expiry-Time,hdi_isfolder,Owner,Group,Permissions,Acl,Metadata,LastAccessTime
$rule4 = New-AzStorageBlobInventoryPolicyRule -Name test4 -Destination $containerName -Format Csv -Schedule Weekly -BlobType blockBlob -BlobSchemaField Name,BlobType,Content-Length,Creation-Time
Set-AzStorageBlobInventoryPolicy を使用して、BLOB インベントリ ポリシーを作成します。 -Rule
パラメーターを使用して、このコマンドにルールを渡します。
$policy = Set-AzStorageBlobInventoryPolicy -StorageAccount $storageAccount -Rule $rule1,$rule2,$rule3,$rule4
Azure CLI を使用して、ポリシーを追加、編集、または削除できます。
まず、Azure Cloud Shell を開きます。または、Azure CLI をローカルにインストールした場合は、Windows PowerShell などのコマンド コンソール アプリケーションを開きます。
自分の ID が複数のサブスクリプションに関連付けられている場合は、アクティブなサブスクリプションを設定します。
az account set --subscription <subscription-id>
<subscription-id>
プレースホルダーの値をサブスクリプションの ID に置き換えます。
JSON ドキュメント内でご自身のポリシーのルールを定義します。 policy.json
という名前の JSON ファイルの例のコンテンツを次に示します。
{
"enabled": true,
"type": "Inventory",
"rules": [
{
"enabled": true,
"name": "inventoryPolicyRule2",
"destination": "mycontainer",
"definition": {
"filters": {
"blobTypes": [
"blockBlob"
],
"prefixMatch": [
"inventoryprefix1",
"inventoryprefix2"
],
"includeSnapshots": true,
"includeBlobVersions": true
},
"format": "Csv",
"schedule": "Daily",
"objectType": "Blob",
"schemaFields": [
"Name",
"Creation-Time",
"Last-Modified",
"Content-Length",
"Content-MD5",
"BlobType",
"AccessTier",
"AccessTierChangeTime",
"Snapshot",
"VersionId",
"IsCurrentVersion",
"Metadata"
]
}
}
]
}
az storage account blob-inventory-policy create コマンドを使用して、BLOB インベントリ ポリシーを作成します。 --policy
パラメーターを使用して、ご自身の JSON ドキュメントの名前を指定します。
az storage account blob-inventory-policy create -g myresourcegroup --account-name mystorageaccount --policy @policy.json
インベントリ レポートを無効にする
個々のレポートを無効にできるだけでなく、BLOB インベントリがまったく実行されないようにすることもできます。
Azure portal にサインインします。
ストレージ アカウントを見つけて、アカウントの概要を表示します。
[データ管理] で、 [BLOB インベントリ] を選択します。
[Blob inventory settings]\(BLOB インベントリの設定\) を選択し、[Blob inventory settings]\(BLOB インベントリの設定\) ウィンドウで、[BLOB インベントリを有効にする] チェック ボックスをオフにし、[保存] を選択します。
[BLOB インベントリを有効にする] チェック ボックスをオフにすると、すべての BLOB インベントリ実行が中断されます。 インベントリの実行を再開する場合は、後でこのチェック ボックスをオンにできます。
オプションであるアクセス時間の追跡を有効にする
BLOB アクセス時間の追跡を有効にすることを選択できます。 アクセス時間の追跡を有効にすると、BLOB が読み取りまたは書き込み操作で最後にアクセスされた時刻に基づいて、インベントリ レポートに LastAccessTime フィールドが含められます。 読み取りアクセス待ち時間への影響を最小限に抑えるために、過去 24 時間の最初の読み取りのみが最終アクセス時刻を更新します。 同じ 24 時間内のその後の読み取りでは、最終アクセス時刻は更新されません。 読み取り間で BLOB が変更された場合、最終アクセス時刻は 2 つの値のうち新しい方になります。
Azure portal で最終アクセス時刻の追跡を有効にするには、次の手順に従います。
Azure portal にサインインします。
ストレージ アカウントを見つけて、アカウントの概要を表示します。
[データ管理] で、 [BLOB インベントリ] を選択します。
[Blob inventory settings]\(BLOB インベントリの設定\) を選択し、[Blob inventory settings]\(BLOB インベントリの設定\) ウィンドウで [Enable last access tracking]\(最終アクセス追跡\) チェック ボックスをオンにします。
PowerShell で最終アクセス時刻の追跡を有効にするには、次の例に示すように、Enable-AzStorageBlobLastAccessTimeTracking コマンドを呼び出します。 山かっこ内のプレースホルダーをお客様独自の値に置き換えてください。
# Initialize these variables with your values.
$rgName = "<resource-group>"
$accountName = "<storage-account>"
Enable-AzStorageBlobLastAccessTimeTracking -ResourceGroupName $rgName `
-StorageAccountName $accountName `
-PassThru
Azure CLI で最終アクセス時刻の追跡を有効にするには、次の例に示すように、az storage account blob-service-properties update コマンドを呼び出します。 山かっこ内のプレースホルダーをお客様独自の値に置き換えてください。
az storage account blob-service-properties update \
--resource-group <resource-group> \
--account-name <storage-account> \
--enable-last-access-tracking true
次のステップ