Skip to content

chore: update sample #49

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jan 13, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 12 additions & 24 deletions masking/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,18 @@ Tutorials: [Data Masking with GitHub Actions](https://www.bytebase.com/docs/tuto

## Workspace-level policies and settings

### Semantic type

Docs: https://www.bytebase.com/docs/security/data-masking/semantic-types/

API: https://api.bytebase.com/#tag/settingservice/PATCH/v1/settings/{setting}

```bash
curl --request PATCH ${bytebase_url}/v1/settings/bb.workspace.semantic-types \
--header 'Authorization: Bearer '${bytebase_token} \
--data @semantic-type.json
```

### Global masking rule

Docs: https://www.bytebase.com/docs/security/data-masking/global-masking-rule/
Expand All @@ -30,30 +42,6 @@ curl --request PATCH ${bytebase_url}/v1/settings/bb.workspace.data-classificatio
--data @data-classification.json
```

### Masking algorithm

Docs: https://www.bytebase.com/docs/security/data-masking/masking-algorithm/

API: https://api.bytebase.com/#tag/settingservice/PATCH/v1/settings/{setting}

```bash
curl --request PATCH ${bytebase_url}/v1/settings/bb.workspace.masking-algorithm \
--header 'Authorization: Bearer '${bytebase_token} \
--data @masking-algorithm.json
```

### Semantic type

Docs: https://www.bytebase.com/docs/security/data-masking/semantic-types/

API: https://api.bytebase.com/#tag/settingservice/PATCH/v1/settings/{setting}

```bash
curl --request PATCH ${bytebase_url}/v1/settings/bb.workspace.semantic-types \
--header 'Authorization: Bearer '${bytebase_token} \
--data @semantic-type.json
```

## Project-level masking exception

Project-level masking exception to overrule the workspace-level setting.
Expand Down
23 changes: 6 additions & 17 deletions masking/databases/README.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,14 @@
## Column masking explicitly
## Database catalog for semantic type and classification

Docs: https://www.bytebase.com/docs/security/data-masking/column-masking/

API: https://api.bytebase.com/#tag/orgpolicyservice/PATCH/v1/instances/{instance}/databases/{database}/policies/{policy}

```bash
curl --request PATCH "${bytebase_url}/v1/instances/prod-sample-instance/databases/hr_prod/policies/masking?allow_missing=true&update_mask=payload" \
--header 'Authorization: Bearer '${bytebase_token} \
--data @column-masking.json
```

## Column semantic type and classification

Docs:
Docs:
- Semantic type: https://www.bytebase.com/docs/security/data-masking/semantic-types/
- Classification: https://www.bytebase.com/docs/security/data-masking/data-classification/#manual-classification

API: https://api.bytebase.com/#tag/databaseservice/PATCH/v1/instances/{instance}/databases/{database}/metadata
API: https://api.bytebase.com/#tag/databasecatalogservice/PATCH/v1/instances/%7Binstance%7D/databases/{database}/catalog

```bash
curl --request PATCH ${bytebase_url}/v1/instances/prod-sample-instance/databases/hr_prod/metadata \
cd prod-sample-instance/hr_prod
curl --request PATCH ${bytebase_url}/v1/instances/prod-sample-instance/databases/hr_prod/catalog \
--header 'Authorization: Bearer '${bytebase_token} \
--data @metadata.json
--data @database-catalog.json
```
18 changes: 0 additions & 18 deletions masking/databases/prod-sample-instance/hr_prod/column-masking.json

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"name": "instances/prod-sample-instance/databases/hr_test/catalog",
"schemas": [
{
"name": "",
"tables": [
{
"name": "salary",
"columns": {
"columns": [
{
"name": "amount",
"semanticType": "bb.default",
"labels": {},
"classification": ""
}
]
},
"classification": "2-2"
}
]
}
]
}
27 changes: 0 additions & 27 deletions masking/databases/prod-sample-instance/hr_prod/metadata.json

This file was deleted.

18 changes: 0 additions & 18 deletions masking/databases/test-sample-instance/hr_test/column-masking.json

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"name": "instances/test-sample-instance/databases/hr_test/catalog",
"schemas": [
{
"name": "",
"tables": [
{
"name": "salary",
"columns": {
"columns": [
{
"name": "amount",
"semanticType": "bb.default",
"labels": {},
"classification": ""
}
]
},
"classification": ""
}
]
}
]
}
22 changes: 2 additions & 20 deletions masking/global-masking-rule.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,32 +4,14 @@
"type": "MASKING_RULE",
"maskingRulePolicy": {
"rules": [
{
"id": "9dda9145-895e-451a-99d8-16254c4eb287",
"condition": {
"expression": "environment_id == \"test\"",
"title": "",
"description": ""
},
"maskingLevel": "NONE"
},
{
"id": "d188a226-5ed6-45cc-82e3-baa890a87962",
"condition": {
"expression": "classification_level in [\"1\"]",
"title": "",
"description": ""
},
"maskingLevel": "NONE"
},
{
"id": "76356d81-6231-4128-9be7-2c549fc505f5",
"condition": {
"expression": "classification_level in [\"2\", \"3\"]",
"title": "",
"description": ""
},
"maskingLevel": "PARTIAL"
"semanticType": "bb.default-partial"
},
{
"id": "1ddc47c9-6ab6-4760-accd-947bc1a5f155",
Expand All @@ -38,7 +20,7 @@
"title": "",
"description": ""
},
"maskingLevel": "FULL"
"semanticType": "bb.default"
}
]
},
Expand Down
33 changes: 0 additions & 33 deletions masking/masking-algorithm.json

This file was deleted.

3 changes: 0 additions & 3 deletions masking/projects/project-sample/masking-exception.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
"maskingExceptions": [
{
"action": "EXPORT",
"maskingLevel": "NONE",
"member": "user:[email protected]",
"condition": {
"expression": "resource.instance_id == \"prod-sample-instance\" && resource.database_name == \"hr_prod\" && resource.schema_name == \"public\" && resource.table_name == \"salary\" && resource.column_name == \"amount\"",
Expand All @@ -15,7 +14,6 @@
},
{
"action": "QUERY",
"maskingLevel": "PARTIAL",
"member": "user:[email protected]",
"condition": {
"expression": "resource.instance_id == \"prod-sample-instance\" && resource.database_name == \"hr_prod\" && resource.schema_name == \"public\" && resource.table_name == \"salary\" && resource.column_name == \"amount\"",
Expand All @@ -25,7 +23,6 @@
},
{
"action": "QUERY",
"maskingLevel": "PARTIAL",
"member": "group:[email protected]",
"condition": {
"expression": "resource.instance_id == \"prod-sample-instance\" && resource.database_name == \"hr_prod\" && resource.schema_name == \"public\" && resource.table_name == \"salary\" && resource.column_name == \"amount\"",
Expand Down
37 changes: 33 additions & 4 deletions masking/semantic-type.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,41 @@
"value": {
"semanticTypeSettingValue": {
"types": [
{
"id": "bb.default",
"title": "Default",
"description": "Default semantic type for full masking"
},
{
"id": "bb.default-partial",
"title": "Default Partial",
"description": "Default semantic for partial masking"
},
{
"id": "e8d3fd41-eba0-4afd-ae0f-32c91a4ee710",
"title": "semantic-type-001",
"description": "",
"partialMaskAlgorithmId": "9347822e-5a4a-4797-85ed-a59bb3115622",
"fullMaskAlgorithmId": ""
"title": "Personal sensitive data",
"description": "Custom semantic type with full masking for personal sensitive data",
"algorithm": {
"fullMask": {
"substitution": "***"
}
}
},
{
"id": "38b31ac4-b90d-44ac-b42a-19d9c76c83ea",
"title": "Location",
"description": "Custom semantic type with range masking for location",
"algorithm": {
"rangeMask": {
"slices": [
{
"start": 0,
"end": 4,
"substitution": "*"
}
]
}
}
}
]
}
Expand Down
Loading