次の方法で共有


Log Analytics ワークスペースでテーブル レベルの読み取りアクセスを管理する

テーブル レベルのアクセス設定を使うと、テーブルのデータに対する読み取り専用アクセス許可を、特定のユーザーまたはグループに付与できます。 テーブル レベルの読み取りアクセス権を持つユーザーは、ワークスペースとリソース コンテキストの両方で、指定されたテーブルからデータを読み取ることができます。

この記事では、テーブル レベルの読み取りアクセスを管理する 2 つの方法について説明します。

Note

ここで説明する 1 番目の方法を使うことをお勧めします。現在、これはプレビュー段階です。 プレビュー段階では、ここで説明した推奨される方法は、Microsoft Sentinel 検出ルールには適用されません。これは、意図したよりも多くのテーブルにアクセスできる可能性があります。 または、カスタム ログ テーブルに関連する制限がいくつかある、テーブル レベルの読み取りアクセスを設定する従来の方法を使用することもできます。 いずれかの方法を使用する前に、「テーブル レベルのアクセスに関する考慮事項と制限事項」を参照してください。

テーブル レベルの読み取りアクセスを設定する (プレビュー)

テーブル レベルの読み取りアクセスを付与するには、ユーザーに以下の 2 つのロールを割り当てる必要があります。

  • ワークスペース レベル - ワークスペースの詳細を読み取り、ワークスペースでクエリを実行するための制限付きアクセス許可を付与するカスタム ロールですが、どのテーブルからもデータを読み取りません。
  • テーブル レベル - 特定のテーブルを範囲とする [閲覧者] ロール。

Log Analytics ワークスペースへの制限付きアクセス許可をユーザーまたはグループに付与するには:

  1. テーブル内のデータに対する読み取りアクセス権は付与されずに、ワークスペース レベルでカスタム ロールを作成して、ユーザーがワークスペースの詳細を読み取り、ワークスペースでクエリを実行できるようにします。

    1. ワークスペースに移動し、[アクセス制御 (IAM)]>[ロール] を選択します。

    2. [閲覧者] ロールを右クリックし、[複製] を選択します。

      [アクセス制御] 画面の [ロール] タブを示すスクリーンショット。[閲覧者] ロールの [複製] ボタンが強調表示されています。

      これにより、[カスタム ロールの作成] 画面が開きます。

    3. 画面の [基本] タブで、次の操作を行います。

      1. [カスタム ロール名] に値を入力し、必要に応じて説明を入力します。
      2. [ベースラインのアクセス許可][最初から行う] に設定します。

      [カスタム ロールの作成] 画面の [基本] タブを示すスクリーンショット。[カスタム ロール名] フィールドと [説明] フィールドが強調表示されています。

    4. [JSON] タブ>[編集] の順に選択します。

      1. "actions" セクションで、次のアクションを追加します。

        "Microsoft.OperationalInsights/workspaces/read",
        "Microsoft.OperationalInsights/workspaces/query/read" 
        
      2. "not actions" のセクションで、次を追加します。

        "Microsoft.OperationalInsights/workspaces/sharedKeys/read"
        

      [カスタム ロールの作成] 画面の [JSON] タブを示すスクリーンショット。JSON ファイルの [操作] セクションが強調表示されています。

    5. 画面の下部にある [保存]>[確認と作成] を選択し、その後、次のページで [作成] を選択します。

  2. 関連する以下のユーザーにカスタム ロールを割り当てます。

    1. [アクセス制御 (AIM)]>[追加]>[ロールの割り当ての追加] の順に選択します。

      [ロールの割り当ての追加] ボタンが強調表示された [アクセス制御] 画面を示すスクリーンショット。

    2. 作成したカスタム ロールを選択し、[次へ] を選択します。

      [ロールの割り当ての追加] 画面にカスタム ロールが表示され、[次へ] ボタンが強調表示されているスクリーンショット。

      これにより、[カスタム ロールの割り当ての追加] 画面の [メンバー] タブが開きます。

    3. [+ メンバーの選択] をクリックして、[メンバーの選択] 画面を開きます。

      [メンバーの選択] 画面を示すスクリーンショット。

    4. ユーザーを検索して選択し、[選択] をクリックします。

    5. [確認と作成] を選択します。

ユーザーはワークスペースの詳細を読み取ってクエリを実行できるようになりましたが、どのテーブルからもデータを読み取ることはできません。

