スキャンルールを更新します。リクエスト本文は standard_pattern 関係を含んではなりません。この関係は編集できないからです。standard_pattern 関係を持つルールの正規表現を編集しようとすると、エラーになることもあります。
This endpoint requires the data_scanner_write permission.
Attributes excluded from the scan. If namespaces is provided, it has to be a sub-path of the namespaces array.
included_keyword_configuration
object
Object defining a set of keywords and a number of characters that help reduce noise.
You can provide a list of keywords you would like to check within a defined proximity of the matching pattern.
If any of the keywords are found within the proximity check, the match is kept.
If none are found, the match is discarded.
character_count [required]
int64
The number of characters behind a match detected by Sensitive Data Scanner to look for the keywords defined.
character_count should be greater than the maximum length of a keyword defined for a rule.
keywords [required]
[string]
Keyword list that will be checked during scanning in order to validate a match.
The number of keywords in the list must be less than or equal to 30.
use_recommended_keywords
boolean
Should the rule use the underlying standard pattern keyword configuration. If set to true, the rule must be tied
to a standard pattern. If set to false, the specified keywords and character_count are applied.
is_enabled
boolean
Whether or not the rule is enabled.
name
string
Name of the rule.
namespaces
[string]
Attributes included in the scan. If namespaces is empty or missing, all attributes except excluded_namespaces are scanned.
If both are missing the whole event is scanned.
pattern
string
Not included if there is a relationship to a standard pattern.
priority
int64
Integer from 1 (high) to 5 (low) indicating rule issue severity.
suppressions
object
Object describing the suppressions for a rule. There are three types of suppressions, starts_with, ends_with, and exact_match.
Suppressed matches are not obfuscated, counted in metrics, or displayed in the Findings page.
ends_with
[string]
List of strings to use for suppression of matches ending with these strings.
exact_match
[string]
List of strings to use for suppression of matches exactly matching these strings.
starts_with
[string]
List of strings to use for suppression of matches starting with these strings.
tags
[string]
List of tags.
text_replacement
object
Object describing how the scanned event will be replaced.
number_of_chars
int64
Required if type == 'partial_replacement_from_beginning'
or 'partial_replacement_from_end'. It must be > 0.
replacement_string
string
Required if type == 'replacement_string'.
should_save_match
boolean
Only valid when type == replacement_string. When enabled, matches can be unmasked in logs by users with ‘Data Scanner Unmask’ permission. As a security best practice, avoid masking for highly-sensitive, long-lived data.
type
enum
Type of the replacement text. None means no replacement.
hash means the data will be stubbed. replacement_string means that
one can chose a text to replace the data. partial_replacement_from_beginning
allows a user to partially replace the data from the beginning, and
partial_replacement_from_end on the other hand, allows to replace data from
the end.
Allowed enum values: none,hash,replacement_string,partial_replacement_from_beginning,partial_replacement_from_end
default: none
id
string
ID of the rule.
relationships
object
Relationships of a scanning rule.
group
object
A scanning group data.
data
object
A scanning group.
id
string
ID of the group.
type
enum
Sensitive Data Scanner group type.
Allowed enum values: sensitive_data_scanner_group
default: sensitive_data_scanner_group
standard_pattern
object
A standard pattern.
data
object
Data containing the standard pattern id.
id
string
ID of the standard pattern.
type
enum
Sensitive Data Scanner standard pattern type.
Allowed enum values: sensitive_data_scanner_standard_pattern
default: sensitive_data_scanner_standard_pattern
type
enum
Sensitive Data Scanner rule type.
Allowed enum values: sensitive_data_scanner_rule
default: sensitive_data_scanner_rule
meta [required]
object
Meta payload containing information about the API.
// Update Scanning Rule returns "OK" responsepackagemainimport("context""encoding/json""fmt""os""github.com/DataDog/datadog-api-client-go/v2/api/datadog""github.com/DataDog/datadog-api-client-go/v2/api/datadogV2")funcmain(){// the "scanning_group" has a "scanning_rule"RuleDataID:=os.Getenv("RULE_DATA_ID")body:=datadogV2.SensitiveDataScannerRuleUpdateRequest{Meta:datadogV2.SensitiveDataScannerMetaVersionOnly{},Data:datadogV2.SensitiveDataScannerRuleUpdate{Id:datadog.PtrString(RuleDataID),Type:datadogV2.SENSITIVEDATASCANNERRULETYPE_SENSITIVE_DATA_SCANNER_RULE.Ptr(),Attributes:&datadogV2.SensitiveDataScannerRuleAttributes{Name:datadog.PtrString("Example-Sensitive-Data-Scanner"),Pattern:datadog.PtrString("pattern"),TextReplacement:&datadogV2.SensitiveDataScannerTextReplacement{Type:datadogV2.SENSITIVEDATASCANNERTEXTREPLACEMENTTYPE_NONE.Ptr(),},Tags:[]string{"sensitive_data:true",},IsEnabled:datadog.PtrBool(true),Priority:datadog.PtrInt64(5),IncludedKeywordConfiguration:&datadogV2.SensitiveDataScannerIncludedKeywordConfiguration{Keywords:[]string{"credit card","cc",},CharacterCount:35,},},},}ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV2.NewSensitiveDataScannerApi(apiClient)resp,r,err:=api.UpdateScanningRule(ctx,RuleDataID,body)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SensitiveDataScannerApi.UpdateScanningRule`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SensitiveDataScannerApi.UpdateScanningRule`:\n%s\n",responseContent)}
"""
Update Scanning Rule returns "OK" response
"""fromosimportenvironfromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v2.api.sensitive_data_scanner_apiimportSensitiveDataScannerApifromdatadog_api_client.v2.model.sensitive_data_scanner_included_keyword_configurationimport(SensitiveDataScannerIncludedKeywordConfiguration,)fromdatadog_api_client.v2.model.sensitive_data_scanner_meta_version_onlyimportSensitiveDataScannerMetaVersionOnlyfromdatadog_api_client.v2.model.sensitive_data_scanner_rule_attributesimportSensitiveDataScannerRuleAttributesfromdatadog_api_client.v2.model.sensitive_data_scanner_rule_typeimportSensitiveDataScannerRuleTypefromdatadog_api_client.v2.model.sensitive_data_scanner_rule_updateimportSensitiveDataScannerRuleUpdatefromdatadog_api_client.v2.model.sensitive_data_scanner_rule_update_requestimportSensitiveDataScannerRuleUpdateRequestfromdatadog_api_client.v2.model.sensitive_data_scanner_text_replacementimportSensitiveDataScannerTextReplacementfromdatadog_api_client.v2.model.sensitive_data_scanner_text_replacement_typeimport(SensitiveDataScannerTextReplacementType,)# the "scanning_group" has a "scanning_rule"RULE_DATA_ID=environ["RULE_DATA_ID"]body=SensitiveDataScannerRuleUpdateRequest(meta=SensitiveDataScannerMetaVersionOnly(),data=SensitiveDataScannerRuleUpdate(id=RULE_DATA_ID,type=SensitiveDataScannerRuleType.SENSITIVE_DATA_SCANNER_RULE,attributes=SensitiveDataScannerRuleAttributes(name="Example-Sensitive-Data-Scanner",pattern="pattern",text_replacement=SensitiveDataScannerTextReplacement(type=SensitiveDataScannerTextReplacementType.NONE,),tags=["sensitive_data:true",],is_enabled=True,priority=5,included_keyword_configuration=SensitiveDataScannerIncludedKeywordConfiguration(keywords=["credit card","cc",],character_count=35,),),),)configuration=Configuration()withApiClient(configuration)asapi_client:api_instance=SensitiveDataScannerApi(api_client)response=api_instance.update_scanning_rule(rule_id=RULE_DATA_ID,body=body)print(response)
# Update Scanning Rule returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V2::SensitiveDataScannerAPI.new# the "scanning_group" has a "scanning_rule"RULE_DATA_ID=ENV["RULE_DATA_ID"]body=DatadogAPIClient::V2::SensitiveDataScannerRuleUpdateRequest.new({meta:DatadogAPIClient::V2::SensitiveDataScannerMetaVersionOnly.new({}),data:DatadogAPIClient::V2::SensitiveDataScannerRuleUpdate.new({id:RULE_DATA_ID,type:DatadogAPIClient::V2::SensitiveDataScannerRuleType::SENSITIVE_DATA_SCANNER_RULE,attributes:DatadogAPIClient::V2::SensitiveDataScannerRuleAttributes.new({name:"Example-Sensitive-Data-Scanner",pattern:"pattern",text_replacement:DatadogAPIClient::V2::SensitiveDataScannerTextReplacement.new({type:DatadogAPIClient::V2::SensitiveDataScannerTextReplacementType::NONE,}),tags:["sensitive_data:true",],is_enabled:true,priority:5,included_keyword_configuration:DatadogAPIClient::V2::SensitiveDataScannerIncludedKeywordConfiguration.new({keywords:["credit card","cc",],character_count:35,}),}),}),})papi_instance.update_scanning_rule(RULE_DATA_ID,body)
// Update Scanning Rule returns "OK" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV2::api_sensitive_data_scanner::SensitiveDataScannerAPI;usedatadog_api_client::datadogV2::model::SensitiveDataScannerIncludedKeywordConfiguration;usedatadog_api_client::datadogV2::model::SensitiveDataScannerMetaVersionOnly;usedatadog_api_client::datadogV2::model::SensitiveDataScannerRuleAttributes;usedatadog_api_client::datadogV2::model::SensitiveDataScannerRuleType;usedatadog_api_client::datadogV2::model::SensitiveDataScannerRuleUpdate;usedatadog_api_client::datadogV2::model::SensitiveDataScannerRuleUpdateRequest;usedatadog_api_client::datadogV2::model::SensitiveDataScannerTextReplacement;usedatadog_api_client::datadogV2::model::SensitiveDataScannerTextReplacementType;#[tokio::main]asyncfnmain(){// the "scanning_group" has a "scanning_rule"
letrule_data_id=std::env::var("RULE_DATA_ID").unwrap();letbody=SensitiveDataScannerRuleUpdateRequest::new(SensitiveDataScannerRuleUpdate::new().attributes(SensitiveDataScannerRuleAttributes::new().included_keyword_configuration(SensitiveDataScannerIncludedKeywordConfiguration::new(35,vec!["credit card".to_string(),"cc".to_string()],),).is_enabled(true).name("Example-Sensitive-Data-Scanner".to_string()).pattern("pattern".to_string()).priority(5).tags(vec!["sensitive_data:true".to_string()]).text_replacement(SensitiveDataScannerTextReplacement::new().type_(SensitiveDataScannerTextReplacementType::NONE),),).id(rule_data_id.clone()).type_(SensitiveDataScannerRuleType::SENSITIVE_DATA_SCANNER_RULE),SensitiveDataScannerMetaVersionOnly::new(),);letconfiguration=datadog::Configuration::new();letapi=SensitiveDataScannerAPI::with_config(configuration);letresp=api.update_scanning_rule(rule_data_id.clone(),body).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com"DD_API_KEY="<API-KEY>"DD_APP_KEY="<APP-KEY>"cargo run
/**
* Update Scanning Rule returns "OK" response
*/import{client,v2}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv2.SensitiveDataScannerApi(configuration);// the "scanning_group" has a "scanning_rule"
constRULE_DATA_ID=process.env.RULE_DATA_IDasstring;constparams: v2.SensitiveDataScannerApiUpdateScanningRuleRequest={body:{meta:{},data:{id: RULE_DATA_ID,type:"sensitive_data_scanner_rule",attributes:{name:"Example-Sensitive-Data-Scanner",pattern:"pattern",textReplacement:{type:"none",},tags:["sensitive_data:true"],isEnabled: true,priority: 5,includedKeywordConfiguration:{keywords:["credit card","cc"],characterCount: 35,},},},},ruleId: RULE_DATA_ID,};apiInstance.updateScanningRule(params).then((data: v2.SensitiveDataScannerRuleUpdateResponse)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));