PolicySet

1 つ以上の Policy リソースのグループ。

JSON 表現
{
  "policySetId": string,
  "description": string,
  "policies": [
    {
      object (Policy)
    }
  ]
}
フィールド
policySetId

string

必須。ポリシーセットの識別子。

description

string

省略可。ポリシーセットの説明。

policies[]

object (Policy)

必須。ポリシーセット内の Policy リソース。

各ポリシーには、ポリシーセット内で一意の policyId が必要です。

ポリシー

ポリシーの詳細(含まれる制約など)。

JSON 表現
{
  "policyId": string,
  "complianceStandards": [
    {
      object (ComplianceStandard)
    }
  ],
  "constraint": {
    object (Constraint)
  },
  "description": string
}
フィールド
policyId

string

必須。ポリシーのユーザー指定の識別子。

PolicySet では、各ポリシーに一意の ID が必要です。

complianceStandards[]

object (ComplianceStandard)

省略可。ポリシーが適用に役立つコンプライアンス標準。

constraint

object (Constraint)

必須。ポリシーに含まれる制約。

description

string

省略可。ポリシーの説明。

ComplianceStandard

ポリシーが適用に役立つコンプライアンス標準に関する情報。

JSON 表現
{
  "standard": string,
  "control": string
}
フィールド
standard

string

省略可。ポリシーが適用を支援するコンプライアンス標準。例: NIST SP 800-53

control

string

省略可。ポリシーが適用を支援するコンプライアンス標準の管理機能。例: AC-3

制約

Policy の制約のメタデータ。

JSON 表現
{

  // Union field implementation can be only one of the following:
  "securityHealthAnalyticsModule": {
    object (SecurityHealthAnalyticsModule)
  },
  "securityHealthAnalyticsCustomModule": {
    object (SecurityHealthAnalyticsCustomModule)
  },
  "orgPolicyConstraint": {
    object (OrgPolicyConstraint)
  },
  "orgPolicyConstraintCustom": {
    object (OrgPolicyConstraintCustom)
  }
  // End of list of possible types for union field implementation.
}
フィールド
共用体フィールド implementation。制約の実装。implementation は次のいずれかになります。
securityHealthAnalyticsModule

object (SecurityHealthAnalyticsModule)

省略可。Security Health Analytics の組み込み検出機能。

securityHealthAnalyticsCustomModule

object (SecurityHealthAnalyticsCustomModule)

省略可。Security Health Analytics 用のカスタム モジュール。

orgPolicyConstraint

object (OrgPolicyConstraint)

省略可。事前定義された組織のポリシーの制約。

orgPolicyConstraintCustom

object (OrgPolicyConstraintCustom)

省略可。カスタムの組織のポリシーの制約。

SecurityHealthAnalyticsModule

Security Health Analytics の組み込み検出機能。

JSON 表現
{
  "moduleName": string,
  "moduleEnablementState": enum (EnablementState)
}
フィールド
moduleName

string

必須。検出機能の名前。例: BIGQUERY_TABLE_CMEK_DISABLED

moduleEnablementState

enum (EnablementState)

リソース階層の指定されたレベルで検出機能が有効かどうか。

EnablementState

リソース階層の指定されたレベルで、組み込みの検出機能とカスタム モジュールのどちらが有効になっているか。

列挙型
ENABLEMENT_STATE_UNSPECIFIED デフォルト値。この値は使用されません。
ENABLED 検出機能またはカスタム モジュールが有効になっている。
DISABLED 検出機能またはカスタム モジュールが無効になっている。

SecurityHealthAnalyticsCustomModule

Security Health Analytics 用のカスタム モジュール。

JSON 表現
{
  "id": string,
  "displayName": string,
  "config": {
    object (CustomConfig)
  },
  "moduleEnablementState": enum (EnablementState)
}
フィールド
id

string

出力専用。変更不可。カスタム モジュールの一意の識別子。1 ~ 20 桁。

displayName

string

省略可。カスタム モジュールの表示名。この値は、カスタム モジュールが返すすべての検出結果の検出カテゴリとして使用されます。表示名には 1 ~ 128 文字の英数字またはアンダースコアを含め、先頭は英小文字にする必要があります。

config

object (CustomConfig)

必須。カスタム モジュールの構成設定。

moduleEnablementState

enum (EnablementState)

リソース階層の指定されたレベルでカスタム モジュールが有効かどうか。

CustomConfig

Security Health Analytics のカスタム モジュール構成。CustomConfig を使用して、指定したリソースのカスタム検出結果を生成するカスタム検出項目を作成します。

JSON 表現
{
  "predicate": {
    object (Expr)
  },
  "customOutput": {
    object (CustomOutputSpec)
  },
  "resourceSelector": {
    object (ResourceSelector)
  },
  "severity": enum (Severity),
  "description": string,
  "recommendation": string
}
フィールド
predicate

object (Expr)

必須。評価する Common Expression Language(CEL)式。リソースの式が true と評価されると、検出結果が生成されます。

