SlideShare uma empresa Scribd logo
1 de 32
$ whoami
• Наталя Годек
• Харківʼянка в Лондоні
• Cloud Architect/Системщик/Девопс
• GDE in Cloud Platform
• Соцмережі: @ouvessvit
В світі стільки інформації
Всі дані - для вашого задоволення
Потоки даних* Логи Дані клієнтів
* Картинка з видрами авторства Мітча Сеймура з книги “Gently Down the Stream”
Дії користувачів
ouvessvit
ouvessvit
Конфіденційні дані можна зберігати
в хмарі?!
Платформа даних, народжена в хмарі: GCP
BigQuery
Cloud Storage Composer
Cloud
Functions
Vertex AI
Dataplex
Google
Kubernetes
Engine
Pub/Sub
Spanner
Cloud SQL
Memorystore
ouvessvit
Платформа даних, народжена в хмарі: AWS
Kafka - MSK
Opensearch
RDS
k8s - EKS
Elasticache
S3
AWS Glue
AWS
Athena
Kinesis Data
Streams
Kinesis Data
Analytics
SageMaker
ouvessvit
Хмарні сервіси - публічно доступні API.
Як захистити дані?
AWS
Безсерверні продукти комунікують через інтернет
Приватні
сервіси
VPC
Subnet
Інтернет
ouvessvit
ouvessvit
Безпека в AWS з VPC Endpoints
ouvessvit
AWS
Приватні
сервіси
VPC
Subnet
Інтернет
Та ж історія в Google Cloud
Project 1 Project 2 Project 3
VPC
Storage BQ BQ
Cloud
Functions
Корпоративний Wifi
ouvessvit
VPC Service Perimeter
Захист даних в Google Cloud з VPC Service Controls
Інтернет
NO_MATCHING_POLICY
RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER
Неавторизована особа
Неавторизований проєкт GCP
Ingress/Egress Policy
Дозволена особа
IP адреси VPN чи офісів
Корпоративний
Wifi
Захищені API
Проєкт 1
Проєкт 2
Проєкт 3
Звʼязок між
сервісами
Google Cloud
залишається в
межах мереж
Гугла
ouvessvit
VPC Service Perimeter
Захист даних в Google Cloud з VPC Service Controls
Інтернет
NO_MATCHING_POLICY
RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER
Неавторизована особа
Неавторизований проєкт GCP
Ingress/Egress Policy
Дозволена особа
IP адреси VPN чи офісів
Корпоративний
Wifi
Захищені API
Проєкт 1
Проєкт 2
Проєкт 3
Звʼязок між
сервісами
Google Cloud
залишається в
межах мереж
Гугла
ouvessvit
VPC Service Perimeter
Захист даних в Google Cloud з VPC Service Controls
Інтернет
NO_MATCHING_POLICY
RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER
Неавторизована особа
Неавторизований проєкт GCP
Ingress/Egress Policy
Дозволена особа
IP адреси VPN чи офісів
Корпоративний
Wifi
Захищені API
Проєкт 1
Проєкт 2
Проєкт 3
Звʼязок між
сервісами
Google Cloud
залишається в
межах мереж
Гугла
ouvessvit
VPC Service Perimeter
Захист даних в Google Cloud з VPC Service Controls
Інтернет
NO_MATCHING_POLICY
RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER
Неавторизована особа
Неавторизований проєкт GCP
Ingress/Egress Policy
Дозволена особа
IP адреси VPN чи офісів
Корпоративний
Wifi
Захищені API
Проєкт 1
Проєкт 2
Проєкт 3
Звʼязок між
сервісами
Google Cloud
залишається в
межах мереж
Гугла
ouvessvit
VPC Service Perimeter
Захист даних в Google Cloud з VPC Service Controls
Інтернет
NO_MATCHING_POLICY
RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER
Неавторизована особа
Неавторизований проєкт GCP
Ingress/Egress Policy
Дозволена особа
IP адреси VPN чи офісів
Корпоративний
Wifi
Захищені API
Проєкт 1
Проєкт 2
Проєкт 3
Звʼязок між
сервісами
Google Cloud
залишається в
межах мереж
Гугла
ouvessvit
Bridges: для зʼєднання
проєктів в різних
периметрах
Access Levels: для
визначення, хто має
доступ та звідки
Ingress/Egress Policies:
перелік певних API
запитів, що можуть
перетинати кордони
периметру
* All IDs and IP addresses are randomly generated
Захист даних в Google Cloud з VPC Service Controls
ouvessvit
VPC Service Perimeter
Захищені API
Проєкт 1
Проєкт 2
Проєкт 3
Звʼязок між
сервісами
Google Cloud
залишається в
межах мереж
Гугла
Налаштовуємо Cloud Run & Cloud Functions
ERROR: VPC Service Controls: Request is prohibited by organization’s policy.
Мій Проєкт
VPC Service Perimeter
func-sa my-func1 my-
dataset
Cloud Functions, Cloud Run та інші
безсерверні продукти категорії compute
працюють в так званих тіньових проєктах;
для забезпечення комунікації з захищеними
сервісами даних недостатньо додати їх до
одного периметру.
ouvessvit
Налаштовуємо Cloud Run & Cloud Functions
Twitter: ouvessvit
Мій Проєкт
VPC Service Perimeter
func-sa my-func1 my-
dataset
Варіант 1: додати service account функції до
спеціального access level, що приєднаний
до периметру.
Таким чином, запит до датасету прийде від
дозволеного користувача, і буде
дозволений в периметрі.
cloud-functions-access-
lvl:
- members:
- func-sa@my-
project.iam.gserviceacc
ount.com
ouvessvit
Налаштовуємо Cloud Run & Cloud Functions
Мій Проєкт
VPC Service Perimeter
func-sa my-func1 my-
dataset
Варіант 2: сконфігурувати функцію в
підмережі за використання Serverless VPC
Access Connector.
Таким чином, для периметру запит
виглядатиме як такий, що надійшов з
довіреної мережі (мережі того ж проєкта).
Serverless VPC
connector
subnet
ouvessvit
AWS не шифрує за замовчанням
Налаштовуємо Glue: шифрування каталогу
AWS Glue
S3: бізнес дані
Glue logs
resource "aws_glue_data_catalog_encryption_settings" "example" {
data_catalog_encryption_settings {
encryption_at_rest {
catalog_encryption_mode = "SSE-KMS"
kms_key_arn =
data.aws_kms_key.glue_catalog.arn
}
}
}
resource "aws_glue_security_configuration" "example" {
name = "example"
encryption_configuration {
cloudwatch_encryption {
cloudwatch_encryption_mode = "SSE-KMS"
kms_key_arn =
data.aws_kms_key.glue_logs.arn
}
s3_encryption {
s3_encryption_mode = "SSE-S3"
}
}
}
S3: тимчасове
сховище
ouvessvit
Налаштовуємо Glue: шифрування каталогу
AWS Glue
Glue logs
resource "aws_glue_data_catalog_encryption_settings" "example" {
data_catalog_encryption_settings {
encryption_at_rest {
catalog_encryption_mode = "SSE-KMS"
kms_key_arn =
data.aws_kms_key.glue_catalog.arn
}
}
}
resource "aws_glue_security_configuration" "example" {
name = "example"
encryption_configuration {
cloudwatch_encryption {
cloudwatch_encryption_mode = "SSE-KMS"
kms_key_arn =
data.aws_kms_key.glue_logs.arn
}
s3_encryption {
s3_encryption_mode = "SSE-KMS"
kms_key_arn =
data.aws_kms_key.glue_s3.arn
}
ouvessvit
S3: бізнес дані
S3: тимчасове
сховище
Налаштовуємо Glue: шифрування каталогу
AWS Glue
Glue logs
resource "aws_glue_data_catalog_encryption_settings" "example" {
data_catalog_encryption_settings {
encryption_at_rest {
catalog_encryption_mode = "SSE-KMS"
kms_key_arn =
data.aws_kms_key.glue_catalog.arn
}
}
}
resource "aws_glue_security_configuration" "example" {
name = "example"
encryption_configuration {
cloudwatch_encryption {
cloudwatch_encryption_mode = "SSE-KMS"
kms_key_arn =
data.aws_kms_key.glue_logs.arn
}
s3_encryption {
s3_encryption_mode = "SSE-KMS"
kms_key_arn =
data.aws_kms_key.glue_s3.arn
}
ouvessvit
S3: бізнес дані
S3: тимчасове
сховище
Налаштовуємо Athena: workgroups
Glue Catalog data_science
> Publish metrics
> Bytes scanned per
query: 30000000
> Encryption: SSE_S3
> Output location
sales
> Publish metrics
> Bytes scanned per
query: 100000000
> Encryption: SSE_S3
> Requester Pays
> Bucket owner ACL
corp_bi
> Publish metrics
> Bytes scanned per
query: 25000000
> Encryption: SSE_KMS
> Output location
clients
orders
products
workgroup workgroup workgroup
ouvessvit
Налаштовуємо Athena: workgroups
Glue Catalog
clients
orders
products
IAM роль: sales_data_analytics
workgroup workgroup workgroup
data_science
> Publish metrics
> Bytes scanned per
query: 30000000
> Encryption: SSE_S3
> Output location
sales
> Publish metrics
> Bytes scanned per
query: 100000000
> Encryption: SSE_S3
> Requester Pays
> Bucket owner ACL
corp_bi
> Publish metrics
> Bytes scanned per
query: 25000000
> Encryption: SSE_KMS
> Output location
ouvessvit
Вимкніть публічний доступ до storage
buckets
Вимкніть публічний доступ до storage buckets
ouvessvit
Дякую!
Приєднуйся до дискусії в discord
Twitter: ouvessvit

Mais conteúdo relacionado

Semelhante a "Building a cloud-native data platform with security in mind", Natalie Godec

РОМАН ДУМАНСЬКИЙ «Testing the application in the Amazon Cloud»
РОМАН ДУМАНСЬКИЙ «Testing the application in the Amazon Cloud»РОМАН ДУМАНСЬКИЙ «Testing the application in the Amazon Cloud»
РОМАН ДУМАНСЬКИЙ «Testing the application in the Amazon Cloud»GoQA
 
"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy
"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy
"Request Lifecycle at Prom.ua", Vitaliy KharytonskiyFwdays
 
Lec10 11 ado-net
Lec10 11 ado-netLec10 11 ado-net
Lec10 11 ado-netcit-cit
 
Cloud taxonomy and best practices - ISACA Kyiv event, 05.11.2019
Cloud taxonomy and best practices - ISACA Kyiv event, 05.11.2019 Cloud taxonomy and best practices - ISACA Kyiv event, 05.11.2019
Cloud taxonomy and best practices - ISACA Kyiv event, 05.11.2019 Anastasiia Konoplova
 
10 asp.net
10 asp.net 10 asp.net
10 asp.net eleksdev
 
"Vulnerabilities Analysis: Corporate DevSec Practices", Sergii Kulyk
"Vulnerabilities Analysis: Corporate DevSec Practices", Sergii Kulyk "Vulnerabilities Analysis: Corporate DevSec Practices", Sergii Kulyk
"Vulnerabilities Analysis: Corporate DevSec Practices", Sergii Kulyk Fwdays
 
Робота із malware. McAfee ATD+TIE+DXL/OpenDXL
Робота із malware. McAfee ATD+TIE+DXL/OpenDXLРобота із malware. McAfee ATD+TIE+DXL/OpenDXL
Робота із malware. McAfee ATD+TIE+DXL/OpenDXLVladyslav Radetsky
 
5 Підсистема введення/виведення. OPC
5 Підсистема введення/виведення. OPC5 Підсистема введення/виведення. OPC
5 Підсистема введення/виведення. OPCПупена Александр
 
СИСТЕМА ЕЛЕКТРОННОГО ДОКУМЕНТООБІГУ - MEGAPOLS
СИСТЕМА ЕЛЕКТРОННОГО ДОКУМЕНТООБІГУ - MEGAPOLSСИСТЕМА ЕЛЕКТРОННОГО ДОКУМЕНТООБІГУ - MEGAPOLS
СИСТЕМА ЕЛЕКТРОННОГО ДОКУМЕНТООБІГУ - MEGAPOLSIevgen Vladimirov
 
ASP.NET Core лекція 02.pptx
ASP.NET Core лекція 02.pptxASP.NET Core лекція 02.pptx
ASP.NET Core лекція 02.pptxIhor34
 

Semelhante a "Building a cloud-native data platform with security in mind", Natalie Godec (16)

Wcf module 2
Wcf module 2Wcf module 2
Wcf module 2
 
РОМАН ДУМАНСЬКИЙ «Testing the application in the Amazon Cloud»
РОМАН ДУМАНСЬКИЙ «Testing the application in the Amazon Cloud»РОМАН ДУМАНСЬКИЙ «Testing the application in the Amazon Cloud»
РОМАН ДУМАНСЬКИЙ «Testing the application in the Amazon Cloud»
 
Aws - Marfej
Aws - MarfejAws - Marfej
Aws - Marfej
 
"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy
"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy
"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy
 
Ddd
DddDdd
Ddd
 
Lec10 11 ado-net
Lec10 11 ado-netLec10 11 ado-net
Lec10 11 ado-net
 
Cloud taxonomy and best practices - ISACA Kyiv event, 05.11.2019
Cloud taxonomy and best practices - ISACA Kyiv event, 05.11.2019 Cloud taxonomy and best practices - ISACA Kyiv event, 05.11.2019
Cloud taxonomy and best practices - ISACA Kyiv event, 05.11.2019
 
Socks v5
Socks v5Socks v5
Socks v5
 
10 asp.net
10 asp.net 10 asp.net
10 asp.net
 
6
66
6
 
"Vulnerabilities Analysis: Corporate DevSec Practices", Sergii Kulyk
"Vulnerabilities Analysis: Corporate DevSec Practices", Sergii Kulyk "Vulnerabilities Analysis: Corporate DevSec Practices", Sergii Kulyk
"Vulnerabilities Analysis: Corporate DevSec Practices", Sergii Kulyk
 
Робота із malware. McAfee ATD+TIE+DXL/OpenDXL
Робота із malware. McAfee ATD+TIE+DXL/OpenDXLРобота із malware. McAfee ATD+TIE+DXL/OpenDXL
Робота із malware. McAfee ATD+TIE+DXL/OpenDXL
 
5 Підсистема введення/виведення. OPC
5 Підсистема введення/виведення. OPC5 Підсистема введення/виведення. OPC
5 Підсистема введення/виведення. OPC
 
СИСТЕМА ЕЛЕКТРОННОГО ДОКУМЕНТООБІГУ - MEGAPOLS
СИСТЕМА ЕЛЕКТРОННОГО ДОКУМЕНТООБІГУ - MEGAPOLSСИСТЕМА ЕЛЕКТРОННОГО ДОКУМЕНТООБІГУ - MEGAPOLS
СИСТЕМА ЕЛЕКТРОННОГО ДОКУМЕНТООБІГУ - MEGAPOLS
 
Presentation
PresentationPresentation
Presentation
 
ASP.NET Core лекція 02.pptx
ASP.NET Core лекція 02.pptxASP.NET Core лекція 02.pptx
ASP.NET Core лекція 02.pptx
 

Mais de Fwdays

"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y..."How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...Fwdays
 
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil TopchiiFwdays
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
"What is a RAG system and how to build it",Dmytro Spodarets
"What is a RAG system and how to build it",Dmytro Spodarets"What is a RAG system and how to build it",Dmytro Spodarets
"What is a RAG system and how to build it",Dmytro SpodaretsFwdays
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
"Distributed graphs and microservices in Prom.ua", Maksym Kindritskyi
"Distributed graphs and microservices in Prom.ua",  Maksym Kindritskyi"Distributed graphs and microservices in Prom.ua",  Maksym Kindritskyi
"Distributed graphs and microservices in Prom.ua", Maksym KindritskyiFwdays
 
"Rethinking the existing data loading and processing process as an ETL exampl...
"Rethinking the existing data loading and processing process as an ETL exampl..."Rethinking the existing data loading and processing process as an ETL exampl...
"Rethinking the existing data loading and processing process as an ETL exampl...Fwdays
 
"How Ukrainian IT specialist can go on vacation abroad without crossing the T...
"How Ukrainian IT specialist can go on vacation abroad without crossing the T..."How Ukrainian IT specialist can go on vacation abroad without crossing the T...
"How Ukrainian IT specialist can go on vacation abroad without crossing the T...Fwdays
 
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ..."The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...Fwdays
 
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu..."[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...Fwdays
 
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care..."[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...Fwdays
 
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"..."4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...Fwdays
 
"Reconnecting with Purpose: Rediscovering Job Interest after Burnout", Anast...
"Reconnecting with Purpose: Rediscovering Job Interest after Burnout",  Anast..."Reconnecting with Purpose: Rediscovering Job Interest after Burnout",  Anast...
"Reconnecting with Purpose: Rediscovering Job Interest after Burnout", Anast...Fwdays
 
"Mentoring 101: How to effectively invest experience in the success of others...
"Mentoring 101: How to effectively invest experience in the success of others..."Mentoring 101: How to effectively invest experience in the success of others...
"Mentoring 101: How to effectively invest experience in the success of others...Fwdays
 
"Mission (im) possible: How to get an offer in 2024?", Oleksandra Myronova
"Mission (im) possible: How to get an offer in 2024?",  Oleksandra Myronova"Mission (im) possible: How to get an offer in 2024?",  Oleksandra Myronova
"Mission (im) possible: How to get an offer in 2024?", Oleksandra MyronovaFwdays
 
"Why have we learned how to package products, but not how to 'package ourselv...
"Why have we learned how to package products, but not how to 'package ourselv..."Why have we learned how to package products, but not how to 'package ourselv...
"Why have we learned how to package products, but not how to 'package ourselv...Fwdays
 
"How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin...
"How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin..."How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin...
"How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin...Fwdays
 

Mais de Fwdays (20)

"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y..."How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
 
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
"What is a RAG system and how to build it",Dmytro Spodarets
"What is a RAG system and how to build it",Dmytro Spodarets"What is a RAG system and how to build it",Dmytro Spodarets
"What is a RAG system and how to build it",Dmytro Spodarets
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
"Distributed graphs and microservices in Prom.ua", Maksym Kindritskyi
"Distributed graphs and microservices in Prom.ua",  Maksym Kindritskyi"Distributed graphs and microservices in Prom.ua",  Maksym Kindritskyi
"Distributed graphs and microservices in Prom.ua", Maksym Kindritskyi
 
"Rethinking the existing data loading and processing process as an ETL exampl...
"Rethinking the existing data loading and processing process as an ETL exampl..."Rethinking the existing data loading and processing process as an ETL exampl...
"Rethinking the existing data loading and processing process as an ETL exampl...
 
"How Ukrainian IT specialist can go on vacation abroad without crossing the T...
"How Ukrainian IT specialist can go on vacation abroad without crossing the T..."How Ukrainian IT specialist can go on vacation abroad without crossing the T...
"How Ukrainian IT specialist can go on vacation abroad without crossing the T...
 
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ..."The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...
 
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu..."[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...
 
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care..."[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...
 
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"..."4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...
 
"Reconnecting with Purpose: Rediscovering Job Interest after Burnout", Anast...
"Reconnecting with Purpose: Rediscovering Job Interest after Burnout",  Anast..."Reconnecting with Purpose: Rediscovering Job Interest after Burnout",  Anast...
"Reconnecting with Purpose: Rediscovering Job Interest after Burnout", Anast...
 
"Mentoring 101: How to effectively invest experience in the success of others...
"Mentoring 101: How to effectively invest experience in the success of others..."Mentoring 101: How to effectively invest experience in the success of others...
"Mentoring 101: How to effectively invest experience in the success of others...
 
"Mission (im) possible: How to get an offer in 2024?", Oleksandra Myronova
"Mission (im) possible: How to get an offer in 2024?",  Oleksandra Myronova"Mission (im) possible: How to get an offer in 2024?",  Oleksandra Myronova
"Mission (im) possible: How to get an offer in 2024?", Oleksandra Myronova
 
"Why have we learned how to package products, but not how to 'package ourselv...
"Why have we learned how to package products, but not how to 'package ourselv..."Why have we learned how to package products, but not how to 'package ourselv...
"Why have we learned how to package products, but not how to 'package ourselv...
 
"How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin...
"How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin..."How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin...
"How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin...
 

"Building a cloud-native data platform with security in mind", Natalie Godec

  • 1.
  • 2. $ whoami • Наталя Годек • Харківʼянка в Лондоні • Cloud Architect/Системщик/Девопс • GDE in Cloud Platform • Соцмережі: @ouvessvit
  • 3. В світі стільки інформації
  • 4. Всі дані - для вашого задоволення Потоки даних* Логи Дані клієнтів * Картинка з видрами авторства Мітча Сеймура з книги “Gently Down the Stream” Дії користувачів ouvessvit
  • 6. Конфіденційні дані можна зберігати в хмарі?!
  • 7. Платформа даних, народжена в хмарі: GCP BigQuery Cloud Storage Composer Cloud Functions Vertex AI Dataplex Google Kubernetes Engine Pub/Sub Spanner Cloud SQL Memorystore ouvessvit
  • 8. Платформа даних, народжена в хмарі: AWS Kafka - MSK Opensearch RDS k8s - EKS Elasticache S3 AWS Glue AWS Athena Kinesis Data Streams Kinesis Data Analytics SageMaker ouvessvit
  • 9. Хмарні сервіси - публічно доступні API. Як захистити дані?
  • 10. AWS Безсерверні продукти комунікують через інтернет Приватні сервіси VPC Subnet Інтернет ouvessvit
  • 12. Безпека в AWS з VPC Endpoints ouvessvit AWS Приватні сервіси VPC Subnet Інтернет
  • 13. Та ж історія в Google Cloud Project 1 Project 2 Project 3 VPC Storage BQ BQ Cloud Functions Корпоративний Wifi ouvessvit
  • 14. VPC Service Perimeter Захист даних в Google Cloud з VPC Service Controls Інтернет NO_MATCHING_POLICY RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER Неавторизована особа Неавторизований проєкт GCP Ingress/Egress Policy Дозволена особа IP адреси VPN чи офісів Корпоративний Wifi Захищені API Проєкт 1 Проєкт 2 Проєкт 3 Звʼязок між сервісами Google Cloud залишається в межах мереж Гугла ouvessvit
  • 15. VPC Service Perimeter Захист даних в Google Cloud з VPC Service Controls Інтернет NO_MATCHING_POLICY RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER Неавторизована особа Неавторизований проєкт GCP Ingress/Egress Policy Дозволена особа IP адреси VPN чи офісів Корпоративний Wifi Захищені API Проєкт 1 Проєкт 2 Проєкт 3 Звʼязок між сервісами Google Cloud залишається в межах мереж Гугла ouvessvit
  • 16. VPC Service Perimeter Захист даних в Google Cloud з VPC Service Controls Інтернет NO_MATCHING_POLICY RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER Неавторизована особа Неавторизований проєкт GCP Ingress/Egress Policy Дозволена особа IP адреси VPN чи офісів Корпоративний Wifi Захищені API Проєкт 1 Проєкт 2 Проєкт 3 Звʼязок між сервісами Google Cloud залишається в межах мереж Гугла ouvessvit
  • 17. VPC Service Perimeter Захист даних в Google Cloud з VPC Service Controls Інтернет NO_MATCHING_POLICY RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER Неавторизована особа Неавторизований проєкт GCP Ingress/Egress Policy Дозволена особа IP адреси VPN чи офісів Корпоративний Wifi Захищені API Проєкт 1 Проєкт 2 Проєкт 3 Звʼязок між сервісами Google Cloud залишається в межах мереж Гугла ouvessvit
  • 18. VPC Service Perimeter Захист даних в Google Cloud з VPC Service Controls Інтернет NO_MATCHING_POLICY RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER Неавторизована особа Неавторизований проєкт GCP Ingress/Egress Policy Дозволена особа IP адреси VPN чи офісів Корпоративний Wifi Захищені API Проєкт 1 Проєкт 2 Проєкт 3 Звʼязок між сервісами Google Cloud залишається в межах мереж Гугла ouvessvit
  • 19. Bridges: для зʼєднання проєктів в різних периметрах Access Levels: для визначення, хто має доступ та звідки Ingress/Egress Policies: перелік певних API запитів, що можуть перетинати кордони периметру * All IDs and IP addresses are randomly generated Захист даних в Google Cloud з VPC Service Controls ouvessvit VPC Service Perimeter Захищені API Проєкт 1 Проєкт 2 Проєкт 3 Звʼязок між сервісами Google Cloud залишається в межах мереж Гугла
  • 20. Налаштовуємо Cloud Run & Cloud Functions ERROR: VPC Service Controls: Request is prohibited by organization’s policy. Мій Проєкт VPC Service Perimeter func-sa my-func1 my- dataset Cloud Functions, Cloud Run та інші безсерверні продукти категорії compute працюють в так званих тіньових проєктах; для забезпечення комунікації з захищеними сервісами даних недостатньо додати їх до одного периметру. ouvessvit
  • 21. Налаштовуємо Cloud Run & Cloud Functions Twitter: ouvessvit Мій Проєкт VPC Service Perimeter func-sa my-func1 my- dataset Варіант 1: додати service account функції до спеціального access level, що приєднаний до периметру. Таким чином, запит до датасету прийде від дозволеного користувача, і буде дозволений в периметрі. cloud-functions-access- lvl: - members: - func-sa@my- project.iam.gserviceacc ount.com ouvessvit
  • 22. Налаштовуємо Cloud Run & Cloud Functions Мій Проєкт VPC Service Perimeter func-sa my-func1 my- dataset Варіант 2: сконфігурувати функцію в підмережі за використання Serverless VPC Access Connector. Таким чином, для периметру запит виглядатиме як такий, що надійшов з довіреної мережі (мережі того ж проєкта). Serverless VPC connector subnet ouvessvit
  • 23. AWS не шифрує за замовчанням
  • 24. Налаштовуємо Glue: шифрування каталогу AWS Glue S3: бізнес дані Glue logs resource "aws_glue_data_catalog_encryption_settings" "example" { data_catalog_encryption_settings { encryption_at_rest { catalog_encryption_mode = "SSE-KMS" kms_key_arn = data.aws_kms_key.glue_catalog.arn } } } resource "aws_glue_security_configuration" "example" { name = "example" encryption_configuration { cloudwatch_encryption { cloudwatch_encryption_mode = "SSE-KMS" kms_key_arn = data.aws_kms_key.glue_logs.arn } s3_encryption { s3_encryption_mode = "SSE-S3" } } } S3: тимчасове сховище ouvessvit
  • 25. Налаштовуємо Glue: шифрування каталогу AWS Glue Glue logs resource "aws_glue_data_catalog_encryption_settings" "example" { data_catalog_encryption_settings { encryption_at_rest { catalog_encryption_mode = "SSE-KMS" kms_key_arn = data.aws_kms_key.glue_catalog.arn } } } resource "aws_glue_security_configuration" "example" { name = "example" encryption_configuration { cloudwatch_encryption { cloudwatch_encryption_mode = "SSE-KMS" kms_key_arn = data.aws_kms_key.glue_logs.arn } s3_encryption { s3_encryption_mode = "SSE-KMS" kms_key_arn = data.aws_kms_key.glue_s3.arn } ouvessvit S3: бізнес дані S3: тимчасове сховище
  • 26. Налаштовуємо Glue: шифрування каталогу AWS Glue Glue logs resource "aws_glue_data_catalog_encryption_settings" "example" { data_catalog_encryption_settings { encryption_at_rest { catalog_encryption_mode = "SSE-KMS" kms_key_arn = data.aws_kms_key.glue_catalog.arn } } } resource "aws_glue_security_configuration" "example" { name = "example" encryption_configuration { cloudwatch_encryption { cloudwatch_encryption_mode = "SSE-KMS" kms_key_arn = data.aws_kms_key.glue_logs.arn } s3_encryption { s3_encryption_mode = "SSE-KMS" kms_key_arn = data.aws_kms_key.glue_s3.arn } ouvessvit S3: бізнес дані S3: тимчасове сховище
  • 27. Налаштовуємо Athena: workgroups Glue Catalog data_science > Publish metrics > Bytes scanned per query: 30000000 > Encryption: SSE_S3 > Output location sales > Publish metrics > Bytes scanned per query: 100000000 > Encryption: SSE_S3 > Requester Pays > Bucket owner ACL corp_bi > Publish metrics > Bytes scanned per query: 25000000 > Encryption: SSE_KMS > Output location clients orders products workgroup workgroup workgroup ouvessvit
  • 28. Налаштовуємо Athena: workgroups Glue Catalog clients orders products IAM роль: sales_data_analytics workgroup workgroup workgroup data_science > Publish metrics > Bytes scanned per query: 30000000 > Encryption: SSE_S3 > Output location sales > Publish metrics > Bytes scanned per query: 100000000 > Encryption: SSE_S3 > Requester Pays > Bucket owner ACL corp_bi > Publish metrics > Bytes scanned per query: 25000000 > Encryption: SSE_KMS > Output location ouvessvit
  • 30.
  • 31. Вимкніть публічний доступ до storage buckets ouvessvit

Notas do Editor

  1. Як захистити хмарну платформу даних Створення хмарної платформи даних з урахуванням безпеки Будуємо хмарну платформу даних з урахуванням безпеки