特定のテーブルへの読み取りアクセス権をユーザーに付与するには:

  1. [Log Analytics ワークスペース] メニューから [テーブル] を選択します。

  2. テーブルの右側にある省略記号 (...) を選択し、[アクセス制御 (IAM)] を選択します。

    テーブル レベル アクセス制御ボタンが強調表示された Log Analytics ワークスペース テーブル管理画面を示すスクリーンショット。

  3. [アクセス制御 (IAM)] 画面で、[追加]>[ロールの割り当ての追加] の順に選択します。

  4. [閲覧者] ロールを選択し、[次へ] を選択します。

  5. [+ メンバーの選択] をクリックして、[メンバーの選択] 画面を開きます。

  6. ユーザーを検索して選択し、[選択] をクリックします。

  7. [確認と作成] を選択します。

ユーザーがこの特定のテーブルからデータを読み取ることができるようになりました。 必要に応じて、ワークスペース内の他のテーブルへの読み取りアクセス権をユーザーに付与します。

テーブル レベルの読み取りアクセスを設定する従来の方法

テーブル レベルのレガシの方法では、Azure カスタム ロールを使用して、特定のユーザーまたはグループにワークスペース内の特定のテーブルへのアクセス権を付与することもできます。 Azure カスタム ロールは、ユーザーのアクセス モードとは関係なく、ワークスペースコンテキストまたはリソースコンテキストどちらかのアクセス制御モードのワークスペースに適用されます。

特定のテーブルへのアクセスを定義するには、カスタム ロールを作成します。

  • ロール定義の [アクション] セクションでユーザーのアクセス許可を設定します。
  • すべてのテーブルへのアクセス権を付与するために Microsoft.OperationalInsights/workspaces/query/* を使用します。
  • [アクション] でワイルドカードを使用するときに特定のテーブルへのアクセスを除外するには、ロール定義の [NotActions] セクションで除外されたテーブルを一覧表示します。

特定のテーブルへのアクセス権を付与および拒否するカスタム ロール アクションの例を次に示します。

Heartbeat および AzureActivity テーブルへのアクセス権を付与します。

"Actions":  [
    "Microsoft.OperationalInsights/workspaces/read",
    "Microsoft.OperationalInsights/workspaces/query/read",
    "Microsoft.OperationalInsights/workspaces/query/Heartbeat/read",
    "Microsoft.OperationalInsights/workspaces/query/AzureActivity/read"
  ],

SecurityBaseline テーブルのみへのアクセス権を付与します。

"Actions":  [
    "Microsoft.OperationalInsights/workspaces/read",
    "Microsoft.OperationalInsights/workspaces/query/read",
    "Microsoft.OperationalInsights/workspaces/query/SecurityBaseline/read"
],

SecurityAlert テーブル以外のすべてのテーブルへのアクセス権を付与します。

"Actions":  [
    "Microsoft.OperationalInsights/workspaces/read",
    "Microsoft.OperationalInsights/workspaces/query/read",
    "Microsoft.OperationalInsights/workspaces/query/*/read"
],
"notActions":  [
    "Microsoft.OperationalInsights/workspaces/query/SecurityAlert/read"
],

カスタム テーブルは、テキスト ログHTTP Data Collector API などのデータ ソースから収集するデータを保存します。 テーブルの種類を識別するには、Log Analytics でテーブル情報を表示します

レガシの方法のテーブル レベルのアクセスを使用して、テーブル レベルで個々のカスタム ログ テーブルへのアクセス権を付与することはできませんが、すべてのカスタム ログ テーブルに対するアクセス権を付与することはできます。 すべてのカスタム ログ テーブルへのアクセス権を持つロールを作成するには、次の操作を使用してカスタム ロールを作成します。

"Actions":  [
    "Microsoft.OperationalInsights/workspaces/read",
    "Microsoft.OperationalInsights/workspaces/query/read",
    "Microsoft.OperationalInsights/workspaces/query/Tables.Custom/read"
],

テーブル レベルのアクセスに関する考慮事項と制限事項

  • Log Analytics UI では、テーブル レベルのユーザーはワークスペース内のすべてのテーブルの一覧を表示できますが、アクセスできるテーブルからデータのみを取得できます。
  • */read アクションを含む標準の閲覧者ロールまたは共同作成者ロールは、テーブル レベルのアクセス制御をオーバーライドし、すべてのログ データへのアクセス権をユーザーに付与します。
  • テーブル レベルのアクセス権がユーザーに付与されているものの、ワークスペース レベルのアクセス許可は付与されていない場合、API からはログ データにアクセスできますが、Azure portal からはアクセスできません。
  • サブスクリプションの管理者と所有者は、他のすべてのアクセス許可設定に関係なくすべてのデータ型に対するアクセス権を持ちます。
  • ワークスペース所有者は、テーブルとごのアクセス制御では他のすべてのユーザーと同様に扱われます。
  • 割当て数を減らすために、ロールは個々のユーザーではなくセキュリティ グループに割り当てます。 この方法は、既存のグループ管理ツールを使用して、アクセス権を構成および確認する際にも役立ちます。

次のステップ