customOutput

object (CustomOutputSpec)

省略可。検出結果に含めるカスタム ソース プロパティの定義。

resourceSelector

object (ResourceSelector)

必須。カスタム モジュールが操作するリソースタイプ。

severity

enum (Severity)

必須。カスタム モジュールによって生成された検出結果の重大度。

description

string

省略可。カスタム モジュールが検出する脆弱性または構成ミスの説明。

説明は各検出結果に表示されます。調査担当者が検出結果を理解するのに役立つ十分な情報を提供します。

値は引用符で囲む必要があります。

recommendation

string

省略可。検出された問題を解決するためにセキュリティ チームが実施できる手順の説明。説明は各検出結果に表示されます。

Expr

Common Expression Language(CEL)構文のテキスト式を表します。CEL は C に似た式言語です。CEL の構文とセマンティクスは、https://github.com/google/cel-spec に記載されています。

例(比較):

title: "Summary size limit"
description: "Determines if a summary is less than 100 chars"
expression: "document.summary.size() < 100"

例(同等):

title: "Requestor is owner"
description: "Determines if requestor is the document owner"
expression: "document.owner == request.auth.claims.email"

例(論理):

title: "Public documents"
description: "Determine whether the document should be publicly visible"
expression: "document.type != 'private' && document.type != 'internal'"

例(データ操作):

title: "Notification string"
description: "Create a notification string with a timestamp."
expression: "'New message received at ' + string(document.create_time)"

式内で参照できる正確な変数と関数は、式を評価するサービスによって決定されます。詳細については、サービスのドキュメントをご覧ください。

JSON 表現
{
  "expression": string,
  "title": string,
  "description": string,
  "location": string
}
フィールド
expression

string

Common Expression Language 構文による式のテキスト表現。

title

string

省略可。式のタイトル。式の目的を説明する短い文字列です。たとえば、式を入力できる UI でこれを使用します。

description

string

省略可。式の説明。式を説明する長いテキストです。たとえば、UI で式にカーソルを合わせたときに表示されます。

location

string

省略可。エラー報告用に式の場所を示す文字列。たとえば、ファイル名とファイル内の位置です。

CustomOutputSpec

検出結果に表示されるカスタム ソース プロパティの定義。

JSON 表現
{
  "properties": [
    {
      object (Property)
    }
  ]
}
フィールド
properties[]

object (Property)

省略可。検出結果に表示されるカスタム ソース プロパティ。

プロパティ

カスタム ソース プロパティとして使用される名前と値のペア。

JSON 表現
{
  "name": string,
  "valueExpression": {
    object (Expr)
  }
}
フィールド
name

string

必須。カスタム ソース プロパティの名前。

valueExpression

object (Expr)

省略可。カスタム ソース プロパティの値の CEL 式。リソース プロパティの場合は、プロパティの値または引用符で囲まれた文字列を返すことができます。

ResourceSelector

検出機能を実行するリソースタイプのセレクタ。

JSON 表現
{
  "resourceTypes": [
    string
  ]
}
フィールド
resourceTypes[]

string

必須。検出機能を実行するリソースタイプ。各カスタム モジュールで指定できるリソースタイプは最大 5 つです。

重大度

検出結果の重大度。

列挙型
SEVERITY_UNSPECIFIED デフォルト値。この値は使用されません。
CRITICAL 重大度: 重大
HIGH 重大度: 高
MEDIUM 重大度: 中
LOW 重大度: 低

OrgPolicyConstraint

事前定義された組織のポリシーの制約。

JSON 表現
{
  "cannedConstraintId": string,
  "policyRules": [
    {
      object (PolicyRule)
    }
  ]
}
フィールド
cannedConstraintId

string

必須。制約の一意の識別子。

policyRules[]

object (PolicyRule)

必須。制約によって適用されるルール。

PolicyRule

組織のポリシーの制約で許可または拒否する値を定義するルール。

JSON 表現
{
  "condition": {
    object (Expr)
  },

  // Union field kind can be only one of the following:
  "values": {
    object (StringValues)
  },
  "allowAll": boolean,
  "denyAll": boolean,
  "enforce": boolean
  // End of list of possible types for union field kind.
}
フィールド
condition

object (Expr)

このルールをポリシーの評価に使用するかどうかを決定する条件。

設定する場合、google.type.Expr.expression フィールドには、|| または && 演算子で結合された 1 ~ 10 個のサブ式を含める必要があります。各サブ式で、Common Expression Language(CEL)関数 resource.matchTag() または resource.matchTagId() を使用する必要があります。

resource.matchTag() 関数は次の引数を取ります。

  • key_name: タグキーの名前空間名。組織 ID とスラッシュ(/)を接頭辞として使用します(例: 123456789012/environment)。
  • value_name: タグ値の短い名前

