Nesta página, você encontra uma visão geral dos pares de chave-valor no posture.yaml
de configuração que você cria para definir as políticas para sua
de segurança da nuvem. Para criar um
arquivo YAML de postura e implantá-lo em seu ambiente, consulte Gerenciar um arquivo
de segurança.
Estrutura do arquivo YAML de postura
As posturas são arquivos YAML com a seguinte estrutura:
name: posture_name
state: posture_state
description: posture_description
policy_sets:
- policy_set_id: policy_set_ID
- description: policy_set_description
policies:
- policy_id: policy_id
compliance_standards:
- standard: policy_standards
- control: policy_control
- description: policy_description
# Definition for a organization policy
constraint:
org_policy_constraint:
canned_constraint_id: constraint_ID
policy_rules:
- org_policy_kind: org_policy_kind_value
- condition:
expression: org_policy_expression
title: org_policy_title
description: org_policy_description
location: org_policy_location
# Definition for a custom organization policy constraint
constraint:
org_policy_constraint_custom:
custom_constraint:
name: custom_org_constraint_name
resource_types: custom_org_resource_type
method_types: custom_org_method_type
condition: custom_org_condition
action_type: custom_org_action_type
display_name: custom_org_constraint_display_name
description: custom_org_constraint_description
policy_rules:
- org_policy_kind: org_policy_kind_value
- condition:
expression: org_policy_expression
title: org_policy_title
description: org_policy_description
location: org_policy_location
# Definition for a Security Health Analytics detector
constraint:
security_health_analytics_module:
module_name: sha_detector_name
module_enablement_state: sha_detector_enabled
# Definition for a custom Security Health Analytics detector
constraint:
security_health_analytics_custom_module:
display_name: sha_custom_detector_name
config:
predicate:
expression: sha_custom_detector_expression
title: sha_custom_detector_predicate_title
description: sha_custom_detector_predicate_description
location: sha_custom_detector_predicate_location
- custom_output:
- property:
name: sha_custom_detector_output_name
value_expression:
expression: sha_custom_detector_output_expression
title: sha_custom_detector_output_title
description: sha_custom_detector_output_description
location: sha_custom_detector_output_location
resource_selector:
- resource_types: sha_custom_detector_resource
severity: sha_custom_severity_level
description: sha_custom_detector_description
recommendation: sha_custom_detector_recommendation
module_enablement_state: sha_detector_enabled
Descrição dos pares de chave-valor
A tabela a seguir fornece uma descrição dos pares de chave-valor nas
posture.yaml
.
Par de chave-valor | Descrição |
---|---|
name: posture_name |
O nome da postura, que começa com uma letra. Esse valor é opcional, porque você especifica o nome da postura ao executar o comando gcloud scc postures create . |
state: posture_state |
Um ENUM que você possa definir como ACTIVE , DRAFT ou
DEPRECATED Para mais informações sobre estados de postura, consulte
Alterar
o estado de uma postura. |
description: posture_description |
Uma descrição da política. Este valor é opcional. |
policy_set_id: policy_set_ID |
Um identificador exclusivo para a política definida no arquivo de postura. Um arquivo de postura pode incluir vários conjuntos de políticas. |
description: policy_set_description |
Uma descrição do conjunto de políticas. Este valor é opcional. |
policy_id: policy_id |
Um identificador exclusivo da política dentro do conjunto de políticas. Um conjunto de políticas pode incluir várias políticas. |
standard: policy_compliance_standard |
O nome do padrão de compliance compatível com esta política. |
control: policy_compliance_control |
Os controles específicos dentro do padrão de compliance compatível com esta política. |
description: policy_compliance_description |
Uma descrição do padrão de compliance com suporte desta política. |
canned_constraint_id: constraint_ID |
O nome da restrição da política da organização. Por exemplo, cloudbuild.allowedWorkerPools
Não inclua o prefixo constraints/ em constraint_ID. |
org_policy_kind |
Os valores das políticas de lista da organização são allow_all , deny_all , allowed_values , denied_values . O valor das políticas booleanas da organização é enforce . |
org_policy_kind_value |
Os valores para o tipo allow_all , deny_all , enforce são true ou false . O valor para os tipos allowed_values e denied_values é uma lista de valores permitidos ou negados, respectivamente. |
condition: |
Uma condição que determina se a regra é usada na avaliação da política. Quando definido, o campo expression em Expr precisa incluir de 1 a 10 subexpressões unidas pelos operadores || ou && . Cada subexpressão precisa estar no formato resource.matchTag('ORG_ID/tag_key_short_name, 'tag_value_short_name') ou resource.matchTagId('tagKeys/key_id', 'tagValues/value_id') , em que key_name e value_name são os nomes de recursos para chaves de rótulo e valores. Esses nomes estão disponíveis no serviço Gerenciador de tags. Um exemplo de expressão é: resource.matchTag('123456789/environment, 'prod') ou resource.matchTagId('tagKeys/123', 'tagValues/456') .
|
expression: org_policy_expression |
A representação textual de uma expressão na sintaxe da Common Expression Language. Este valor é opcional. |
title: org_policy_title |
A descrição da finalidade da expressão. Este valor é opcional. |
description: org_policy_description |
A descrição da expressão. Este valor é opcional. |
location: org_policy_location |
Uma string que indica a localização da expressão para relatar erros. Por exemplo, um nome de arquivo e uma posição no arquivo. Este valor é opcional. |
name: custom_org_constraint_name |
O nome da restrição personalizada, no formato organizations/ORGANIZATION_ID/customConstraints/CONSTRAINT_NAME . Por exemplo, organizations/3589215982/customConstraints/custom.disableGkeAutoUpgrade . O CONSTRAINT_NAME não pode ter mais de 62 caracteres. O prefixo organizations/{organization_id}/customConstraints/custom não é contado. Definir uma restrição personalizada no arquivo de postura cria uma nova restrição personalizada. |
resource_types: custom_org_resource_type |
O nome totalmente qualificado do recurso REST do Google Cloud que contém o objeto e o campo que você quer restringir. Há um máximo de 20 restrições personalizadas por tipo de recurso. |
method_types: custom_org_method_type |
A lista de métodos RESTful para a aplicação da restrição. |
condition: custom_org_condition |
A condição CEL que se refere ao recurso de serviço compatível. Esse campo tem um comprimento máximo de 1000 caracteres. |
action_type: custom_org_action_type |
A ação a ser tomada se a condição for atendida. |
display_name: custom_org_constraint_display_name |
Um nome legível para a restrição. Esse campo tem um comprimento máximo de 200 caracteres. |
description: custom_org_constraint_description |
A descrição da restrição a ser exibida como uma mensagem de erro quando a política for violada. Esse campo tem um comprimento máximo de 2000 caracteres. |
module_name: sha_detector_name |
O nome de um detector da Análise de integridade da segurança. Por exemplo, BIGQUERY_TABLE_CMEK_DISABLED |
module_enablement_state: sha_detector_enabled |
Indica se o detector da Análise de integridade da segurança está ativado. ENABLED ou DISABLED . |
display_name: sha_custom_detector_name |
O nome do módulo personalizado do Security Health Analytics. O nome precisa ter entre 1 e 128 caracteres, começar com letra minúscula e conter apenas caracteres alfanuméricos ou sublinhados. |
expression: sha_custom_detector_expression |
As expressões CEL que verificam as propriedades dos tipos de recurso a serem verificados. |
title: sha_custom_detector_predicate_title |
O nome da propriedade de predicado do módulo personalizado da Análise de integridade da segurança. |
description: sha_custom_detector_predicate_description |
A descrição da propriedade de predicado do módulo personalizado do Security Health Analytics. |
location: sha_custom_detector_predicate_location |
O local ao qual a propriedade de predicado se aplica. |
name: sha_custom_detector_output_name |
O nome da propriedade custom_output . |
expression: sha_custom_detector_output_expression |
Qual expressão retornar na saída. |
title: sha_custom_detector_output_title |
O título da saída. |
description: sha_custom_detector_output_description |
A descrição da saída do módulo personalizado do Security Health Analytics. |
location: sha_custom_detector_output_location |
O local ao qual a saída se aplica. |
resource_types: sha_custom_detector_resource |
Os tipos de recursos que o módulo personalizado verifica. |
severity: sha_custom_severity_level |
A gravidade das descobertas criadas por este módulo. |
description: sha_custom_detector_description |
A vulnerabilidade ou configuração incorreta que o módulo personalizado detecta. |
recommendation: sha_custom_detector_recommendation |
Uma descrição de como corrigir o problema detectado. |
Amostra de postura.yaml
createTime: '2024-04-01T15:27:27.188366349Z'
etag: h5ulCqzUqOcaIjKjxHFrOrrZpmneG8A0K1mdO-uHsLM
name: organizations/123/locations/global/postures/mixedcasposture
policySets:
- policies:
- constraint:
securityHealthAnalyticsModule:
moduleEnablementState: ENABLED
moduleName: BIGQUERY_TABLE_CMEK_DISABLED
description: enable BIGQUERY_TABLE_CMEK_DISABLED
policyId: SHA module BIGQUERY_TABLE_CMEK_DISABLED
- constraint:
orgPolicyConstraint:
cannedConstraintId: iam.allowServiceAccountCredentialLifetimeExtension
policyRules:
- allowAll: true
- condition:
expression: resource.matchTag("123/location", "us-east3")
title: policy for us-east3
description: apply policy to us-east3
policyId: test/123/policies/iam.allowServiceAccountCredentialLifetimeExtension
- constraint:
orgPolicyConstraintCustom:
customConstraint:
actionType: ALLOW
condition: resource.management.autoUpgrade == false
description: Only allow GKE NodePool resource to be created or updated if
AutoUpgrade is not enabled where this custom constraint is enforced.
displayName: Disable GKE auto upgrade
methodTypes:
- CREATE
name: organizations/123/customConstraints/custom.gke123
resourceTypes:
- container.googleapis.com/NodePool
policyRules:
- enforce: true
policyId: orgPolicycustomconstraint
- constraint:
securityHealthAnalyticsModule:
moduleEnablementState: DISABLED
moduleName: PUBLIC_BUCKET_ACL
description: PUBLIC_BUCKET_ACL disabled
policyId: sha module PUBLIC_BUCKET_ACL
- constraint:
securityHealthAnalyticsCustomModule:
config:
customOutput: {}
description: Test Custom Module
predicate:
expression: resource.rotationPeriod > duration('2592000s')
recommendation: Testing custom modules
resourceSelector:
resourceTypes:
- cloudkms.googleapis.com/CryptoKey
severity: CRITICAL
displayName: customSHA
moduleEnablementState: ENABLED
policyId: sha_custom_module
- constraint:
securityHealthAnalyticsCustomModule:
config:
customOutput: {}
description: Test Custom Module
predicate:
expression: resource.rotationPeriod > duration('2592000s')
recommendation: Testing custom modules
resourceSelector:
resourceTypes:
- cloudkms.googleapis.com/CryptoKey
severity: CRITICAL
displayName: customSHA2
moduleEnablementState: ENABLED
policyId: sha_custom_module_2
policySetId: PolicySetmix
- policy_set_id: BigQuery detective policy set
description: SHA module that new customers can automatically enable.
policies:
- policy_id: Public dataset
constraint:
securityHealthAnalyticsModule:
moduleEnablementState: ENABLED
moduleName: PUBLIC_DATASET
state: ACTIVE
Exemplos
Para exemplos, consulte a postura predefinida de modelos.
Confira a seguir um arquivo de postura que inclui detectores da Análise de integridade da segurança para a AWS e o Google Cloud:
description: Posture to help make storage workloads more secure across Google Cloud and AWS.
state: ACTIVE
policy_sets:
- policy_set_id: Google Cloud policy set
description: Policy set containing organization policies and Security Health Analytics modules for securing Cloud Storage.
policies:
- policy_id: Enforce Public Access Prevention
compliance_standards:
- standard: NIST SP 800-53
control: AC-3
- standard: NIST SP 800-53
control: AC-17
- standard: NIST SP 800-53
control: AC-20
constraint:
org_policy_constraint:
canned_constraint_id: storage.publicAccessPrevention
policy_rules:
- enforce: true
description: This policy prevents access to existing and future resources via the public internet by disabling and blocking access control lists (ACLs) and IAM permissions that grant access to allUsers and allAuthenticatedUsers.
- policy_id: Bucket IAM not monitored
compliance_standards:
- standard: NIST 800-53 R5
control: AC-12
- standard: NIST 800-53 R5
control: AC-2
- standard: NIST 800-53 R5
control: AC-7
constraint:
securityHealthAnalyticsModule:
moduleEnablementState: ENABLED
moduleName: BUCKET_IAM_NOT_MONITORED
description: This detector logs metric filter and creates alerts for Cloud Storage IAM permission changes. By monitoring changes to Cloud Storage bucket permissions, this detector can help you identify over-privileged users or suspicious activity at early stages.
- policy_set_id: AWS policy set
description: Policy set containing AWS built-in Security Health Analytics modules for securing S3 buckets.
policies:
- policy_id: S3 bucket replication enabled
compliance_standards:
- standard: NIST 800-53 R5
control: SI-13(5)
constraint:
securityHealthAnalyticsModule:
moduleEnablementState: ENABLED
moduleName: S3_BUCKET_REPLICATION_ENABLED
description: This control checks whether an Amazon S3 bucket has cross-region replication enabled. The control fails if the bucket doesn't have cross-region replication enabled or if same-region replication is also enabled.
- policy_id: S3 bucket logging enabled
compliance_standards:
- standard: NIST 800-53 R5
control: SI-13(5)
- standard: PCI DSS 3.2.1
control: 10.3.1
constraint:
securityHealthAnalyticsModule:
moduleEnablementState: ENABLED
moduleName: S3_BUCKET_LOGGING_ENABLED
description: AWS S3 Server Access Logging feature records access requests to storage buckets which is useful for security audits. By default, server access logging is not enabled for S3 buckets.
A seguir
- Crie um arquivo YAML de postura e implante-o no seu ambiente.
- Saiba mais sobre os módulos personalizados para a Análise de integridade da segurança, incluindo limitações.
- Saiba mais sobre as restrições das políticas personalizadas da organização.
- Criar um recurso do Terraform para posturas.