graph TD A[Enterprise Identity Provider] -->|Federation| B[Cloud Identity] B --> C[Human Users] B --> D[Service Accounts] C --> E[Roles/Permissions] D --> E E --> F[Resources] G[Policies] --> E
Securing Your Multi-Cloud Environment
2025-02-20
Chief Technology Officer
Source: Flexera 2023 State of the Cloud Report
“Cloud providers are responsible for security of the cloud; customers are responsible for security in the cloud.”
Customer Responsibility | Provider Responsibility | |
---|---|---|
Data | Customer data Access management Encryption |
|
Applications | Code Configuration IAM |
|
Runtime | OS patching Network config Firewall rules |
|
Middleware | DB patching Container security |
|
Virtualization | Hypervisor Instance isolation |
|
Infrastructure | Compute Storage Networking |
|
Physical | Facilities Hardware Network |
“Identity is the primary security perimeter in the cloud.”
graph TD A[Enterprise Identity Provider] -->|Federation| B[Cloud Identity] B --> C[Human Users] B --> D[Service Accounts] C --> E[Roles/Permissions] D --> E E --> F[Resources] G[Policies] --> E
# AWS IAM Policy Example
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::example-bucket",
"arn:aws:s3:::example-bucket/*"
],
"Condition": {
"IpAddress": {
"aws:SourceIp": "203.0.113.0/24"
},
"Bool": {
"aws:MultiFactorAuthPresent": "true"
}
}
}
]
}
# Azure Role Assignment
{
"properties": {
"roleDefinitionId": "/subscriptions/{sub-id}/providers/Microsoft.Authorization/roleDefinitions/{role-id}",
"principalId": "{principal-id}",
"scope": "/subscriptions/{sub-id}/resourceGroups/{resource-group}",
"condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'logs'",
"conditionVersion": "2.0"
}
}
“Encrypt data at rest, in transit, and where possible, in use.”
graph TD A[Enterprise Key Management] --> B[Key Vault] A --> C[Cloud HSM] B --> D[AWS KMS] B --> E[Azure Key Vault] B --> F[Google Cloud KMS] C --> G[AWS CloudHSM] C --> H[Azure Dedicated HSM] C --> I[Google Cloud HSM]
“Treat cloud infrastructure as ephemeral and immutable.”
“CSPM helps detect, assess, and remediate cloud misconfigurations.”
# Open Policy Agent (OPA) Policy Example
package cloud.storage
# Rule to ensure all storage is encrypted
deny[msg] {
# Get all storage resources
resource := input.resources[_]
# Filter for storage resources
resource.type == "aws_s3_bucket" or
resource.type == "azurerm_storage_account" or
resource.type == "google_storage_bucket"
# Check encryption settings based on provider
not is_encrypted(resource)
msg := sprintf("Storage resource %v is not encrypted", [resource.name])
}
# Provider-specific encryption checks
is_encrypted(resource) {
resource.type == "aws_s3_bucket"
resource.properties.server_side_encryption_configuration.rule.apply_server_side_encryption_by_default.sse_algorithm
}
is_encrypted(resource) {
resource.type == "azurerm_storage_account"
resource.properties.enable_https_traffic_only == true
}
is_encrypted(resource) {
resource.type == "google_storage_bucket"
resource.properties.encryption.default_kms_key_name
}
graph TD A[Enterprise Identity] --> B[Cloud Identity] B --> C[AWS IAM] B --> D[Azure AD] B --> E[GCP IAM] F[Security Tooling] --> G[CSPM] F --> H[CWPP] F --> I[SIEM/SOAR] G --> J[AWS Config] G --> K[Azure Policy] G --> L[GCP Security Command] M[Network Security] --> N[AWS Transit Gateway] M --> O[Azure Virtual WAN] M --> P[GCP Network Connectivity]
“Security transformation is a journey, not a destination.”
3-6 months
6-12 months
12+ months
“Cloud security is about enabling the business securely, not just preventing breaches.”
Thank you for your attention!
Maria Rodriguez
maria.rodriguez@chen.ist
@mariacloud
© 2025 chen.ist | Cloud Security Best Practices