Version
2.15.0 of libxml2 has
been released. Notable changes include the disabling of Python
bindings by default, using Doxygen to generate API documentation, as
well as bringing HTML serialization and handling of character
encodings more in line with the HTML5 specification.
Nick Wellnhofer has also announced
that he is stepping down as libxml2 maintainer, and Iván Chavero has volunteered
to take over. LWN covered libxml2 in
June.
Typst is a program for document
typesetting. It is especially well-suited to technical material
incorporating elements such as mathematics, tables, and floating
figures. It produces high-quality results, comparable to the gold standard, LaTeX, with a simpler markup
system and easier customization, all while compiling documents
more quickly. Typst is free software, Apache-2.0 licensed, and is written in Rust.
Systemd
v258 has been released with a long list of new features and
changes; slice units now have basic workload management features,
quotas for tmpfs have been added, the “systemctl start”
command now has a verbose (-v) option, and more. This release
also, finally, completely removes support for control groups v1
support. LWN covered
some of systemd v258’s features and changes in August.
In October, consumer versions of Windows 10 will
stop receiving security updates. Many users who would ordinarily move
to the next version are blocked by Windows 11’s hardware
requirements unless they are willing to buy a newer PC. The “End of 10” campaign is an effort to
convince those users to switch to Linux rather than sticking with an
end-of-life operating system or buying a new Windows system. At
Akademy 2025, Dr. Joseph De Veaugh-Geiss,
Bettina Louis, Carolina Silva Rodé, and Nicole Teale discussed their
work on the campaign, its progress so far, and what’s next.
Около началото на новата учебна година отново се разгоряха дебатите за планираните промени в Закона за предучилищното и училищното образование (ЗПУО). И в частност за въвеждането на задължителноизбираем предмет добродетели и религия, който управляващите правят всичко възможно да прокарат въпреки съпротивата не само от страна на експерти и на гражданския сектор, а дори на държавна институция – oмбудсмана.
Протестите срещу въвеждането на религия в училище са по-малобройни от тези против ареста на кмета на Варна Благомир Коцев и зам.-кмета на София Никола Барбутов. Ала и двата казуса включват общ елемент – погазване на правото чрез произволно и избирателно тълкуване на Конституцията и законите.
Урок по изместване на смисъла
На първия учебен ден образователният министър Красимир Вълчев заяви, че програмата по новия предмет няма да бъде конфесионална. В предложения законопроект обаче изрично се уточнява, че учениците ще могат да избират „между учебно съдържание с елементи на конфесионално и без елементи на конфесионално обучение“. Документът дефинира „конфесионално обучение“ като „обучение за основните положения на религиите на официално регистрираните вероизповедания“, към които са се самоопределили повече от 10% от хората при последното преброяване на населението.
Тук възниква един проблем. Колкото и определения за понятието „конфесионален“ да търсите, едва ли ще намерите другаде уточнения за проценти, официални регистрации или преброявания. Нещо да е конфесионално означава, че то се отнася до определена конфесия, тоест вероизповедание, религиозно направление.
„Конфесионално обучение“ ще рече ни повече, ни по-малко, че то е религиозно,
че в основата му стои гледната точка на определена религия. Не може едно и също съдържание да е хем конфесионално, хем светско.
Дори да се вложи друг смисъл в думата, това не променя факта, че наличните програми за обучение по религия (православие) са написани от гледната точка на православното християнство дори когато се обявяват за „неконфесионални“. Едно е в училище да се преподава, че членовете на еди-коя си деноминация вярват, че Бог прави чудеса, друго е от един първокласник да се изисква да „осъзнава, че Бог е всемогъщ и може да прави чудеса“, както пише в учебната програма.
Друг е въпросът, че при задължителноизбираемите предмети изборът често е сведен до нула. Избор може да има само ако се съберат достатъчно ученици за една група, намери се учител, който да им преподава и училището има пари за това, както и ако директорът не е наложил волята си, че всички ще учат еди-какво си.
Друг въпрос е също кой ще изготвя учебния план и програмите по ислям, след като в България няма акредитирано висше мюсюлманско училище.
Противоконституционно, но богоугодно
За да си обясним словесните еквилибристики с думата „конфесионално“ в законопроекта, е полезно да си дадем сметка, че въвеждането на предмет добродетели и религии по начина, по който е замислен, противоречи на Конституцията и на няколко закона, включително ЗПУО. Именно това се опитва да замаже подмяната на значението на понятието.
Освен това не се допускат нито ограничения на права, нито пък привилегии по ред признаци, между които е религията. Да наложиш обучение по православие и ислям привилегирова представителите на тези религии за сметка на останалите.
Свободата на съвестта, свободата на мисълта и изборът на вероизповедание и на религиозни или атеистични възгледи са ненакърними,
се казва още в Основния закон. Когато държавата кара учениците да възпроизвеждат постулати на религия, в която не вярват, това определено накърнява свободата и избора им.
Законът за защита от дискриминация (ЗЗД) забранява „всяка пряка и непряка дискриминация“,
основана на различни признаци, между които са религията и вярата. Като пряка дискриминация законът определя „всяко по-неблагоприятно третиране на лице на основата на признаците [на дискриминация – б.а.], отколкото се третира, било е третирано или би било третирано друго лице при сравними сходни обстоятелства“. Тоест едно евангелистче, което е принудено да избира между православно християнство и атеистични добродетели, е подложено на пряка дискриминация.
Непряка дискриминация според ЗЗД имаме тогава, когато с привидно неутрални разпоредби, критерии или практики поставяме носителите на определени признаци в неблагоприятна позиция. Да постановиш, че конфесионални са само религиите, изповядвани от над 10% от населението, и затова само те са достойни да се изучават „задължителноизбираемо“ в училище, е привидно неутрален критерий. Но той поставя под чертата учениците, които са юдеи, евангелисти, католици, будисти и пр.
Според ЗПУО образованието е светско.
Това е записано в прав текст в чл. 11 (изключение са духовните училища, които се откриват по искане на религиозни институции и включват само гимназиален курс на обучение). А както вече стана дума, не може нещо да е едновременно светско и конфесионално. Нещо повече – с приемането на ал. 2 на същия член през 2024 г. се забрани не само извършването на „пропаганда, популяризиране и подстрекаване“ на всичко, свързано с ЛГБТИ+ хората, а и „налагането на идеологически и/или религиозни доктрини“.
И какво излиза? Предложението със закон да се въведе предмет добродетели и религия противоречи на промяна на същия закон, влязла в сила броени месеци преди въпросното предложение – факт, който не изглежда да прави впечатление.
В ЗПУО освен това се казва, че една от основните цели на образованието е „формиране на толерантност и уважение към […] религиозната идентичност на всеки гражданин“. На всеки, а не само на православните християни и мюсюлманите.
Превръщането на двойните стандарти в норма
Въвеждането на задължителноизбираемо обучение по религия в ЗПУО в противоречие със самия закон и с Конституцията е част от все по-пълното, макар и противоконституционно сливане на църква и държава. Вече дори е допустимо един юрист да бъде избран за конституционен съдия, който изтъква фактологически неверни, но пък религиозни аргументи.
Българската православна църква вече не само има запазено място на официални държавни събития, ами влияе и върху законодателния процес. При това без да дава нищо в замяна, без да плаща данъци и без да изпълнява тази социална роля, каквато имат католическата и евангелските църкви в Западна Европа.
Параклиси в светски училища?
От репортаж на bTV по случай 15 септември разбираме, че през миналата учебна година учениците и учителите от столичното 125-то училище са събрали дарения за отварянето на параклис в сградата на учебното заведение. Едно помещение в училището изпълнява не образователни, а религиозни функции, но това не изглежда да скандализира някого. Откриването на параклиса е отразено с гордост не само от Софийската митрополия, а и от столичното Регионално управление на МОН.
А защо би трябвало да скандализира? Дарителската кампания за набиране на средства за параклиса започва месец след законовата промяна, забраняваща налагането на религиозни доктрини в училищата и детските градини. Не че и преди въпросната поправка в ЗПУО това е било законно – щом образованието е светско, в едно училище няма място за молитвени помещения.
Молитвеното помещение в 125-то СУ впрочем не е прецедент.
След кратко и неизчерпателно търсене може да се установи, че още преди 20 години – през 2005 г. – в двора на столичното 41-во ОУ е изграден параклис – не стая в сградата на училището като в 125-то, а истинска миницърквичка. Макар още тогава това да е било незаконно. През 2022 г. училището пак събира дарения – този път за изографисването на параклиса.
Църковни пространства в светски училища се създават не само в София. През 2018 г. например започва строежът на параклис в двора на 6-то СУ в Перник, а през 2021 г. е осветен параклисът в Националното училище по приложни изкуства в Троян – също отделна сграда в двора на учебното заведение.
Дори детските градини не са пощадени от изграждането на религиозни помещения – миниатюрно параклисче например е изградено и в двора на детска градина „Иглика“ в петричкото село Кърналово.
Всички тези параклиси са незаконни, но това не пречи да са повод за гордост и възторжено отразяване от медии и публични институции.
За сравнение, представете си, че в едно училище се създаде група за взаимопомощ за ЛГБТИ+ ученици. Как мислите, ще има ли хвалебствени репортажи по темата и МОН ще отрази ли събитието? Или е по-вероятно да се вдигне скандал, че се нарушава законът, забраняващ „гей пропагандата“?
Постепенното сваряване в беззаконието
Законопроектът за предмета добродетели и религия не се пръква от нищото. В продължение на дълги години тече процес на сливане на Българската православна църква с държавата. Макар да е противоконституционно, това сливане се радва на масово одобрение. Така обаче определен тип нарушаване на закона става допустимо и дори достойно за душата.
Щом бива да се погазват Конституцията и законите в едно отношение, лесно е да се направи стъпката и към друго беззаконие, после към още някое и т.н. Дали в името на православието или на управляващата партия, или заради някой местен феодал, или заради Делян Пеевски, или заради някой друг – няма особено значение. Ако като общество сме приели, че не всички са равни пред закона, защо се оплакваме от липсата на правосъдие?
В превръщането на двойните стандарти в закон чрез прокарването на предмета добродетели и религия днес децата са жертвата, макар те да не са целта. Целта на подобни реформи е отдалечаването на България от демократичната част на света (междувременно изтъняваща) и приближаването ѝ към авторитарните режими. Днес, поне на хартия, живеем в страна с демократично управление. Но не бива да се залъгваме, че това ни е гарантирано.
Vulnerabilities in electronic safes that use Securam Prologic locks:
While both their techniques represent glaring security vulnerabilities, Omo says it’s the one that exploits a feature intended as a legitimate unlock method for locksmiths that’s the more widespread and dangerous. “This attack is something where, if you had a safe with this kind of lock, I could literally pull up the code right now with no specialized hardware, nothing,” Omo says. “All of a sudden, based on our testing, it seems like people can get into almost any Securam Prologic lock in the world.”
[…]
Omo and Rowley say they informed Securam about both their safe-opening techniques in spring of last year, but have until now kept their existence secret because of legal threats from the company. “We will refer this matter to our counsel for trade libel if you choose the route of public announcement or disclosure,” a Securam representative wrote to the two researchers ahead of last year’s Defcon, where they first planned to present their research.
Only after obtaining pro bono legal representation from the Electronic Frontier Foundation’s Coders’ Rights Project did the pair decide to follow through with their plan to speak about Securam’s vulnerabilities at Defcon. Omo and Rowley say they’re even now being careful not to disclose enough technical detail to help others replicate their techniques, while still trying to offer a warning to safe owners about two different vulnerabilities that exist in many of their devices.
The company says that it plans on updating its locks by the end of the year, but have no plans to patch any locks already sold.
Днес от трибуната, като вносител на вота на недоверие, казах следното:
Проблемът със завладяната държава и превзетите институции е проблем на системната корупция по високите етажи на властта, чрез която институциите спират да действат в обществен интерес и все повече действат в частен интерес по разпореждане на малка група хора.
Безспорно на върха на пирамидата на завладяването на държавата е Делян Пеевски, който подчинява държавния апарат – чрез многогодишно и системно установяване на влияние в службите за сигурност и различни части на съдебната власт, но най-вече в прокуратурата, въпреки нищожната си политическа легитимност
Това правителство не само не противодейства на тези процеси, а гарантира тяхното разрастване и достигане до мащаби, които представляват реален риск за способността на държавата да изпълнява дори базовите си функции.
Правителството на теория функционира като правителство на малцинството, но подкрепата на ДПС “Ново начало” и защитата от наказателно преследване са изтъргувани срещу напълно безконтролно превземане на институциите от Пеевски и свързаните с него бизнес и частни интереси.
Основните механизми за противодействие на това превземане са съзнателно изключени. Системният провал в сектор “Вътрешна сигурност” и отказът от каквито и да било реформи по същество в сектор “Правосъдие” оставят без противодействие превземането на институциите. Затова нашият вот на недоверие е именно за тези два сектора.
Нещо повече – от коалиционното споразумение за формиране на това управление бяха съзнателно премахнати всички мерки за противодействие на нелегитимните влияния. Отказът и разкъсването на санитарния кордон отвори широко портите за превземането на институциите. Т.е. завладяването на държавата е осъзнат политически избор на настоящото правителство, а не страничен ефект от спорната му компетентност.
Според носителите на нобелова награда за икономика за миналата година, богатите държави имат устойчиви институции, работещи в обществен интерес, а за бедните държави е характерно, че институциите им са завладяни. Така че темата със “завладяната държава” не е спор за “кресла” между политическите елити, а е в основата на това България все още да е последна в почти всички класации в ЕС. Завладяната държава отдалечава България от европейския ѝ път и води до множество негативни последици – за благосъстоянието, за стандарта на живот, за инвестиционния климат, за бизнес средата – заради липса на правна сигурност, заради рейдърство и рекет върху бизнеса, заради политическия риск.
Защото нито една политика не може да постигне своя твърдян позитивен ефект, когато институциите, които я изпълняват и институциите, които следва да ограничават злоупотребите, са част от системата на завладяната държава.
Но не Пеевски е първопричината за завладяната държава – той е един карикатурен олигарх, който си играе с държавата като дете с чуплива играчка. Той превзема институциите по един махленски начин, с компроматчета и заплахи, които не би трябвало да плашат никого. Нас, например, не ни плашат. Въпреки прокурорския произвол. Въпреки бухалките.
Първопричината е, че в голямата си част политическата класа, особено в лицето на ръководствата на партиите в настоящото управление, е слаба, страхлива, пробита, наведена, вероятно “бъркала дълбоко в кацата с меда” и хваната затова. Заради този страх, колеги, България страда. Най-добре е да освободете политическия терен за хора, за които в чекмедженцето на момчето няма папчица с някой грях.
Дългосрочните вреди от настоящото правителство стават все повече с всеки ден, в който то продължава да подпомага превземането на институциите.
Вие днес няма да оспорите фактологията в мотивите ни. Вероятно ще опитате да се заядете с някоя запетая, ще твърдите, че халюцинираме, но нямате отговор. Защото знаете, че всичко вътре е вярно.
След като с активното участие на ГЕРБ, ДПС-Пеевски и ИТН, последните две редовни правителства бяха свалени, сега, в израз на политическа арогантност, основният аргумент в полза на това правителство ще бъде, че то е редовно.
И ще твърдите, че то няма алтернатива – че няма алтернатива на зависимостта от задкулисието и че единственият начин да има редовно правителство е да се дава откуп на това задкулисие в предизвестено провален опит (за пред публиката) да се реши някой обществен проблем.
Алтернатива обаче има. Алтернативата е следващото управление да бъде водено от други принципи. От разбирането, че българското общество не дължи откуп на задкулисието.
И за да не се хабите с интриги – вот на недоверие не значи, че опозицията ще формира следващото управление – както това не се случи при последния успешен вот на недоверие.
И да – всяко следващо управление също ще бъде коалиционно, ще бъде сложно, ще са нужни компромиси. Но това не е проблем за избирателите – те разбират какво значи компромис, когато той е в името на обществения интерес. Но компромис със завладяната държава не може да има. Компромис със задкулисието, със скритите зависимости, с беззаконието не може да има. Това е алтернативата, която представяме пред българските граждани.
Elastic Load Balancing simplifies authentication by offloading it to OpenID Connect (OIDC) compatible identity providers (IdPs). This lets builders focus on application logic while using robust identity management.
OIDC client secrets are confidential credentials used in OAuth 2.0 and OIDC protocols for authenticating clients (applications). However, manual management of OIDC client secrets introduces security risks and operational overhead. As shown in Figure 1, manual management of OIDC client secrets starts with authentication through a third-party IdP.
Figure 1: Manual management of OIDC client secrets
The risks of manual management of OIDC client secrets include:
Lack of proactive monitoring of credential changes
Lack of continued verification of authentication credentials
Not scalable for ALB configuration with multiple listener rules
In this blog post I show you how to automate OIDC client secret rotation using AWS Secrets Manager, AWS Lambda, and Amazon EventBridge, helping to enhance security and streamline operations. Automating secret rotation is a critical security practice that minimizes the risk of credential compromise and helps facilitate ongoing compliance.
This solution provides a flexible framework for automated credential management across various OIDC providers (Auth0 as an example), with a specific implementation demonstrating integration with AWS services. The core architecture supports automated credential rotation, secure secret storage, provider agnostic design, and scalable implementation across different authentication workflows. The key components are:
Secrets Manager: Securely stores and manages OIDC (Auth0) client credentials.
Lambda: Executes the secret rotation logic on a scheduled basis.
Elastic Load Balancing: Offloads authentication using OIDC listener rules.
EventBridge (scheduled): Triggers the Lambda function according to a defined schedule.
Custom AWS CloudFormation resource: Automates the entire stack and architecture used in this post.
Figure 2: Automated OIDC client secret rotation
The authentication workflow, as shown in Figure 2, is:
EventBridge triggers the Auth0CredentialHandler Lambda handler every 15 minutes
The Auth0CredentialHandler Lambda handler connects to the Auth0 management domain and gets the current client credentials—auth0_current.
The Auth0CredentialHandler Lambda handler fetches the existing credentials auth0/credentials/${Auth0-dev-domain} from Secrets Manager and compares them with the credential auth0_current retrieved in the previous step.
If the secret isn’t found, the handler retries three times within a 30-minute period and then logs AWS CloudWatch alarms.
Assumes that the secret Amazon Resource Name (ARN) is already present in Secrets Manager.
If the credentials are different, Auth0CredentialHandler updates the auth0/credentials/${Auth0-dev-domain} with the new value. If the credentials are the same, no action is taken. CloudWatch alarms are configured to trigger for successful and for failed secret updates.
The ALB listener rule is configured to pull client credentials dynamically from the auth0/credentials/${Auth0-dev-domain} resource ARN in Secrets Manager.
Security recommendations
There are several things you can do to improve the security of your authentication system, starting with implementing centralized secret management with encryption enabled for data at rest. You can also configure Lambda functions with least-privilege permissions, limiting access to only required Secrets Manager and ALB listener resources, which can reduce the security blast radius.
Use CloudWatch alarms to monitor key operational events, including secret updates, update failures, and ALB credential issues and use AWS Config to track rule configurations and perform regular security audits.
By creating separate secrets for each ALB listener rule, you can enable granular access control and narrow the scope of permissions, helping to enhance overall system security.
By following these practices, you can establish a robust security framework for your application and provide proper data protection and access management.
Prerequisites
This solution assumes that the following prerequisites are met before beginning implementation:
An existing ALB configured with a listener and target groups to be used as Listenerarn and targetarn in the CloudFormation template
An OIDC IdP (for example, Auth0) account and client application
Auth0 IdP application client credentials stored in Secrets Manager
Note: This solution demonstrates OIDC client secret rotation using Auth0 as the IdP. While the core principles and architectural patterns are generally applicable, specific implementation details might vary across different identity providers. Users are advised to consult their specific IdP’s documentation for precise configuration steps, API interactions, and AWS compatible authentication mechanisms.
This is an automated, simple and scalable approach using a CloudFormation custom resource to create the resources mentioned in architecture diagram. The CloudFormation template and AWS Lambda implementation are hosted in demo-stack
Core components
In this section, I explain the key components of the solution.
Credential refresh rule
An EventBridge rule is scheduled to trigger the Auth0CredentialHandler Lambda function at 15-minute intervals using the LambdaInvokePermissionAWS Identity and Access Management (IAM) role.
Auth0CredentialHandler Lambda function
The Auth0CredentialHandler Lambda function is responsible for securely managing client credentials. It retrieves the Auth0 configuration from the Secrets Manager resource auth0/credentials/${Auth0-dev-domain}, makes API calls to the Auth0 domain to obtain new tokens, and manages the updating of these credentials in Secrets Manager. It requires permissions to interact with Secrets Manager, which are provided through its execution role.
This IAM role used by Lambda has two main permission sets.
The AWS managed policy AWSLambdaBasicExecutionRole, which allows the Lambda function to create CloudWatch logs.
A custom policy that grants specific Secrets Manager permissions (GetSecretValue, CreateSecret, UpdateSecret) for secrets under the auth0/credentials/${Auth0-dev-domain} path.
Lambda will retry three times within a 30 minute period. If all attempts fail, then a CloudWatch warning will be logged and create alarms.
Elastic Load Balancing listener rule resources in CloudFormation are configured to dynamically resolve the client credentials from Secrets Manager and forwards authenticated requests to a specific target group. It integrates with the Auth0 credentials that are regularly refreshed by the Auth0CredentialHandler. This configuration requires read access to Secrets Manager to obtain the Auth0 client credentials for authentication.
# ALB Listener Rules - replace the Oidc config with your endpoints. Only Client credentials are stored in SecretsManager
ListenerRule1:
Type: AWS::ElasticLoadBalancingV2::ListenerRule
Properties:
ListenerArn: arn:aws:elasticloadbalancing:region:account-id:listener/app/my-load-balancer/1234567890/abcdef
Priority: 1
Actions:
- Type: authenticate-oidc
AuthenticateOidcConfig:
ClientId:
'{{resolve:secretsmanager:auth0/credentials/your-tenant.auth0.com:SecretString:client_id}}'
ClientSecret:
'{{resolve:secretsmanager:auth0/credentials/your-tenant.auth0.com:SecretString:client_secret}}'
Issuer: https://idp1.example.com
AuthorizationEndpoint: https://idp1.example.com/auth
TokenEndpoint: https://idp1.example.com/token
UserInfoEndpoint: https://idp1.example.com/userinfo
OnUnauthenticatedRequest: authenticate
- Type: forward
TargetGroupArn:
arn:aws:elasticloadbalancing:region:account-id:targetgroup/target-group-1/1234567890abc
Conditions:
- Field: path-pattern
Values:
- /app1/*
CloudWatch monitoring and alerting
The provided CloudFormation template is configured to establish security monitoring for secret updates. The template provisions alerts for successful and failed secret updates. The template creates CloudWatch metric filters using AWS CloudTrail logs, sets up corresponding alarms with defined thresholds, and establishes an Amazon Simple Notification Service (Amazon SNS) topic for consolidated alert delivery. Upon deployment, this infrastructure-as-code solution enables automated detection and notification of potential security events related to secrets management and unauthorized access attempts.
# CloudWatch Log Group
CloudTrailLogGroup:
Type: AWS::Logs::LogGroup
Properties:
LogGroupName: secrets-manager-monitoring
RetentionInDays: 14
# Combined Metric Filter for Both Success and Failed Updates
SecretUpdateMetricFilter:
Type: AWS::Logs::MetricFilter
Properties:
LogGroupName: !Ref CloudTrailLogGroup
FilterPattern: !Sub '{ $.eventSource = secretsmanager.amazonaws.com && ($.eventName = UpdateSecret || $.eventName = PutSecretValue) && $.responseElements.ARN = "${MyCustomResource.SecretArn}" }'
MetricTransformations:
- MetricNamespace: 'SecretsManager/Updates'
MetricName: 'SecretUpdates'
MetricValue: '1'
DefaultValue: 0
# Combined Alarm for Both Success and Failed Updates
SecretUpdateAlarm:
Type: AWS::CloudWatch::Alarm
Properties:
AlarmName: !Sub '${AWS::StackName}-secret-update'
AlarmDescription: !Sub 'Alarm for any updates (success or failure) to secret ${MyCustomResource.SecretArn}'
MetricName: SecretUpdates
Namespace: SecretsManager/Updates
Statistic: Sum
Period: 300
EvaluationPeriods: 1
Threshold: 0
ComparisonOperator: GreaterThanThreshold
TreatMissingData: notBreaching
AlarmActions:
- !Ref SecretMonitoringTopic
To enhance the reliability of the secret rotation process, implement comprehensive monitoring by creating CloudWatch alarms to detect Lambda rotation failures beyond threshold and high rates of authentication failures, unusual spikes in HTTP 4xx and 5xx error rates from ALB and using CloudTrail to track API calls and configuration changes related to secrets in Secrets Manager and load balancer settings. By implementing these custom alarms alongside standard configurations, potential security incidents and unauthorized access attempts can be quickly detected across your AWS resources. This multi-layered approach helps maintain visibility into the rotation process and helps quickly identify and respond to potential issues.
Deploy the CloudFormation template using the AWS Command Line Interface (AWS CLI) or AWS Management Console. Replace <your-region> with the AWS Region where you want to deploy the solution.
Note: You can add additional parameters if required by your IdP configuration.
Testing and verification
Disclaimer: It’s recommended to test in a separate non-critical environment to make sure that any customer-specific settings are fully verified before deploying in production environments.
For secret updates, verify that the configured CloudWatch alarms are triggered. For ALB authentication, examine ALB access logs for authentication_success entries and the presence of OIDC identity tokens.
Set up CloudWatch metrics and alarms to monitor the rotation process and authentication success rates.Verify failure cases by manually editing ALB rule configuration to point to a different secret ARN and confirm that the CloudWatch alarm is triggered.The following is an example CloudTrail event for a successful Secrets Manager update:
{
"source": ["aws.secretsmanager"],
"detail-type": ["AWS API Call via CloudTrail"],
"detail": {
"eventSource": ["secretsmanager.amazonaws.com"],
"eventName": ["UpdateSecret"],
"responseElements": {"status": "Success"}
}
}
The following is an example of ALB access logs:
/aws/alb/<your-alb-name>:
- Look for entries containing:
"authentication_success"
"id_token_authentication_successful"
"x-amzn-oidc-identity"
HTTP status code 200
- Example log pattern:
timestamp elb_name client:port target:port request_processing_time
target_processing_time response_processing_time status_code
"authentication_success" "x-amzn-oidc-identity: [token]"
Advanced scenarios
In this section, you learn how to reduce the wait time and make the Secrets Manager update nearly synchronous.
Rotate the client ID: While rotating the client secret is the most common scenario, there might be instances where rotating the client ID is also necessary. In most identity providers, this means creating a new application client and migrating resources. To do this, the Auth0CredentialHandler requires permissions to modify ALB listener rules (elasticloadbalancing:ModifyRule, elasticloadbalancing:DescribeListeners, elasticloadbalancing:DescribeRules). Client ID rotation can cause temporary authentication disruptions, so thorough testing is crucial. Use AWS Config to monitor ALB rule configurations for unexpected changes. This feature empowers a more comprehensive security posture, although it can increase the complexity of the solution and might require manual intervention.
Multi-provider strategies: If your organization handles multiple IdPs, implement a centralized rotation framework that abstracts provider-specific nuances, focusing on core security principles outlined in this post. Key considerations include creating provider-agnostic interfaces to support comprehensive monitoring and minimizing configuration overhead.
Conclusion
In this post, you explored a comprehensive approach to automating OIDC client secret rotation using AWS services. By implementing this solution, you can enhance your application’s security, reduce manual management overhead, and maintain a robust authentication strategy.
Consider exploring advanced identity management techniques or integrating multi-factor authentication with your OIDC implementation. If you are new to automated secrets rotation, visit Back to Basics: Secrets Management.
When you’re spinning up your Amazon OpenSearch Service domain, you need to figure out the storage, instance types, and instance count; decide the sharding strategies and whether to use a cluster manager; and enable zone awareness. Generally, we consider storage as a guideline for determining instance count, but not other parameters. In this post, we offer some recommendations based on T-shirt sizing for log analytics workloads.
Log analytics and streaming workload characteristics
When you use OpenSearch Service for your streaming workloads, you send data from one or more sources into OpenSearch Service. OpenSearch Service indexes your data in an index that you define.
Log data naturally follows a time series pattern, and therefore a time-based indexing strategy (daily or weekly indexes) is recommended. For efficient management of log data, you must implement time-based index patterns and set retention periods. You further define time slicing and a retention period for the data to manage its lifecycle in your domain.
For illustration, consider that you have a data source producing a continuous stream of log data, and you’ve configured a daily rolling index and set a retention period of 3 days. As the logs arrive, OpenSearch Service creates an index per day with names like stream1_2025.05.21, stream1_2025.05.22, and so on. The prefix stream1_* is what we call an index pattern, a naming convention that helps group-related indexes.
The following diagram shows three primary shards for each daily index. These shards are deployed across three OpenSearch Service data instances, with one replica for each primary shard. (For simplicity, the diagram doesn’t show that primary and replica shards are always placed on different instances for fault tolerance.)
When OpenSearch Service processes new log entries, they are sent to all relevant primary shards and their replicas in the active index, which in this example is only today’s index due to the daily index configuration.
There are several important characteristics of how OpenSearch Service processes your new entries:
Total shard count – Each index pattern will have a D * P * (1 + R) total shards, where D represents retention in days, P represents primary shards, and R is the number of replicas. These shards are distributed across your data nodes.
Active index – Time slicing means that new log entries are only written to today’s index.
Resource utilization – When sending a _bulk request with log entries, these are distributed across all shards in the active index. In our example with three primary shards and one replica per shard, that’s a total of six shards processing new data simultaneously, requiring 6 vCPUs to efficiently handle a single _bulk request.
Similarly, OpenSearch Service distributes queries across the shards for the indexes involved. If you query this index pattern across all 3 days, you will engage 9 shards, and need 9 vCPUs to process the request.
This will get even more complicated when you add in more data streams and index patterns. For each additional data stream or index pattern, you deploy shards for each of the daily indexes and use vCPUs to process requests in proportion to the shards deployed, as shown in the preceding diagram. When you make concurrent requests to more than one index, each shard for all the indexes involved must process those requests.
Cluster capacity
As the number of index patterns and concurrent requests increases, you can quickly overwhelm the cluster’s resources. OpenSearch Service includes internal queues that buffer requests and mitigate this concurrency demand. You can monitor these queues using the _cat/thread_pool API, which shows queue depths and helps you understand when your cluster is approaching capacity limits.
Another complicating dimension is that the time to process your updates and queries depends on the contents of the updates and queries. As requests come in, the queues are filling at the rate you are sending them. They are draining at a rate that is governed by the available vCPUs, the time they take on each request, and the processing time for that request. You can interleave more requests if those requests clear in a millisecond than if they clear in a second. You can use the _nodes/stats OpenSearch API to monitor average load on your CPUs. For more information about the query phases, refer to A query, or There and Back Again on the OpenSearch blog.
If you see the queue depths increasing, you are moving into a “warning” area, where the cluster is handling load. But if you continue, you can start to exceed the available queues and must scale to add more CPUs. If you start to see load increasing, which is correlated with queue depth increasing, you are also in a “warning” area and should consider scaling.
Recommendations
For sizing a domain, consider the following steps:
Determine the storage required – Total storage = (daily source data in bytes × 1.45) × (number_of_replicas + 1) × number of days retained. This accounts for the additional 45% overhead on daily source data, broken down as follows:
10% for larger index size than source data.
5% for operating system overhead (reserved by Linux for system recovery and disk defragmentation protection).
20% for OpenSearch reserved space per instance (segment merges, logs, and internal operations).
10% for additional storage buffer (minimizes impact of node failure and Availability Zone outages).
Define the shard count – Approximate number of primary shards = storage size required per index / desired shard size. Round up to the nearest multiple of your data node count to maintain even distribution. For more detailed guidance on shard sizing and distribution strategies, refer to “Amazon OpenSearch Service 101: How many shards do I need” For log analytics workloads, consider the following:
Recommended shard size: 30–50 GB
Optimal target: 50 GB per shard
Calculate CPU requirements – Recommended ratio is 1.25 vCPU:1 Shard for lower data volumes. Higher ratios are recommended for larger volumes. Target utilization is 60% average, 80% maximum.
Choose the right instance type – Consider the following based on your nodes:
Data nodes (small to large workloads): M or R family AWS Graviton instances with Amazon Elastic Block Store (Amazon EBS)
Data nodes (very large workloads): I family instances with NVMe SSDs
Let’s look at an example for domain sizing. The initial requirements are as follows:
Daily log volume: 3 TB
Retention period: 3 months (90 days)
Replica count: 1
We make the following instance calculation.
The following table recommends instances, amount of source data, storage needed for 7 days of retention, and active shards based on the preceding guidelines.
T-Shirt Size
Data (Per Day)
Storage Needed (with 7 days Retention)
Active Shards
Data Nodes
Primary Nodes
XSmall
10 GB
175 GB
2 @ 50 GB
3 * r7g.large. search
3 * m7g.large. search
Small
100 GB
1.75 TB
6 @ 50 GB
3 * r7g.xlarge. search
3 * m7g.large. search
Medium
500 GB
8.75 TB
30 @ 50 GB
6 * r7g.2xlarge.search
3 * m7g.large. search
Large
1 TB
17.5 TB
60 @ 50 GB
6 * r7g.4xlarge.search
3 * m7g.large. search
XLarge
10 TB
175 TB
600 @ 50 GB
30 * i4g.8xlarge
3 * m7g.2xlarge.search
XXL
80 TB
1.4 PB
2400 @ 50 GB
87 * I4g.16xlarge
3 * m7g.4xlarge.search
As with all sizing recommendations, these guidelines represent a starting point and are based on assumptions. Your workload will differ, and so your actual needs will differ from these recommendations. Make sure to deploy, monitor, and adjust your configuration as needed.
For T-shirt sizing the workloads, an extra-small use case encompasses 10 GB or less of data per day from a single data stream to a single index pattern. A small use case falls between 10–100 GB per day of data, a medium use case between 100–500 GB of data, and so on. Default instance count per domain is 80 for most of the instance family. Refer to the “Amazon OpenSearch Service quotas “ for details.
Additionally, consider the following best practices:
Isolate the ingestion using an OpenSearch Ingestion pipeline for smaller to large workloads and reduce the operational overhead of managing the ingestion pipelines.
Use reserved instances for long-term cost savings.
Consider using Availability Zone awareness for high availability.
Conclusion
This post provided comprehensive guidelines for sizing your OpenSearch Service domain for log analytic workloads, covering several critical aspects. These recommendations serve as a solid starting point, but each workload has unique characteristics. For optimal performance, consider implementing additional optimizations like data tiering and storage tiers. Evaluate cost-saving options such as reserved instances, and scale your deployment based on actual performance metrics and queue depths.By following these guidelines and actively monitoring your deployment, you can build a well-performing OpenSearch Service domain that meets your log analytics needs while maintaining efficiency and cost-effectiveness.
AWS recently announced that Amazon SageMaker now offers Amazon Simple Storage Service (Amazon S3) based shared storage as the default project file storage option for new Amazon SageMaker Unified Studio projects. This feature addresses the deprecation of AWS CodeCommit while providing teams with a straightforward and consistent way to collaborate on project files across the integrated development tools in SageMaker.
This new Amazon S3 storage option provides the following benefits:
Simplified collaboration – File sharing between project members directly without Git operations
Clear workspace separation – Built-in personal storage separation with Amazon Elastic Block Store (Amazon EBS) volumes
Global availability – Available in AWS Regions where SageMaker is supported
Although Amazon S3 is the default option for file storage, you can also use Git version control for more robust source control capabilities.
In this post, we discuss this new feature and how to get started using Amazon S3 shared storage in SageMaker Unified Studio.
Solution overview
When you create a new SageMaker Unified Studio domain, the service automatically configures Amazon S3 storage as your default project storage option. Each project receives a dedicated shared location in Amazon S3, accessible to project members, following the structure [bucket]/[domain-id]/[project-id]/shared/.
SageMaker tools JupyterLab and Code Editor provide the following to users:
A personal EBS volume for individual work in JupyterLab and Code Editor tools
A mounted shared folder containing the project’s Amazon S3 shared storage
Clear separation between personal and shared spaces
The shared storage is accessible across SageMaker integrated development tools:
JupyterLab and Code Editor show shared files along with personal files
Query Editor filters for relevant SQL notebooks
Visual ETL provides direct access to shared extract, transform, and load (ETL) workflows
Files saved to the shared location are immediately visible and available to project members. Users can continue working with personal files in their EBS volumes in tools like JupyterLab and Code Editor and explicitly move files to shared storage when ready to collaborate.If you want to use Git for collaboration, you can continue to do so by integrating projects with your GitHub version control, GitLab version control, or managed Bitbucket repositories.
Migration and version control options
For teams currently using Amazon CodeCommit, existing projects will remain fully functional. New projects will default to Amazon S3 storage. If you want to have version control for Amazon S3 based projects, you can enable versioning in Amazon S3 directly.
Prerequisites
You will need to complete the following prerequisites before you can follow the instructions in the next section:
To begin using Amazon S3 shared storage, complete the following steps:
Create a new SageMaker Unified Studio domain.
Create a new project (Amazon S3 storage is the default file storage option).
Open the new project and choose JupyterLab from the Build menu.
Save the new notebook you just created.
Rename the file.
After the project is saved, project users can view the saved notebook in the Project files section under the S3 path [bucket]/[domain-id]/[project-id]/shared/.
Enable version control using Git
To enable version control using Git, complete the following steps:
On the SageMaker console, create a new project profile.
Provide the necessary details for your project profile.
In the Project files storage section, the Amazon S3 option is selected by default. To enable version control for the project, you can use existing Git repository connections by selecting Git repository.
Use shared storage in Query Editor
To use the shared storage feature in Query Editor, complete the following steps:
Choose Query Editor from the Build menu.
Compose your query, and on the Actions menu, choose Save to save the query to shared storage.
Navigate back to the Project files section, where you can view the query notebook files under the S3 path [bucket]/[domain-id]/[project-id]/shared/.
Use shared storage in Visual ETL flows
To use the shared storage feature in Visual ETL flows, complete the following steps:
Choose Visual ETL flows from the Build menu.
Develop your ETL workflow and save the code to the project.
Navigate back to the Project files section, where you can view the files under the S3 path [bucket]/[domain-id]/[project-id]/shared/jobs/uploads/<ETL name>.
Clean up
Make sure you remove the SageMaker Unified Studio resources to mitigate any unexpected costs. This involves a few steps:
Delete the projects.
Delete the domain.
Delete the S3 bucket named amazon-datazone-AWSACCOUNTID-AWSREGION-DOMAINID
Conclusion
The launch of Amazon S3 shared storage in SageMaker represents another step in simplifying the analytics and machine learning (ML) development experience for our customers. By reducing the complexity of Git operations while maintaining robust collaboration capabilities, teams can now focus on building and deploying analytics and ML solutions faster. The feature is now available in Regions where SageMaker is available.
For detailed information about this feature, including setup instructions and best practices, refer to Unified storage in Amazon SageMaker Unified Studio. Share your feedback on this feature in the comments section.
In our previous blog post (Part 1 of our key replication series), Automatically replicate your card payment keys across AWS Regions, we explored an event-driven, serverless architecture using AWS PrivateLink to securely replicate card payment keys across AWS Regions. That solution demonstrated how to build a custom replication framework for payment cryptography keys.
Based on customer feedback requesting a more automated, no-code approach, we’re excited to announce an additional option to this capability with Multi-Region keys for AWS Payment Cryptography in Part 2 of our series.
By using this new feature, you can automatically synchronize payment cryptography keys from a primary Region to other Regions that you select, improving resilience and availability of payment applications. You can also choose between account-level replication or key-level replication, giving more flexibility in how to manage payment keys across Regions.
Multi-Region keys: Overview and benefits
The new Multi-Region key replication feature for AWS Payment Cryptography offers you flexible control over your key replication strategy through the following primary capabilities:
Control whether keys are replicated
Select specific Regions for key replication
Manage replication configuration changes
Configure either account-level or key-level replication to meet business needs
Multi-Region keys help deliver several benefits for global payment operations, including:
Improved availability: Access your payment keys even if a Region becomes unavailable
Disaster recovery: Maintain business continuity with replicated keys across Regions
Global operations: Support payment processing across multiple geographic regions
Simplified management: Centralized control with distributed availability
Consistent key IDs: The same key ID across Regions simplifies application development
Configuration options
Payment Cryptography provides two distinct methods for configuring Multi-Region key replication, giving flexibility to implement a strategy that best fits your organization’s needs. You can choose between a broad, account-level approach or a more granular, key-level method.
Account-level
With account-level configuration, AWS automatically replicates exportable symmetric keys created in your Payment Cryptography account from your designated primary Region to other Regions you specify. This simplifies key management in multi-Region deployments, provides consistent key availability in the Regions that you specify, and reduces the operational overhead of key management.
To configure account-level replication using the AWS Command Line Interface (AWS CLI), use the new enable-default-key-replication-regions API to set the Regions where AWS will replicate your keys. To remove Regions from your default replication list, use the disable-default-key-replication-regions API.
Note: Only symmetric keys created after the account-level replication is enabled will be replicated.
Key-level replication
By using key-level replication, you can achieve more granular control by:
Designating specific keys as multi-Region keys
Defining custom replication targets for each multi-Region key
Maintaining Region-specific keys when needed
Note: Within each Region, Payment Cryptography maintains redundancy of your keys across multiple Availability Zones for high availability. Multi-Region key replication extends across geographic boundaries, giving you additional resilience against Regional outages while maintaining control over where your keys are stored.
You can specify replication Regions during key creation using the --replication-regions parameter, using the AWS CLI, with the create-key or import-key APIs. For existing keys, you can use the new add-key-replication-regions and remove-key-replication-regions APIs to manage which regions receive your replicated keys.
Important: When you specify replication Regions during key creation, these settings take precedence over default replication Regions configured at the account level.
How it works
Figure 1 shows the process when you replicate a key in Payment Cryptography.
The key is created in your designated primary Region
Payment Cryptography automatically replicates the key material asynchronously to the specified replica Regions
The replicated keys maintain the same key ID across Regions; only the Region portion of the Amazon Resource Name (ARN) changes
The key in the primary Region is marked with MultiRegionKeyType: PRIMARY
Keys in replica Regions are marked with MultiRegionKeyType: REPLICA and include a reference to the primary Region
When deleting a key, its deletion cascades from the primary to replica Regions
Figure 1: Representation of key replication from us-east-1 to us-west-2
Example: Creating a multi-Region key at key level
The following is an example of creating a card verification key (CVK) in the primary Region (us-east-1) with replication to us-west-2:
When using multi-Region keys, several important aspects should be considered. Multi-Region key replication supports only symmetric keys with the exportable attribute enabled, and asymmetric keys are not supported. For billing purposes, AWS bills per key per Region, which means replicating to three Regions incurs costs for the primary key plus costs for each key in the replica Regions.
Key aliases and tags require separate management in each Region because they are not part of the replication process. While primary keys support modifications and updates, replica keys are read-only copies that support only cryptographic operations. Modifications must be made to the key in the primary Region, and Payment Cryptography automatically propagates these changes to the replica Regions. Monitor the replication status to confirm successful synchronization of these changes.
The deletion process for multi-Region keys follows specific behavior patterns that are important to understand. When a primary key is scheduled for deletion, associated replica keys are deleted immediately. The primary key enters a pending deletion state with a minimum 3-day waiting period, during which the deletion can be canceled. However, if you restore the primary key by canceling its deletion, you will need to re-enable replication to recreate the replica keys in your desired Regions. After the 3-day waiting period expires, the primary key is permanently deleted and becomes unrecoverable. Note that deleting a replica key affects only that specific Region and does not impact the primary key or other replica keys.
Multi-Region key replication operates with eventual consistency. When creating new keys or making changes to existing keys, these updates might not appear immediately across all Regions. Applications should be designed to handle this eventual consistency model and not assume immediate availability of keys or key changes in replica Regions. If your application requires strong consistency, implement polling mechanisms using the GetKey API to verify that changes have been synchronized before proceeding with key operations.
Logging and monitoring
Payment Cryptography logs API activity through AWS CloudTrail, which now includes new events and attributes specific to Multi-Region key replication.
New CloudTrail event
The service logs a new event type called SynchronizeMultiRegionKey, which appears in primary and replica Regions.
Primary Region events:
Two SynchronizeMultiRegionKey events are logged in the primary Region for each replication Region defined:
To start using Multi-Region key replication in Payment Cryptography:
Determine your primary Region.
Determine your replica Regions and if you will use account-level or key-level configuration.
Create new exportable symmetric keys or update existing keys to use the Multi-Region key replication feature.
Update your applications to use the consistent key IDs across Regions.
Conclusion
The new Multi-Region key replication feature in Payment Cryptography enhances our automatic key replication capabilities, providing improved resilience and simplified management for global payment applications. This feature helps make sure your payment cryptography keys are available when and where you need them, with the flexibility to choose between account-level or key-level replication strategies.
When evaluating cloud providers, cost is often the most visible factor—but in enterprise IT, information security (InfoSec), and compliance, securityis always the first (and likely most important) concern. As a technology leader, you know that determining “acceptable” risk is a moving target, but you’re likely also regularly squeezed by budget pressures and a mandate to contribute to the company’s bottom line.
Taking a chance on providers with lower price tags might feel like too big of a risk—lower-cost providers must be sacrificing something, and all too often, that something is security. Right?
It’s a fair question, but the answer might surprise you. Today, we’re talking about how specialized cloud providers provide surprising value—and even provide security benefits—when compared with traditional, hyperscaler architectures. Let’s talk about what you need to know to evaluate a cloud provider’s security posture.
Want to hear from the experts?
Join our upcoming session to hear from Backblaze experts Troy Liljedahl, Sr. Director, Solutions Engineering, and Pat Patterson, Chief Technical Evangelist, about the knowledge and features you need to stay ahead of modern threats.
Join us to learn:
Foundational controls: Master the best practices for using encryption, Object Lock, access keys, role-based access controls, and more to build a solid defense.
Advanced threat detection: Get an exclusive look at Backblaze’s new feature, Anomaly Alerts, which helps detect irregular and potentially suspicious data access patterns.
A unified approach: Understand how to integrate these powerful features to create a strong, easy-to-manage security strategy.
How specialized cloud providers provide security benefits
In theory, cloud architecture encourages redundancy. But in practice, many companies—even those using multi-cloud strategies—tend to consolidate key services like authentication and orchestration with a single vendor. When that vendor’s services go down, it doesn’t matter that your data is replicated across three availability zones in the same data center. If you can’t log in to access it, your redundancy becomes purely theoretical. This year alone, there have been major outages that had widespread consequences from the likes of Google, IBM cloud, and others.
Specialized cloud providers and multi-cloud strategies provide inherent benefits here.
Vendor transparency: Open cloud providers publish clear, detailed practices around architecture, encryption, and compliance rather than burying them behind opaque marketing claims. This transparency allows your teams to independently validate security assurances.
Avoiding lock-in: Multi-cloud strategies ensure you’re not beholden to a single vendor’s security practices. If one provider falls short, data replication and redundancy across platforms can maintain both compliance and resilience.
Risk distribution: By spreading workloads across providers, organizations mitigate the risk of a single point of failure, outage, or vendor breach.
Compliance flexibility: Different providers may align more strongly with specific frameworks (SOC 2, HIPAA, GDPR, etc.), giving enterprises options to meet evolving regulatory demands.
This means that organizations don’t have to choose between cost efficiency and security—they can and should get both.
How to evaluate a cloud provider’s security posture
Choosing the right cloud provider isn’t just about price, features, or performance—it’s about knowing they can safeguard your data and prove it. Here are key areas to assess:
Architecture & physical security
Does the provider operate its own infrastructure or rely on generic colocation facilities?
What physical safeguards (biometrics, restricted access, surveillance) protect the data centers?
Encryption & data protection
Is data encrypted both in transit (TLS/SSL) and at rest (AES-256 or equivalent)?
Are key management options available, including customer-managed keys?
Is immutability (Object Lock or write once, read many (WORM) storage) supported for ransomware defense?
Access & identity controls
Are granular permissioning and role-based access (RBAC) controls available?
Does the provider support single sign on (SSO), multi-factor authentication (MFA), and integration with enterprise identity systems?
Can admins maintain clear audit logs of all access and changes?
Compliance & certifications
Which third-party attestations does the provider maintain (SOC 2, HIPAA, PCI-DSS, GDPR, ISO)?
Can they provide signed agreements (such as Business Associate Agreements (BAAs)) as needed for regulated industries?
Resilience & multi-cloud strategy
Do they offer replication across regions or the ability to integrate into a multi-cloud strategy?
How quickly can you move workloads or data out if you need to change vendors or access data in case of emergency?
By using this evaluation framework, IT leaders can look past marketing promises and price tags, focusing on verifiable controls and independent certifications.
The hyperscaler tax for cloud security
Many enterprises assume that higher cloud storage costs from hyperscalers like AWS, Azure, or Google Cloud translate directly into better security. In reality, much of that premium is a “hyperscaler tax” driven by complex business models, bundled services, and legacy infrastructure—not inherently superior protection. Specialized cloud providers can often deliver the same enterprise-grade security controls—encryption, compliance certifications, access management—without the inflated price tag, proving that security and affordability are not mutually exclusive.
Building a better mousetrap: The innovation behind Backblaze B2
From the beginning, Backblaze has architected its storage solution to be both performant and cost-effective. And, by specializing in storage (as opposed to the myriad of solutions offered by, say, Amazon Web Services and other hyperscalers), Backblaze is able to optimize for the economics of storage and storage alone.
To help you get past the price tag and into the technical details, let’s break down the pillars of Backblaze B2 security and compliance.
Compliance? We’ve got a visual for that.
Want a quick glance on how Backblaze compares to other cloud storage providers on key security and compliance elements? Check out our comparison matrices.
Architecture and physical security: The foundation of trust
Our security starts with our physical infrastructure. Our data centers are designed for 11 nines of data durability and are staffed 24/7/365. They feature:
Best-in-class security features: Biometric security, ID checks, and multi-layered access controls.
This physical and architectural security is the bedrock of our service, and it’s backed by industry-standard certifications like SOC 2 Type 2 certification.
Data storage security: Protecting data at rest and in transit
Data security is a core tenet of our platform. From the moment your data leaves your system until it is stored on our pods, it is protected by multiple layers of encryption.
Encryption in transit: All files are transmitted to Backblaze B2 using an encrypted TLS connection.
Encryption at rest: Your data is encrypted before it is stored on disk. We offer two options for server-side encryption with 256-bit Advanced Encryption Standard (AES-256):
Server-side encryption (SSE) with Backblaze managed keys (SSE-B2): We handle the key management for you, providing seamless, built-in protection.
SSE with customer managed keys (SSE-C): For organizations with strict compliance requirements, you can manage your own keys, giving you complete control over your data’s access.
Object Lock for immutability: Our Object Lock feature provides a powerful layer of ransomware protection. Using a write-once, read-many (WORM) model, it prevents files from being modified, manipulated, or deleted for a customer-determined retention period. This is an essential tool for compliance and disaster recovery.
Cloud Replication: For businesses with high-availability or geographical redundancy requirements, Backblaze B2 supports automatic replication of data across different regions, ensuring your data is always available and safe from regional outages or other incidents.
Access management security: Granting control and ensuring accountability
Controlling who can access your data is paramount. We provide granular, enterprise-grade access management controls that give you full command over your storage:
Fine-grained API key control: Create and manage accounts, groups, and specific data access permissions with robust API key control.
Multi-factor authentication (MFA) & single sign-on (SSO): We offer multiple account authentication options, including MFA and SSO via providers like Google Workspace and Office 365, to prevent unauthorized access.
Comprehensive logging: Backblaze provides detailed logs and reports on all activities within your account, so you can maintain a clear audit trail.
Compliance: Demonstrating our commitment to best practices
Security is not just a feature; it’s a commitment that’s verified by independent third parties. Backblaze has achieved a number of security and compliance attestations, including:
SOC 2, Type 2: We have been independently audited and certified for SOC 2, Type 2 compliance, demonstrating our commitment to protecting customer data.
HIPAA: For business customers who are Covered Entities under the Health Insurance Portability and Accountability Act (HIPAA), we can provide a Business Associate Agreement (BAA) upon request.
PCI-DSS: Backblaze’s adherence to the Payment Card Industry Data Security Standard (PCI-DSS) is supported by our use of Stripe to handle card information and our internal security controls.
GDPR: We adhere to General Data Protection Regulation (GDPR) privacy policies and provide Data Processing Agreement Addendums (DPAs) for EEA/EU and UK residents.
While some competitors may also offer these certifications, Backblaze’s pricing model is built to ensure you don’t have to pay a premium for them. Our efficiencies mean that we can pass the savings directly to you without compromising on the security and compliance that your business demands.
Specialized cloud storage: Enabling enterprises to evaluate their best options
In the end, our goal is to free you from the false choice between security and affordability. The reality is that the high cost of some cloud providers is a result of their complex, multi-tiered business models—not a reflection of superior security. Backblaze’s commitment to building a focused, innovative, and transparent cloud storage solution allows us to deliver on our promise: enterprise-grade security and compliance, at a fraction of the cost.
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional
Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.