IAM を使用して機能アクセス制御を構成する
機能 RBAC は、システム内の特定の機能へのユーザー アクセスを制御し、ユーザーのロールに基づいてユーザーがアクセスできる機能を決定します。このページでは、Google Security Operations 内で機能アクセス制御を構成する方法について説明します。
このドキュメントでは、Identity and Access Management(IAM)ではなく、Google SecOps を使用して構成された、以前に利用可能なアクセス制御システムを指す場合、以前の RBAC という用語を使用します。機能 RBAC は、IAM を使用して構成する機能ベースのアクセス制御を説明するために使用されます。
Google SecOps は Google Cloud IAM と統合して、Google SecOps 固有の権限と事前定義ロールを提供します。Google SecOps 管理者は、ユーザーまたはグループを事前定義ロールにバインドする IAM ポリシーを作成することで機能へのアクセスを制御できます。またはカスタム IAM ロールを作成できます。この機能では、特定の UDM レコードや UDM レコード内のフィールドへのアクセスを制御できません。
このドキュメントでは、次のことを行います。
- Google SecOps が IAM と統合される仕組みについて説明します。
- 機能 RBAC ロールと以前の RBAC ロールの違いについて説明します。
- Google SecOps インスタンスを機能 RBAC に移行する手順について説明します。
- IAM を使用して権限を割り当てる方法の例を示します。
- IAM で使用可能な権限と事前定義ロールの概要を説明します。
一般的に使用される Google SecOps 権限と、それらが生成する監査ログの一覧については、リソース グループ別の権限と API メソッドをご覧ください。Google SecOps のすべての権限のリストについては、Identity and Access Management 権限のリファレンスをご覧ください。
各 Google SecOps 権限は、Chronicle API のリソースとメソッドに関連付けられています。ユーザーまたはグループに権限が付与されると、ユーザーは Google SecOps で機能にアクセスし、関連する API メソッドを使用してリクエストを送信できます。
Google SecOps と IAM の統合方法
IAM を使用するには、Google SecOps を Google Cloudプロジェクトにバインドし、サードパーティの ID プロバイダへの認証フローの中間として Cloud Identity、Google Workspace、または Google Cloud Workforce Identity 連携のいずれかで構成する必要があります。サードパーティ認証フローについては、Google SecOps をサードパーティの ID プロバイダと統合するをご覧ください。
Google SecOps は、次の手順で機能へのアクセスを検証して制御します。
- Google SecOps にログインした後、ユーザーは Google SecOps アプリケーション ページにアクセスします。または、ユーザーが Google SecOps に API リクエストを送信することもあります。
- Google SecOps は、そのユーザーに定義された IAM ポリシーで付与された権限を検証します。
- IAM は認可情報を返します。ユーザーがアプリケーション ページにアクセスした場合、Google SecOps は、ユーザーにアクセス権が付与されている機能のみへのアクセスを有効にします。
- ユーザーが API リクエストを送信し、リクエストされたアクションを実行する権限がない場合、API レスポンスにエラーが含まれます。それ以外の場合は、標準レスポンスが返されます。
Google SecOps には、ユーザーが機能にアクセスできるかどうかを制御する定義済みの権限セットを含む事前定義ロールが用意されています。単一の IAM ポリシーで、ウェブ インターフェースと API を使用した機能へのアクセスを制御します。
Google SecOps にバインドされている Google Cloud プロジェクトに他の Google Cloud サービスがあり、プロジェクト IAM 管理者ロールを持つユーザーが Google SecOps のリソースのみを変更できるように制限する場合は、許可ポリシーに対する IAM 条件を追加します。これを行う方法の例については、ユーザーとグループにロールを割り当てるをご覧ください。
管理者は、組織内の従業員のロールに基づいて Google SecOps の機能へのアクセス権を調整します。
始める前に
- Cloud Shell、gcloud CLI コマンド、 Google Cloud コンソールに精通していることを確認します。
- 次のコンセプトなど、IAM について精通します。
- Google SecOps を Google Cloud プロジェクトにバインドするの手順をすべて実行して、Google SecOps にバインドするプロジェクトを設定します。
- 次のいずれかを使用して、ID プロバイダを構成します。
- Google Cloud ID プロバイダを構成する
- Google SecOps をサードパーティの ID プロバイダと統合するの手順をすべて実施して、サードパーティの ID プロバイダ(IdP)による認証を設定します。
- プロジェクトを Google SecOps インスタンスにバインドし、ID プロバイダを構成します。
- このドキュメントの手順を実施するための権限を付与されていることを確認してください。オンボーディング プロセスの各フェーズに必要な権限については、必要なロールをご覧ください。
実装を計画する
組織のデプロイ要件をサポートする IAM ポリシーを作成します。Google SecOps の事前定義ロールまたは作成するカスタムロールを使用できます。
Google SecOps の事前定義ロールと権限のリストを組織の要件に対して確認します。組織のどのメンバーが各 Google SecOps 機能にアクセスできるようにするかを特定します。事前定義された Google SecOps ロールとは異なる IAM ポリシーが組織で必要な場合は、これらの要件をサポートするカスタムロールを作成します。カスタムロールについては、カスタムロールを作成、管理するをご覧ください。
Google SecOps のロールと権限の概要
以降のセクションでは、事前定義ロールの概要を説明します。
Google SecOps 権限の最新リストは、IAM 権限リファレンスにあります。[権限を検索] セクションで、chronicle
という用語を検索します。
Google Security Operations の事前定義ロールの最新のリストは、IAM の基本ロールと事前定義ロールのリファレンスにあります。[事前定義ロール] セクションで、Chronicle API ロール サービスを選択するか、chronicle
というキーワードを検索します。
API メソッドと権限、権限が使用されるページ、API が呼び出されたときに Cloud Audit Logs に記録される情報については、IAM の Chronicle 権限をご覧ください。
IAM での Google SecOps 事前定義ロール
Google SecOps は、IAM に表示される次の事前定義ロールを提供します。
IAM の事前定義ロール | タイトル | 説明 |
---|---|---|
roles/chronicle.admin |
Chronicle API 管理者 | グローバル設定を含む、Google SecOps アプリケーションと API サービスに対する完全アクセス権。 |
roles/chronicle.editor |
Chronicle API 編集者 | Google SecOps アプリケーションと API リソースに対するアクセス権を変更します。 |
roles/chronicle.viewer |
Chronicle API 閲覧者 | Google SecOps アプリケーションと API リソースに対する読み取り専用アクセス権 |
roles/chronicle.limitedViewer |
Chronicle API 制限付き閲覧者 | Google SecOps アプリケーションと API リソースに対する読み取り専用アクセス権を付与します(検出エンジンルールと RetroHunt を除く)。 |
IAM での Google SecOps 権限
Google SecOps 権限は、Chronicle API メソッドと 1 対 1 で対応しています。Google SecOps の各権限により、ウェブ アプリケーションまたは API を使用する際に、特定の Google SecOps 機能で特定のアクションを実行できます。IAM で使用される Google SecOps API は、アルファ版のリリース段階です。
Google SecOps 権限の名前は SERVICE.FEATURE.ACTION
の形式になります。たとえば、権限名 chronicle.dashboards.edit
は以下で構成されます。
chronicle
: Chronicle API サービス名。dashboards
: 機能名。edit
: 特徴に対して実行できるアクション。
権限名には、Google SecOps の機能で実行できる操作が記述されています。すべての Google SecOps 権限には chronicle
サービス名があります。
ユーザーやグループにロールを割り当てる
以降のセクションでは、IAM ポリシーを作成するユースケースの例を示します。<project>
というキーワードは、Google SecOps にバインドしたプロジェクトのプロジェクト ID を表します。
Chronicle API を有効にすると、Google SecOps の事前定義ロールと権限が IAM で使用可能になり、組織の要件をサポートするポリシーを作成できます。
新しく作成した Google SecOps インスタンスがある場合は、組織の要件を満たす IAM ポリシーの作成を開始します。
既存の Google SecOps インスタンスの場合は、Google SecOps を IAM に移行して機能アクセス制御を行うで、インスタンスを IAM に移行する方法を確認してください。
例: 専用プロジェクトでプロジェクト IAM 管理者のロールを割り当てる
この例では、プロジェクトは Google SecOps インスタンス専用です。ユーザーにプロジェクト IAM 管理者のロールを付与すると、プロジェクトの IAM ロール バインディングを付与および変更できるようになります。ユーザーは、プロジェクト内のすべての Google SecOps のロールと権限を管理し、プロジェクト IAM 管理者ロールで付与されたタスクを実行できます。
Google Cloud コンソールを使用してロールを割り当てる
次の手順では、 Google Cloud コンソールを使用してユーザーにロールを付与する方法について説明します。
- Google Cloud コンソールを開きます。
- Google SecOps にバインドされているプロジェクトを選択します。
- [IAM と管理] を選択します。
- [アクセス権を付与] を選択します。 [
<project>
へのアクセス権を付与する] が表示されます。 - [プリンシパルの追加] セクションの [新しいプリンシパル] フィールドに、管理対象アカウントのメールアドレスを入力します。
- [ロールを割り当てる] セクションの [ロールの選択] メニューで、[プロジェクト IAM 管理者] ロールを選択します。
- [保存] をクリックします。
- [IAM] > [権限] ページを開き、ユーザーに正しいロールが付与されていることを確認します。
Google Cloud CLI を使用してロールを割り当てる
次のコマンドの例では、Workforce Identity 連携を使用している場合に、ユーザーに chronicle.admin
ロールを付与する方法を示します。
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject/USER_EMAIL \
--role=roles/chronicle.admin
以下を置き換えます。
PROJECT_ID
: Google SecOps インスタンスを Google Cloud プロジェクトにバインドするで作成した Google SecOps にバインドされたプロジェクトのプロジェクト ID。プロジェクトを識別するフィールドの説明については、プロジェクトの作成と管理をご覧ください。WORKFORCE_POOL_ID
: ID プロバイダ用に作成された Workforce プールの ID。USER_EMAIL
: ユーザーのメールアドレス。
次のコマンドの例では、Cloud Identity または Google Workspace を使用している場合に、グループに chronicle.admin
ロールを付与する方法を示します。
gcloud projects add-iam-policy-binding PROJECT_ID \
--member "user:USER_EMAIL" \
--role=roles/chronicle.admin
以下を置き換えます。
PROJECT_ID
: Google SecOps インスタンスを Google Cloud プロジェクトにバインドするで作成した Google SecOps にバインドされたプロジェクトのプロジェクト ID。プロジェクトを識別するフィールドの説明については、プロジェクトの作成と管理をご覧ください。USER_EMAIL
: ユーザーのメールアドレス。
例: 共有プロジェクトでプロジェクト IAM 管理者のロールを割り当てる
この例では、プロジェクトは複数のアプリケーションで使用されています。Google SecOps インスタンスにバインドされ、Google SecOps に関連しないサービスを実行します。たとえば、別の目的で使用される Compute Engine リソースなどです。
この場合、ユーザーにプロジェクト IAM 管理者ロールを付与して、プロジェクトの IAM ロール バインディングを付与および変更し、Google SecOps を構成できるようにします。また、ロール バインディングに IAM を追加して、プロジェクト内の Google SecOps 関連のロールのみにアクセスを制限します。このユーザーは、IAM 条件で指定されたロールのみを付与できます。
IAM Conditions の詳細については、IAM Conditions の概要と条件付きロール バインディングを管理するをご覧ください。
Google Cloud コンソールを使用してロールを割り当てる
次の手順では、 Google Cloud コンソールを使用してユーザーにロールを付与する方法について説明します。
- Google Cloud コンソールを開きます。
- Google SecOps にバインドされているプロジェクトを選択します。
- [IAM と管理] を選択します。
- [アクセス権を付与] を選択します。 [
<project>
へのアクセス権を付与する] が表示されます。 - [
<project>
へのアクセス権を付与する] ダイアログの [プリンシパルを追加] セクションで、[新しいプリンシパル] にユーザーのメールアドレスを入力します。 - [ロールを割り当てる] セクションの [ロールの選択] メニューで、[プロジェクト IAM 管理者] ロールを選択します。
- [+ IAM の条件を追加] をクリックします。
- [条件を追加] ダイアログで、次の情報を入力します。
- [条件] のタイトルを入力します。
- [条件エディタ] を選択します。
- 次の条件を入力します。
api.getAttribute(iam.googleapis.com/modifiedGrantsByRole,[]).hasOnly([roles/chronicle.googleapis.com/limitedViewer, roles/chronicle.googleapis.com/viewer, roles/chronicle.googleapis.com/editor, roles/chronicle.googleapis.com/admin])
- [条件を追加] ダイアログで [保存] をクリックします。
- [
<project>
へのアクセス権を付与する] ダイアログで [保存] をクリックします。 - [IAM] > [権限] ページを開き、ユーザーに正しいロールが付与されていることを確認します。
Google Cloud CLI を使用してロールを割り当てる
次のコマンドの例では、Workforce Identity 連携を使用している場合に、ユーザーに chronicle.admin
ロールを付与し、IAM 条件を適用する方法を示します。
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject/USER_EMAIL \
--role=roles/chronicle.admin\
--condition=^:^'expression=api.getAttribute(iam.googleapis.com/modifiedGrantsByRole,[]).hasOnly([roles/chronicle.googleapis.com/limitedViewer, roles/chronicle.googleapis.com/viewer, roles/chronicle.googleapis.com/editor, roles/chronicle.googleapis.com/admin])':'title=Chronicle Role Admin'
以下を置き換えます。
PROJECT_ID
: Google SecOps インスタンスを Google Cloud プロジェクトにバインドするで作成した Google SecOps にバインドされたプロジェクトのプロジェクト ID。プロジェクトを識別するフィールドの説明については、プロジェクトの作成と管理をご覧ください。WORKFORCE_POOL_ID
: ID プロバイダ用に作成された Workforce プールの ID。USER_EMAIL
: ユーザーのメールアドレス。
次のコマンドの例では、Cloud Identity または Google Workspace を使用している場合に、グループに chronicle.admin
ロールを付与し、IAM 条件を適用する方法を示します。
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=user:USER_EMAIL \
--role=roles/chronicle.admin\
--condition=^:^'expression=api.getAttribute(iam.googleapis.com/modifiedGrantsByRole,[]).hasOnly([roles/chronicle.googleapis.com/limitedViewer, roles/chronicle.googleapis.com/viewer, roles/chronicle.googleapis.com/editor, roles/chronicle.googleapis.com/admin])':'title=Chronicle Role Admin'
以下を置き換えます。
PROJECT_ID
: Google SecOps インスタンスを Google Cloud プロジェクトにバインドするで作成した Google SecOps にバインドされたプロジェクトのプロジェクト ID。プロジェクトを識別するフィールドの説明については、プロジェクトの作成と管理をご覧ください。USER_EMAIL
: ユーザーのメールアドレス(例:bob@example.com
)。
例: ユーザーに Chronicle API 編集者ロールを割り当てる
この場合、ユーザーに Chronicle API リソースへのアクセス権を変更する権限を付与する必要があります。
Google Cloud コンソールを使用してロールを割り当てる
- Google Cloud コンソールを開きます。
- Google SecOps にバインドされているプロジェクトを選択します。
- [IAM と管理] を選択します。
- [アクセス権を付与] を選択します。 [
<project>
へのアクセス権を付与する] ダイアログが開きます。 - [プリンシパルを追加] セクションの [新しいプリンシパル] フィールドに、ユーザーのメールアドレスを入力します。
- [ロールを割り当てる] セクションの [ロールを選択] メニューで、[Chronicle API 編集者] ロールを選択します。
- [
<project>
へのアクセス権を付与する] ダイアログで [保存] をクリックします。 - [IAM] > [権限] ページを開き、ユーザーに正しいロールが付与されていることを確認します。
Google Cloud CLI を使用してロールを割り当てる
次のコマンドの例では、Workforce Identity 連携を使用している場合に、ユーザーに chronicle.editor
ロールを付与する方法を示します。
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject/USER_EMAIL \
--role=roles/chronicle.editor
以下を置き換えます。
PROJECT_ID
: Google SecOps インスタンスを Google Cloud プロジェクトにバインドするで作成した Google SecOps にバインドされたプロジェクトのプロジェクト ID。プロジェクトを識別するフィールドの説明については、プロジェクトの作成と管理をご覧ください。WORKFORCE_POOL_ID
: ID プロバイダ用に作成された Workforce プールの ID。USER_EMAIL
: ユーザーのメールアドレス。次のコマンドの例では、Cloud Identity または Google Workspace を使用している場合に、ユーザーに
chronicle.editor
ロールを付与する方法を示します。
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=user:USER_EMAIL \
--role=roles/chronicle.editor
以下を置き換えます。
PROJECT_ID
: Google SecOps インスタンスを Google Cloud プロジェクトにバインドするで作成した Google SecOps にバインドされたプロジェクトのプロジェクト ID。プロジェクトを識別するフィールドの説明については、プロジェクトの作成と管理をご覧ください。WORKFORCE_POOL_ID
: ID プロバイダ用に作成された Workforce プールの ID。USER_EMAIL
: ユーザーのメールアドレス。
例: グループにカスタムロールを作成して割り当てる
Google SecOps の事前定義ロールに、組織のユースケースに適した権限のグループが指定されていない場合は、カスタムロールを作成して、そのカスタムロールに Google SecOps 権限を割り当てることができます。カスタムロールをユーザーまたはグループに割り当てます。カスタムロールの詳細については、カスタムロールを作成、管理するをご覧ください。
次の手順では、LimitedAdmin
という名前のカスタムロールを作成します。
LimitedAdmin
というカスタムロールと、このロールに付与される権限を定義する YAML ファイルまたは JSON ファイルを作成します。YAML ファイルの例を次に示します。title: "LimitedAdmin" description: "Admin role with some permissions removed" stage: "ALPHA" includedPermissions: - chronicle.collectors.create - chronicle.collectors.delete - chronicle.collectors.get - chronicle.collectors.list - chronicle.collectors.update - chronicle.dashboards.copy - chronicle.dashboards.create - chronicle.dashboards.delete - chronicle.dashboards.get - chronicle.dashboards.list - chronicle.extensionValidationReports.get - chronicle.extensionValidationReports.list - chronicle.forwarders.create - chronicle.forwarders.delete - chronicle.forwarders.generate - chronicle.forwarders.get - chronicle.forwarders.list - chronicle.forwarders.update - chronicle.instances.get - chronicle.instances.report - chronicle.legacies.legacyGetCuratedRulesTrends - chronicle.legacies.legacyGetRuleCounts - chronicle.legacies.legacyGetRulesTrends - chronicle.legacies.legacyUpdateFinding - chronicle.logTypeSchemas.list - chronicle.multitenantDirectories.get - chronicle.operations.cancel - chronicle.operations.delete - chronicle.operations.get - chronicle.operations.list - chronicle.operations.wait - chronicle.parserExtensions.activate - chronicle.parserExtensions.create - chronicle.parserExtensions.delete - chronicle.parserExtensions.generateKeyValueMappings - chronicle.parserExtensions.get - chronicle.parserExtensions.legacySubmitParserExtension - chronicle.parserExtensions.list - chronicle.parserExtensions.removeSyslog - chronicle.parsers.activate - chronicle.parsers.activateReleaseCandidate - chronicle.parsers.copyPrebuiltParser - chronicle.parsers.create - chronicle.parsers.deactivate - chronicle.parsers.delete - chronicle.parsers.get - chronicle.parsers.list - chronicle.parsers.runParser - chronicle.parsingErrors.list - chronicle.validationErrors.list - chronicle.validationReports.get - resourcemanager.projects.get
カスタムロールを作成します。次の gcloud CLI コマンドの例では、前の手順で作成した YAML ファイルを使用してこのカスタムロールを作成する方法を示します。
gcloud iam roles create ROLE_NAME \ --project=PROJECT_ID \ --file=YAML_FILE_NAME
以下を置き換えます。
PROJECT_ID
: Google SecOps インスタンスを Google Cloud プロジェクトにバインドするで作成した Google SecOps にバインドされたプロジェクトのプロジェクト ID。プロジェクトを識別するフィールドの説明については、プロジェクトの作成と管理をご覧ください。YAML_FILE_NAME
: 前の手順で作成したファイルの名前。ROLE_NAME
: YAML ファイルで定義されているカスタムロールの名前。
Google Cloud CLI を使用してカスタムロールを割り当てます。
次のコマンドの例は、Workforce Identity 連携を使用している場合に、ユーザーのグループにカスタムロール
limitedAdmin
を付与する方法を示しています。gcloud projects add-iam-policy-binding PROJECT_ID \ --member=principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID \ --role=projects/PROJECT_ID/roles/limitedAdmin
以下を置き換えます。
PROJECT_ID
: Google SecOps インスタンスを Google Cloud プロジェクトにバインドするで作成した Google SecOps にバインドされたプロジェクトのプロジェクト ID。プロジェクトを識別するフィールドの説明については、プロジェクトの作成と管理をご覧ください。WORKFORCE_POOL_ID
: ID プロバイダ用に作成された Workforce プールの ID。GROUP_ID
: Workforce Identity 連携で作成されたグループ ID。Workforce Identity 連携で作成されたグループ ID については、IAM ポリシーで Workforce プール ユーザーを表すをご覧ください。GROUP_ID
の詳細については、IAM ポリシーで Workforce プール ユーザーを表すをご覧ください。
次のコマンドの例は、Cloud Identity または を使用している場合に、ユーザーのグループにカスタムロール
limitedAdmin
を付与する方法を示しています。gcloud projects add-iam-policy-binding PROJECT_ID \ --member=groupid:GROUP_ID \ --role=projects/PROJECT_ID/roles/limitedAdmin
以下を置き換えます。
PROJECT_ID
: Google SecOps インスタンスを Google Cloud プロジェクトにバインドするで作成した Google SecOps にバインドされたプロジェクトのプロジェクト ID。プロジェクトを識別するフィールドの説明については、プロジェクトの作成と管理をご覧ください。WORKFORCE_POOL_ID
: ID プロバイダ用に作成された Workforce プールの ID。GROUP_ID
: Workforce Identity 連携で作成されたグループ ID。Workforce Identity 連携で作成されたグループ ID については、IAM ポリシーで Workforce プール ユーザーを表すをご覧ください。GROUP_ID
の詳細については、IAM ポリシーで Workforce プール ユーザーを表すをご覧ください。
監査ロギングを確認する
Google SecOps でのユーザー アクションと Chronicle API へのリクエストは、Cloud Audit Logs として記録されます。ログが書き込まれていることを確認するには、次の手順に従います。
- 任意の機能にアクセスできる権限を持つユーザーとして Google SecOps にログインします。詳細については、Google SecOps にログインするをご覧ください。
- 検索の実行などのアクションを実行します。
- Google Cloud コンソールで、ログ エクスプローラを使用して、Google SecOps にバインドされた Cloud プロジェクトの監査ログを表示します。Google SecOps 監査ログのサービス名は
chronicle.googleapis.com
です。
Cloud Audit Logs の表示方法については、Google SecOps の監査ロギング情報をご覧ください。
以下は、ユーザー alice@example.com
が Google SecOps でパーサー拡張機能のリストを表示したときに書き込まれたログの例です。
{
"protoPayload": {
"@type": "type.googleapis.com/google.cloud.audit.AuditLog",
"authenticationInfo": {
"principalEmail": "alice@example.com"
},
"requestMetadata": {
"callerIp": "private",
"callerSuppliedUserAgent": "abc_client",
"requestAttributes": {
"time": "2023-03-27T21:09:43.897772385Z",
"reason": "8uSywAYeWhxBRiBhdXRoIFVwVGljay0-REFUIGV4Y2abcdef",
"auth": {}
},
"destinationAttributes": {}
},
"serviceName": "chronicle.googleapis.com",
"methodName": "google.cloud.chronicle.v1main.ParserService.ListParserExtensions",
"authorizationInfo": [
{
"resource": "projects/100000000000/locations/us/instances/aaaa0aa0-000A-00a0-0000-0000a0aa0a1/logTypes/-",
"permission": "chronicle.parserExtensions.list",
"granted": true,
"resourceAttributes": {}
}
],
"resourceName": "projects/100000000000/locations/us/instances/aaaa0aa0-000A-00a0-0000-0000a0aa0a1/logTypes/-",
"numResponseItems": "12",
"request": {
"@type": "type.googleapis.com/google.cloud.chronicle.v1main.ListParserExtensionsRequest",
"parent": "projects/100000000000/locations/us/instances/aaaa0aa0-000A-00a0-0000-0000a0aa0a1/logTypes/-"
},
"response": {
"@type": "type.googleapis.com/google.cloud.chronicle.v1main.ListParserExtensionsResponse"
}
},
"insertId": "1h0b0e0a0",
"resource": {
"type": "audited_resource",
"labels": {
"project_id": "dev-sys-server001",
"method": "google.cloud.chronicle.v1main.ParserService.ListParserExtensions",
"service": "chronicle.googleapis.com"
}
},
"timestamp": "2023-03-27T21:09:43.744940164Z",
"severity": "INFO",
"logName": "projects/dev-sys-server001/logs/cloudaudit.googleapis.com%2Fdata_access",
"receiveTimestamp": "2023-03-27T21:09:44.863100753Z"
}
機能アクセス制御のために Google SecOps を機能 RBAC に移行する
これらのセクションの情報を使用して、既存の Google Security Operations SIEM インスタンスを以前の RBAC システムから機能 RBAC に移行します。
機能 RBAC に移行した後、Cloud Audit Logs を使用して Google SecOps インスタンスのアクティビティを監査することもできます。
以前の RBAC と機能 RBAC の違い
機能 RBAC の事前定義ロール名は以前の RBAC ロールと似ていますが、機能 RBAC の事前定義ロールは以前の RBAC ロールと同じ機能アクセスを提供しません。各事前定義機能 RBAC ロールに割り当てられる権限は若干異なります。詳細については、機能 RBAC IAM ロールが以前の RBAC ロールにマッピングされる仕組みをご覧ください。
Google SecOps の事前定義ロールをそのまま使用することも、各事前定義ロールで定義されている権限を変更することも、カスタムロールを作成して別の権限セットを割り当てることもできます。
Google SecOps インスタンスを移行した後、 Google Cloud コンソールの IAM を使用して、ロール、権限、機能 RBAC ポリシーを管理します。次の Google SecOps アプリケーション ページが変更され、ユーザーが Google Cloud コンソールにリダイレクトされるようになりました。
- ユーザーとグループ
- ロール
以前の RBAC では、各権限は機能名とアクションで記述されます。機能 RBAC の IAM 権限は、リソース名とメソッドで記述されます。次の表に、ダッシュボードに関する例 1 つとフィードに関する例 1 つの合計 2 つの例を示します。
ダッシュボードの例: ダッシュボードへのアクセスを制御するために、以前の RBAC には、ダッシュボードで実行できる 5 つのアクションが用意されています。機能 RBAC には、使用可能なダッシュボードをユーザーが一覧表示できる
dashboards.list
という追加の類似の IAM 権限が 1 つ用意されています。フィード例: フィードへのアクセスを制御するために、以前の RBAC には、有効または無効にできる 7 つのアクションが用意されています。機能 RBAC では、
feeds.delete
、feeds.create
、feeds.update
、feeds.view
の 4 つがあります。
機能 | 以前の RBAC の権限 | 機能 RBAC の IAM 権限 | ユーザー操作の説明 |
---|---|---|---|
ダッシュボード | 編集 | chronicle.dashboards.edit |
ダッシュボードを編集する |
ダッシュボード | コピー | chronicle.dashboards.copy |
ダッシュボードをコピーする |
ダッシュボード | 作成 | chronicle.dashboards.create |
ダッシュボードの作成 |
ダッシュボード | スケジュール | chronicle.dashboards.schedule |
レポートのスケジュール設定 |
ダッシュボード | 削除 | chronicle.dashboards.delete |
レポートの削除 |
ダッシュボード | なし。これは、機能 RBAC でのみ使用できます。 | chronicle.dashboards.list |
利用可能なダッシュボードを一覧表示する |
フィード | フィードの削除 | chronicle.feeds.delete |
フィードを削除する |
フィード | CreateFeed | chronicle.feeds.create |
フィードを作成する |
フィード | フィードの更新 | chronicle.feeds.update |
フィードを更新する |
フィード | EnableFeed | chronicle.feeds.update |
フィードを更新する |
フィード | DisableFeed | chronicle.feeds.update |
フィードを更新する |
フィード | ListFeeds | chronicle.feeds.view |
1 つ以上のフィードを返します。 |
フィード | GetFeed | chronicle.feeds.view |
1 つ以上のフィードを返します。 |
既存のアクセス制御権限を移行する手順
既存の Google SecOps インスタンスを移行する手順を完了したら、機能アクセス制御構成を移行することもできます。
Google SecOps には、Google SecOps の [SIEM 設定] > [ユーザーとグループ] ページで構成されている以前の RBAC と同等の新しい機能 RBAC IAM ポリシーを作成する自動生成コマンドがあります。
Google SecOps 用に Google Cloud プロジェクトを構成するで説明されている必要な権限があることを確認し、既存の権限とロールを IAM に移行するの手順に従います。
機能 RBAC IAM ロールが以前の RBAC ロールにマッピングされる仕組み
このセクションのマッピング情報は、移行前と移行後の事前定義ロールのアクセスの違いの一部を示しています。以前の RBAC ロール名は機能 RBAC IAM 事前定義ロールと似ていますが、それぞれがアクセス権を付与するアクションは異なります。このセクションでは、これらの違いの一部について説明します。
Chronicle API 制限付き閲覧者
このロールは、Google SecOps アプリケーションと API リソースに対する読み取り専用アクセス権を付与します(検出エンジンルールと RetroHunt を除く)。ロール名は chronicle.limitedViewer
です。
権限の詳細なリストについては、Chronicle API Viewer をご覧ください。
Chronicle API 閲覧者
このロールは、Google SecOps アプリケーションと API リソースに対する読み取り専用アクセス権を付与します。ロール名は chronicle.viewer
です。
次の権限は、類似の以前の RBAC ロールと機能 RBAC ロールの違いを示しています。権限の詳細なリストについては、Chronicle API Viewer をご覧ください。
Feature RBAC IAM permission | Equivalent permission is mapped to this legacy RBAC role |
---|---|
chronicle.ruleDeployments.get |
Viewer |
chronicle.ruleDeployments.list |
Viewer |
chronicle.rules.verifyRuleText |
Viewer |
chronicle.rules.get |
Viewer |
chronicle.rules.list |
Viewer |
chronicle.legacies.legacyGetRuleCounts |
Viewer |
chronicle.legacies.legacyGetRulesTrends |
Viewer |
chronicle.rules.listRevisions |
Viewer |
chronicle.legacies.legacyGetCuratedRulesTrends |
Viewer |
chronicle.ruleExecutionErrors.list |
Viewer |
chronicle.curatedRuleSets.get |
Viewer |
chronicle.curatedRuleSetDeployments.get |
Viewer |
chronicle.curatedRuleSets.list |
Viewer |
chronicle.curatedRuleSetDeployments.list |
Viewer |
chronicle.curatedRuleSetCategories.get |
Viewer |
chronicle.curatedRuleSetCategories.list |
Viewer |
chronicle.curatedRuleSetCategories.countAllCuratedRuleSetDetections |
Viewer |
chronicle.curatedRuleSets.countCuratedRuleSetDetections |
Viewer |
chronicle.curatedRules.get |
Viewer |
chronicle.curatedRules.list |
Viewer |
chronicle.referenceLists.list |
Viewer |
chronicle.referenceLists.get |
Viewer |
chronicle.referenceLists.verifyReferenceList |
Viewer |
chronicle.retrohunts.get |
Viewer |
chronicle.retrohunts.list |
Viewer |
chronicle.dashboards.schedule |
Editor |
chronicle.operations.get |
None. This is available in feature RBAC only. |
chronicle.operations.list |
None. This is available in feature RBAC only. |
chronicle.operations.wait |
None. This is available in feature RBAC only. |
chronicle.instances.report |
None. This is available in feature RBAC only. |
chronicle.collectors.get |
None. This is available in feature RBAC only. |
chronicle.collectors.list |
None. This is available in feature RBAC only. |
chronicle.forwarders.generate |
None. This is available in feature RBAC only. |
chronicle.forwarders.get |
None. This is available in feature RBAC only. |
chronicle.forwarders.list |
None. This is available in feature RBAC only. |
Chronicle API 編集者
このロールにより、ユーザーは Google SecOps アプリケーションと API リソースへのアクセス権を変更できます。ロール名は chronicle.editor
です。
次の権限は、類似した以前の RBAC ロールと機能 RBAC ロールの違いの一部を示しています。権限の詳細なリストについては、Chronicle API エディタをご覧ください。
Feature RBAC IAM permission | Equivalent permission is mapped to this legacy RBAC role |
---|---|
chronicle.ruleDeployments.update |
Editor |
chronicle.rules.update |
Editor |
chronicle.rules.create |
Editor |
chronicle.referenceLists.create |
Editor |
chronicle.referenceLists.update |
Editor |
chronicle.rules.runRetrohunt |
Editor |
chronicle.retrohunts.create |
Editor |
chronicle.curatedRuleSetDeployments.batchUpdate |
Editor |
chronicle.curatedRuleSetDeployments.update |
Editor |
chronicle.dashboards.copy |
Editor |
chronicle.dashboards.edit |
Editor |
chronicle.dashboards.create |
Editor |
chronicle.legacies.legacyUpdateFinding |
Editor |
chronicle.dashboards.delete |
Editor |
chronicle.operations.delete |
None. This is available in feature RBAC only. |
Chronicle API 管理者
このロールには、グローバル設定を含む Google SecOps アプリケーションと API サービスに対する完全アクセス権が付与されます。ロール名は chronicle.admin
です。
次の権限は、類似した以前の RBAC ロールと機能 RBAC ロールの違いの一部を示しています。権限の詳細なリストについては、Chronicle API 管理者をご覧ください。
Feature RBAC IAM permission | Equivalent permission is mapped to this legacy RBAC role |
---|---|
chronicle.parserExtensions.delete |
Admin |
chronicle.parsers.copyPrebuiltParser |
Admin |
chronicle.extensionValidationReports.get |
Admin |
chronicle.extensionValidationReports.list |
Admin |
chronicle.validationErrors.list |
Admin |
chronicle.parsers.runParser |
Admin |
chronicle.parserExtensions.get |
Admin |
chronicle.parserExtensions.list |
Admin |
chronicle.validationReports.get |
Admin |
chronicle.parserExtensions.create |
Admin |
chronicle.parserExtensions.removeSyslog |
Admin |
chronicle.parsers.activate |
Admin |
chronicle.parserExtensions.activate |
Admin |
chronicle.parsers.activateReleaseCandidate |
Admin |
chronicle.parsers.deactivate |
Admin |
chronicle.parsers.deactivate |
Admin |
chronicle.parserExtensions.generateKeyValuechronicle.Mappings |
Admin |
chronicle.parserExtensions.legacySubmitParserExtension |
Admin |
chronicle.parsers.activate |
Admin |
chronicle.parsers.activate |
Admin |
chronicle.parsers.activate |
Admin |
chronicle.parsers.list |
Admin |
chronicle.parsers.create |
Admin |
chronicle.parsers.delete |
Admin |
chronicle.feeds.delete |
Admin |
chronicle.feeds.create |
Admin |
chronicle.feeds.update |
Admin |
chronicle.feeds.enable |
Admin |
chronicle.feeds.disable |
Admin |
chronicle.feeds.list |
Admin |
chronicle.feeds.get |
Admin |
chronicle.feedSourceTypeSchemas.list |
Admin |
chronicle.logTypeSchemas.list |
Admin |
chronicle.operations.cancel |
Editor |
chronicle.collectors.create |
None. This is available in feature RBAC only. |
chronicle.collectors.delete |
None. This is available in feature RBAC only. |
chronicle.collectors.update |
None. This is available in feature RBAC only. |
chronicle.forwarders.create |
None. This is available in feature RBAC only. |
chronicle.forwarders.delete |
None. This is available in feature RBAC only. |
chronicle.forwarders.update |
None. This is available in feature RBAC only. |
chronicle.parsingErrors.list |
None. This is available in feature RBAC only. |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。