例: resource.matchTag('123456789012/environment, 'prod')

resource.matchTagId() 関数は次の引数を取ります。

  • key_id: タグキーの永続 ID(例: tagKeys/123456789012
  • value_id: タグ値の永続 ID(例: tagValues/567890123456

例: resource.matchTagId('tagKeys/123456789012', 'tagValues/567890123456')

共用体フィールド kindPolicyRule が定義するルールのタイプ。kind は次のいずれかになります。
values

object (StringValues)

リスト制約で許可される値と拒否される値。リスト型制約でのみ有効です。

allowAll

boolean

リスト制約で任意の値を許可するかどうか。リスト型制約でのみ有効です。

denyAll

boolean

リスト制約のすべての値を拒否するかどうか。リスト型制約でのみ有効です。

enforce

boolean

制約を適用するかどうか。ブール型制約でのみ有効です。

StringValues

リスト制約で許可される値と拒否される値。

すべての制約で、これらのフィールドにはリテラル値を含めることができます。必要に応じて、これらの値に is: 接頭辞を追加できます。値にコロンが含まれている場合(:)、is: 接頭辞が必要です。

一部の制約では、制約が適用されるリソース階層の一部(階層サブツリー)を指定できます。階層サブツリーを指定するには、under: 接頭辞の後に、次のいずれかの形式の値を指定します。

  • projects/{projectId}(例: projects/tokyo-rain-123
  • folders/{folder_id}(例: folders/1234567890123
  • organizations/{organization_id}(例: organizations/123456789012

制約の supportsUnder フィールドは、階層のサブツリーを指定できるかどうかを示します。階層サブツリーを指定できる事前定義された制約については、制約リファレンスをご覧ください。

JSON 表現
{
  "allowedValues": [
    string
  ],
  "deniedValues": [
    string
  ]
}
フィールド
allowedValues[]

string

制約で許可される値。

deniedValues[]

string

制約で拒否される値。

OrgPolicyConstraintCustom

カスタムの組織のポリシーの制約。

JSON 表現
{
  "customConstraint": {
    object (CustomConstraint)
  },
  "policyRules": [
    {
      object (PolicyRule)
    }
  ]
}
フィールド
customConstraint

object (CustomConstraint)

必須。制約のメタデータ。

policyRules[]

object (PolicyRule)

必須。制約によって適用されるルール。

CustomConstraint

カスタムのユーザー定義制約。制約は、制約で指定されたリソースタイプにのみ適用でき、制約が定義されている組織内でのみ適用できます。

カスタム制約を作成しても、自動的に適用されることはありません。制約を適用するには、組織のポリシーを使用する必要があります。

JSON 表現
{
  "name": string,
  "resourceTypes": [
    string
  ],
  "methodTypes": [
    enum (MethodType)
  ],
  "condition": string,
  "actionType": enum (ActionType),
  "displayName": string,
  "description": string,
  "updateTime": string
}
フィールド
name

string

変更不可。制約の名前(organizations/{organization_id}/customConstraints/custom.{custom_constraint_id} 形式)。例: organizations/123456789012/customConstraints/custom.createOnlyE2TypeVms

プレフィックス organizations/{organization_id}/customConstraints/custom. を除き、1 ~ 62 文字にする必要があります。

resourceTypes[]

string

変更不可。制約が適用されるリソースタイプ({canonical_service_name}/{resource_type_name} 形式)。例: compute.googleapis.com/Instance

methodTypes[]

enum (MethodType)

制約が適用されるオペレーションのタイプ。

condition

string

制約を適用するために true と評価される必要がある Common Expression Language(CEL)条件式。最大長は 1,000 文字です。

次に例を示します。

  • resource.instanceName.matches('(production|test)_(.+_)?[\d]+'): リソースの instanceName 属性に次の内容が含まれている場合、true に評価されます。
    • 接頭辞 production または test
    • アンダースコア(_
    • 省略可: 1 つ以上の文字、その後にアンダースコア(_
    • 1 桁以上
  • resource.management.auto_upgrade == true: リソースの management.auto_upgrade 属性が true の場合、true に評価されます。
actionType

enum (ActionType)

アクションを許可するか拒否するか。

displayName

string

制約の表示名。最大文字数は 200 文字です。

description

string

制約の説明。最大文字数は 2,000 文字です。

updateTime

string (Timestamp format)

出力専用。制約が最後に更新または作成された日時。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

MethodType

制約が適用されるオペレーションのタイプ。

制約が MethodType.UPDATE オペレーションに適用される場合は、MethodType.CREATE オペレーションにも適用する必要があります。

列挙型
METHOD_TYPE_UNSPECIFIED デフォルト値。この値は使用されません。
CREATE リソースの作成時に適用される制約。
UPDATE リソースの更新時に適用される制約。
DELETE サポートされていません。リソースの削除時に適用される制約。

ActionType

アクションを許可するか拒否するか。

列挙型
ACTION_TYPE_UNSPECIFIED デフォルト値。この値は使用されません。
ALLOW アクションを許可します。
DENY アクションを拒否します。