[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:tr:devops-cloud\u002Fsecurity-iam-secrets":4,"config":255},null,{"field_key":5,"field_name":6,"seniority":7,"topic_key":8,"topic_name":9,"spec_key":7,"spec_name":7,"locale":10,"cell_total":11,"field_total":12,"seniorities":13,"topics":17,"specs":151,"samples":171},"devops-cloud","DevOps \u002F Cloud","","security-iam-secrets","Security Iam Secrets","tr",75,3375,[14,15,16],"junior","mid","senior",[18,21,24,27,30,33,36,39,42,45,48,51,54,57,60,63,66,69,72,75,78,81,84,87,90,93,96,99,102,105,108,111,114,117,120,123,126,129,132,133,136,139,142,145,148],{"key":19,"name":20,"count":11},"aws-compute-ec2-lambda","Aws Compute Ec2 Lambda",{"key":22,"name":23,"count":11},"aws-databases-rds-dynamodb","Aws Databases Rds Dynamodb",{"key":25,"name":26,"count":11},"aws-iam-security","Aws Iam Security",{"key":28,"name":29,"count":11},"aws-messaging-eventing","Aws Messaging Eventing",{"key":31,"name":32,"count":11},"aws-networking-vpc","Aws Networking Vpc",{"key":34,"name":35,"count":11},"aws-storage-s3-ebs","Aws Storage S3 Ebs",{"key":37,"name":38,"count":11},"azure-compute-vm-appservice","Azure Compute Vm Appservice",{"key":40,"name":41,"count":11},"azure-databases-sql-cosmosdb","Azure Databases Sql Cosmosdb",{"key":43,"name":44,"count":11},"azure-iam-security","Azure Iam Security",{"key":46,"name":47,"count":11},"azure-messaging-eventing","Azure Messaging Eventing",{"key":49,"name":50,"count":11},"azure-networking-vnet","Azure Networking Vnet",{"key":52,"name":53,"count":11},"azure-storage-blob-managed-disk","Azure Storage Blob Managed Disk",{"key":55,"name":56,"count":11},"ci-cd-pipelines","Ci Cd Pipelines",{"key":58,"name":59,"count":11},"cloud-architecture-scaling","Cloud Architecture Scaling",{"key":61,"name":62,"count":11},"containers-orchestration","Containers Orchestration",{"key":64,"name":65,"count":11},"deployment-release-strategies","Deployment Release Strategies",{"key":67,"name":68,"count":11},"gcp-compute-gce-cloudrun","Gcp Compute Gce Cloudrun",{"key":70,"name":71,"count":11},"gcp-databases-cloudsql-spanner-firestore","Gcp Databases Cloudsql Spanner Firestore",{"key":73,"name":74,"count":11},"gcp-iam-security","Gcp Iam Security",{"key":76,"name":77,"count":11},"gcp-messaging-eventing","Gcp Messaging Eventing",{"key":79,"name":80,"count":11},"gcp-networking-vpc","Gcp Networking Vpc",{"key":82,"name":83,"count":11},"gcp-storage-gcs-persistent-disk","Gcp Storage Gcs Persistent Disk",{"key":85,"name":86,"count":11},"infrastructure-as-code","Infrastructure As Code",{"key":88,"name":89,"count":11},"k8s-config-secrets","K8s Config Secrets",{"key":91,"name":92,"count":11},"k8s-observability-troubleshooting","K8s Observability Troubleshooting",{"key":94,"name":95,"count":11},"k8s-scheduling-resources","K8s Scheduling Resources",{"key":97,"name":98,"count":11},"k8s-services-networking","K8s Services Networking",{"key":100,"name":101,"count":11},"k8s-storage","K8s Storage",{"key":103,"name":104,"count":11},"k8s-workloads","K8s Workloads",{"key":106,"name":107,"count":11},"linux-filesystem-permissions-links","Linux Filesystem Permissions Links",{"key":109,"name":110,"count":11},"linux-networking-tools-troubleshooting","Linux Networking Tools Troubleshooting",{"key":112,"name":113,"count":11},"linux-performance-monitoring-resource-limits","Linux Performance Monitoring Resource Limits",{"key":115,"name":116,"count":11},"linux-process-management-signals","Linux Process Management Signals",{"key":118,"name":119,"count":11},"linux-shell-scripting-ops-automation","Linux Shell Scripting Ops Automation",{"key":121,"name":122,"count":11},"linux-systemd-service-management","Linux Systemd Service Management",{"key":124,"name":125,"count":11},"networking-dns-loadbalancing","Networking Dns Loadbalancing",{"key":127,"name":128,"count":11},"observability-monitoring","Observability Monitoring",{"key":130,"name":131,"count":11},"reliability-incident-sre","Reliability Incident Sre",{"key":8,"name":9,"count":11},{"key":134,"name":135,"count":11},"terraform-hcl-language-expressions","Terraform Hcl Language Expressions",{"key":137,"name":138,"count":11},"terraform-modules-workspaces","Terraform Modules Workspaces",{"key":140,"name":141,"count":11},"terraform-plan-apply-drift-import","Terraform Plan Apply Drift Import",{"key":143,"name":144,"count":11},"terraform-providers-lifecycle-provisioners","Terraform Providers Lifecycle Provisioners",{"key":146,"name":147,"count":11},"terraform-state-backend-locking","Terraform State Backend Locking",{"key":149,"name":150,"count":11},"terraform-testing-policy-cicd","Terraform Testing Policy Cicd",[152,156,159,162,165,168],{"key":153,"name":154,"count":155},"aws","AWS",450,{"key":157,"name":158,"count":155},"azure","Azure",{"key":160,"name":161,"count":155},"gcp","GCP",{"key":163,"name":164,"count":155},"kubernetes","Kubernetes",{"key":166,"name":167,"count":155},"linux","Linux",{"key":169,"name":170,"count":155},"terraform","Terraform",[172,190,203,216,229,242],{"id":173,"topic":9,"difficulty":174,"body":175,"options":176,"correct_key":184,"explanation":189},"019f56bb-b983-791c-9798-4a004697cc7e",1,"Erişim kontrolünde least privilege (en az yetki) ilkesi ne anlama gelir?",[177,180,183,186],{"key":178,"text":179},"a","Her kimliğe varsayılan olarak admin erişimi verilir, ancak bir olay sonrası kısıtlanır.",{"key":181,"text":182},"b","Yönetimi kolaylaştırmak için tüm kimlikler aynı ortak kimlik bilgilerini paylaşır.",{"key":184,"text":185},"c","Her kimliğe yalnızca görevini yerine getirmek için gereken izinler verilir, fazlası verilmez.",{"key":187,"text":188},"d","İzinler bir kez gözden geçirilir ve sonrasında asla değiştirilmez.","Least privilege, bir görev için gereken erişimin verilmesi demektir; credential ele geçirilirse blast radius'u minimize eder. Varsayılan olarak geniş erişim verip yalnızca olay sonrası kısıtlamak tam tersi bir yaklaşımdır ve çoğu zaman büyük bir attack surface bırakır. Paylaşılan credential'lar accountability ve auditability'yi ortadan kaldırır. İzinler roller değiştikçe periyodik gözden geçirme gerektirir, tek seferlik bir kurulum değildir.",{"id":191,"topic":9,"difficulty":174,"body":192,"options":193,"correct_key":178,"explanation":202},"019f56bb-b984-7332-ba9e-633787d6ef34","Authentication (kimlik doğrulama) ile authorization (yetkilendirme) arasındaki temel fark nedir?",[194,196,198,200],{"key":178,"text":195},"Authentication bir kimliğin kim olduğunu doğrular; authorization o kimliğin neler yapabileceğini belirler.",{"key":181,"text":197},"Authentication kimliğin neler yapabileceğini belirler; authorization ise o kimliğin gerçekte kim olduğunu doğrular.",{"key":184,"text":199},"Authentication ve authorization ikisi de kimliği doğrular, yalnızca oturumun farklı anlarında çalışır.",{"key":187,"text":201},"Authorization yalnızca insan kullanıcılar için geçerlidir, authentication ise hem insan hem servis kimlikleri için geçerlidir.","Authentication 'sen kimsin' sorusuna (kimlik doğrulama), authorization ise 'ne yapabilirsin' sorusuna (izin kontrolü) cevap verir — bunlar ayrı adımlardır, aynı kontrolün iki adı değildir. Authorization yalnızca insan kullanıcılarla sınırlı değildir; service account'lar ve machine identity'ler de yetkilendirilir.",{"id":204,"topic":9,"difficulty":174,"body":205,"options":206,"correct_key":181,"explanation":215},"019f56bb-b984-7978-9639-1a2b9900fe92","Veritabanı parolaları veya API anahtarları gibi credential'lar neden doğrudan uygulama kaynak koduna gömülmemeli?",[207,209,211,213],{"key":178,"text":208},"Version control sistemleri her commit'i otomatik olarak tarar ve credential'a benzeyen her string'i saklanmadan önce anında şifreler.",{"key":181,"text":210},"Kaynak kod version control'de tutulur ve ekiple paylaşılır; bu yüzden koda gömülen bir credential repoya erişimi olan herkese açık olur, silinse bile.",{"key":184,"text":212},"Bu yalnızca public repository'ler için önemlidir — private repository'ler, kime erişim verilirse verilsin, herhangi bir tür credential'ı gömmek için doğası gereği güvenli yerlerdir.",{"key":187,"text":214},"Credential \"read-only\" bir anahtarsa sorun yok, çünkü sızan bir read-only anahtar yalnızca veriyi görüntülemek için kullanılabilir ve asla gerçek bir zarar veremez.","Kaynak koddaki credential'lar kodun gittiği her yere gider: version control history, fork'lar, backup'lar, CI log'ları — sonraki bir commit'te silmek eski history'den yok etmez. Version control credential görünümlü string'leri otomatik şifrelemez, private repo'lar doğası gereği güvenli değildir (ele geçirilmiş laptop'lar, eski çalışanlar, yanlış yapılandırılmış erişim), ve 'read-only' bir anahtar bile hassas veriyi açığa çıkarabilir, ki bu zaten zarar vericidir.",{"id":217,"topic":9,"difficulty":174,"body":218,"options":219,"correct_key":187,"explanation":228},"019f56bb-b985-73c2-b1bc-dc9ca550d7fa","Multi-factor authentication (MFA), yalnızca parolaya kıyasla login sürecine ne ekler?",[220,222,224,226],{"key":178,"text":221},"Daha katı bir minimum uzunluk şartı ekler, çünkü MFA temelde kullanıcıları öncekinden daha fazla karakter içeren parolalar seçmeye zorlar.",{"key":181,"text":223},"Ayrı saklanan bir yedek parola ekler; ana parola unutulduğunda giriş yapmak için bu kullanılabilir.",{"key":184,"text":225},"Kullanıcı hesabına her başarılı girişte tetiklenen otomatik bir parola rotation'ı ekler.",{"key":187,"text":227},"İkinci, bağımsız bir kimlik kanıtı ekler (ör. bir cihazdan tek kullanımlık kod); böylece sızan bir parola tek başına yeterli olmaz.","MFA, parolaya ek olarak ikinci, bağımsız bir faktör gerektirir; böylece sızan bir parola tek başına authenticate olmak için yeterli olmaz. Parola uzunluğu, yedek parola veya her girişte otomatik rotation ile ilgisi yoktur.",{"id":230,"topic":9,"difficulty":174,"body":231,"options":232,"correct_key":181,"explanation":241},"019f56bb-b985-7912-b76a-b0ab9571b2d7","'Encryption in transit' (ör. TLS) neyi korur?",[233,235,237,239],{"key":178,"text":234},"Birinin, filesystem'e doğrudan erişim sağladıktan sonra server diskindeki dosyaları doğrudan okumasını engeller.",{"key":181,"text":236},"Bir client ile server arasındaki ağ trafiğinin, ağ üzerinden giderken biri tarafından araya girilip okunmasını engeller.",{"key":184,"text":238},"Birinin, art arda birçok giriş denemesi yaparak bir kullanıcının parolasını tekrar tekrar tahmin etmesini engeller.",{"key":187,"text":240},"Birinin, uygulama zaten production'a çıktıktan çok sonra deploy edilmiş kaynak kodunu değiştirmesini engeller.","TLS, veri ağ üzerinden hareket ederken interception\u002Feavesdropping'e karşı korur. Diskteki veriyi korumak, farklı bir kontrol olan encryption at rest'in işidir. Brute-force parola tahmini ve kaynak kod bütünlüğü, başka kontrollerle (rate limiting, code signing\u002Ferişim kontrolü) ele alınan ilgisiz konulardır.",{"id":243,"topic":9,"difficulty":174,"body":244,"options":245,"correct_key":178,"explanation":254},"019f56bb-b985-7e9a-919f-741224376ca1","Bir veritabanında veya object storage'da tutulan veri için 'encryption at rest' ne anlama gelir?",[246,248,250,252],{"key":178,"text":247},"Veri diskte şifreli biçimde tutulur; böylece yalnızca storage'a ham erişim, okunabilir bir veri açığa çıkarmaz.",{"key":181,"text":249},"Veri yalnızca iki ayrı servis arasında bir ağ üzerinden aktif olarak aktarılırken şifrelenir.",{"key":184,"text":251},"Veri disk alanından tasarruf etmek için sıkıştırılır, ki 'at rest' teriminin burada asıl ifade ettiği budur.",{"key":187,"text":253},"Veri, maruziyeti azaltmak amacıyla sabit bir saklama süresi geçtikten sonra otomatik olarak silinir.","Encryption at rest, saklanan veriyi korur; böylece disklere\u002Fstorage'a ham erişim, decryption key olmadan okunabilir veri açığa çıkarmaz. Ağ üzerinden aktarım (bu in-transit encryption'ın işi), sıkıştırma veya saklama politikalarıyla ilgisi yoktur.",{"fields":256,"seniorities":429,"interview_shapes":430,"locales":435,"oauth":437,"question_count":440,"coach_enabled":441,"jd_match_enabled":441},[257,282,303,320,330,343,362,381,403,410,416,423],{"key":258,"name_tr":259,"name_en":259,"sort":174,"specializations":260},"backend","Backend",[261,264,267,270,273,276,279],{"key":262,"name":263,"field":258},"general","Genel",{"key":265,"name":266,"field":258},"go","Go",{"key":268,"name":269,"field":258},"python","Python",{"key":271,"name":272,"field":258},"java","Java",{"key":274,"name":275,"field":258},"csharp","C#\u002F.NET",{"key":277,"name":278,"field":258},"nodejs","Node.js",{"key":280,"name":281,"field":258},"php","PHP",{"key":283,"name_tr":284,"name_en":284,"sort":285,"specializations":286},"frontend","Frontend",2,[287,288,291,294,297,300],{"key":262,"name":263,"field":283},{"key":289,"name":290,"field":283},"javascript","JavaScript",{"key":292,"name":293,"field":283},"typescript","TypeScript",{"key":295,"name":296,"field":283},"react","React",{"key":298,"name":299,"field":283},"vue","Vue",{"key":301,"name":302,"field":283},"angular","Angular",{"key":304,"name_tr":305,"name_en":305,"sort":306,"specializations":307},"fullstack","Fullstack",3,[308,309,310,311,312,313,314,315,316,317,318,319],{"key":262,"name":263,"field":304},{"key":265,"name":266,"field":258},{"key":268,"name":269,"field":258},{"key":271,"name":272,"field":258},{"key":274,"name":275,"field":258},{"key":277,"name":278,"field":258},{"key":280,"name":281,"field":258},{"key":289,"name":290,"field":283},{"key":292,"name":293,"field":283},{"key":295,"name":296,"field":283},{"key":298,"name":299,"field":283},{"key":301,"name":302,"field":283},{"key":5,"name_tr":6,"name_en":6,"sort":321,"specializations":322},4,[323,324,325,326,327,328,329],{"key":262,"name":263,"field":5},{"key":153,"name":154,"field":5},{"key":160,"name":161,"field":5},{"key":157,"name":158,"field":5},{"key":163,"name":164,"field":5},{"key":169,"name":170,"field":5},{"key":166,"name":167,"field":5},{"key":331,"name_tr":332,"name_en":332,"sort":333,"specializations":334},"ai-engineer","AI Engineer",5,[335,336,337,340],{"key":262,"name":263,"field":331},{"key":268,"name":269,"field":331},{"key":338,"name":339,"field":331},"llm-rag","LLM\u002FRAG",{"key":341,"name":342,"field":331},"mlops","MLOps",{"key":344,"name_tr":345,"name_en":346,"sort":347,"specializations":348},"database","Veritabanı","Database",6,[349,350,353,356,359],{"key":262,"name":263,"field":344},{"key":351,"name":352,"field":344},"postgresql","PostgreSQL",{"key":354,"name":355,"field":344},"mysql","MySQL",{"key":357,"name":358,"field":344},"mongodb","MongoDB",{"key":360,"name":361,"field":344},"redis","Redis",{"key":363,"name_tr":364,"name_en":365,"sort":366,"specializations":367},"mobile","Mobil","Mobile",7,[368,369,372,375,378],{"key":262,"name":263,"field":363},{"key":370,"name":371,"field":363},"ios-swift","iOS (Swift)",{"key":373,"name":374,"field":363},"android-kotlin","Android (Kotlin)",{"key":376,"name":377,"field":363},"flutter","Flutter",{"key":379,"name":380,"field":363},"react-native","React Native",{"key":382,"name_tr":383,"name_en":384,"sort":385,"specializations":386},"security","Güvenlik","Security",8,[387,388,391,394,397,400],{"key":262,"name":263,"field":382},{"key":389,"name":390,"field":382},"appsec","AppSec",{"key":392,"name":393,"field":382},"offensive-pentest","Offensive \u002F Pentest",{"key":395,"name":396,"field":382},"cloud-security","Cloud Security",{"key":398,"name":399,"field":382},"devsecops","DevSecOps",{"key":401,"name":402,"field":382},"blue-team-incident","Blue Team \u002F Incident",{"key":404,"name_tr":405,"name_en":406,"sort":407,"specializations":408},"qa-test-automation","QA \u002F Test Otomasyonu","QA \u002F Test Automation",9,[409],{"key":262,"name":263,"field":404},{"key":411,"name_tr":412,"name_en":412,"sort":413,"specializations":414},"data-engineer","Data Engineer",10,[415],{"key":262,"name":263,"field":411},{"key":417,"name_tr":418,"name_en":419,"sort":420,"specializations":421},"game-dev","Oyun Geliştirme","Game Development",11,[422],{"key":262,"name":263,"field":417},{"key":424,"name_tr":425,"name_en":425,"sort":426,"specializations":427},"ml-engineer","ML Engineer",12,[428],{"key":262,"name":263,"field":424},[14,15,16],{"junior":431,"mid":433,"senior":434},{"questions":432,"median_sec":3},20,{"questions":432,"median_sec":3},{"questions":432,"median_sec":3},[10,436],"en",[438,439],"google","github",21750,true]