Kimlik, kaynak ve sınır

Geliştiriciler için AWS Güvenliğini Kullanma

Rahul Singh

Technical Product Manager

Hangi politika söz sahibi?

Hiçbir şeyi değiştirmeyen düzenleme

  • Bölüm bir: açıkça reddet veya izin yok
  • Burada: üçüncü bir neden

Bir isteğin üç katmanlı politika kontrolüyle karşılaşıp, kararın olacağı yerde soru işareti olması.

Geliştiriciler için AWS Güvenliğini Kullanma

Hangi politika söz sahibi?

En çok üç katman

  1. Arayan üzerindeki kimlik politikası
  2. Kaynak üzerindeki kaynak politikası
  3. Üstte sınır, sadece çıkarır

Kendi hesabında, iki politikadan biri izin verirse yeter

Karşılaştığı herhangi bir katman tarafından reddedilir

Bir istek, sırayla kimlik politikası, kaynak politikası ve izin sınırı kontrollerinden geçip ardından izin verilen sonuca ulaşır.

Geliştiriciler için AWS Güvenliğini Kullanma

Bir politikanın bulunabileceği iki yer

Kimlik tabanlı politika

  • Arayana ekli
  • O kimliğin yapabilecekleri
  • Üzerinde taşıdığın bir geçiş kartı

Üstteki bir rol kimlik tabanlı bir politika taşır; aşağıda aynı isteğin kaynak tarafı için yer vardır.

Geliştiriciler için AWS Güvenliğini Kullanma

Bir politikanın bulunabileceği iki yer

Kimlik tabanlı politika

  • Arayana ekli
  • O kimliğin yapabilecekleri
  • Üzerinde taşıdığın bir geçiş kartı

Kaynak tabanlı politika

  • Kaynağa ekli
  • Kimler erişebilir
  • Hesaplar arası arayanlar için gerekli

Üstteki bir rol kimlik tabanlı politika taşırken, alttaki bir S3 kovası kaynak tabanlı politika taşır ve bir istek ikisi arasında aşağı doğru ilerler.

Geliştiriciler için AWS Güvenliğini Kullanma

Senin için yönetilen mi, senin tarafından mı

İki tür kimlik tabanlı politika

  • AWS yönetimli: AWS'nin sahibi olduğu
  • Müşteri yönetimli: senin sahibi olduğun

Üst üste iki kart, varsayılan olarak geniş kapsamlı ve AWS'ye ait bir AWS yönetimli politikayla, sana ait ve göreve göre daraltılmış müşteri yönetimli politikayı karşılaştırır.

Geliştiriciler için AWS Güvenliğini Kullanma

Senin için yönetilen mi, senin tarafından mı

İki tür kimlik tabanlı politika

  • AWS yönetimli: AWS'nin sahibi olduğu
  • Müşteri yönetimli: senin sahibi olduğun

 

Kolaylık mı, hassasiyet mi

  • AWS yönetimli: hızlı ilerle
  • Müşteri yönetimli: en az ayrıcalık

Üst üste iki kart, varsayılan olarak geniş kapsamlı ve AWS'ye ait bir AWS yönetimli politikayla, sana ait ve göreve göre daraltılmış müşteri yönetimli politikayı karşılaştırır.

Geliştiriciler için AWS Güvenliğini Kullanma

Bir sınır, politikanın verdiğini sınırlar

Bir hesap neden ekler

  • Geliştiriciler rol oluşturur, kimse ayrıcalık yükseltmez

İzin sınırı

  • Bir politikanın verdiğini tavanlar
  • Etkin: ikisi de izin verirse

Kimlik politikasının verdiği üç izin, yalnızca S3 eylemlerine izin veren bir izin sınırından geçer; `iam:CreateUser` izni durdurulur, diğer ikisi aşağıdaki etkin izinlere devam eder.

Geliştiriciler için AWS Güvenliğini Kullanma

Bir sınır, politikanın verdiğini sınırlar

Bir hesap neden ekler

  • Geliştiriciler rol oluşturur, kimse ayrıcalık yükseltmez

İzin sınırı

  • Bir politikanın verdiğini tavanlar
  • Etkin: ikisi de izin verirse

Neden iam:CreateUser işe yaramadı

  • Sadece çıkarır, asla vermez

Kimlik politikasının verdiği üç izin, yalnızca S3 eylemlerine izin veren bir izin sınırından geçer; `iam:CreateUser` izni durdurulur, diğer ikisi aşağıdaki etkin izinlere devam eder.

Geliştiriciler için AWS Güvenliğini Kullanma

Bir sınır, politikanın verdiğini sınırlar

Bir hesap neden ekler

  • Geliştiriciler rol oluşturur, kimse ayrıcalık yükseltmez

İzin sınırı

  • Bir politikanın verdiğini tavanlar
  • Etkin: ikisi de izin verirse

Neden iam:CreateUser işe yaramadı

  • Sadece çıkarır, asla vermez

Oturum politikası: tek bir AssumeRole oturumu

Kimlik politikasının verdiği üç izin, yalnızca S3 eylemlerine izin veren bir izin sınırından geçer; `iam:CreateUser` izni durdurulur, diğer ikisi aşağıdaki etkin izinlere devam eder.

Geliştiriciler için AWS Güvenliğini Kullanma

Bir koşul, izni daraltır

Koşul anahtarı

  • Bir izni isteğin bağlamına daraltır

  • aws:SourceIp: geldiği ağ

Bir S3 nesnesini okuma izni, kaynak ağ anahtarı ve arayan etiket anahtarını listeleyen bir koşul bandından geçer; bağlam eşleşirse izin verilen yola, eşleşmezse reddedilen yola ayrılır.

Geliştiriciler için AWS Güvenliğini Kullanma

Bir koşul, izni daraltır

Koşul anahtarı

  • Bir izni isteğin bağlamına daraltır

  • aws:SourceIp: geldiği ağ

  • aws:PrincipalTag: arayan üzerindeki etiket

ABAC: attribute-based access control

  • Tek politika, çok sayıda yetkili

Bir S3 nesnesini okuma izni, kaynak ağ anahtarı ve arayan etiket anahtarını listeleyen bir koşul bandından geçer; bağlam eşleşirse izin verilen yola, eşleşmezse reddedilen yola ayrılır.

Geliştiriciler için AWS Güvenliğini Kullanma

Tek tablo, aynı anda tek kiracı

Tek paylaşılan tablo

  • DynamoDB, kiracı başına bir bölüm anahtarı
  • Tek başına yalıtım değildir

Kiracı A çağıranı, önde gelen anahtarlar koşulundan geçerek paylaşılan bir DynamoDB tablosuna erişir; kiracı A satırları döner, kiracı B ve C satırları engellenir.

Geliştiriciler için AWS Güvenliğini Kullanma

Tek tablo, aynı anda tek kiracı

"Condition": {
  "ForAllValues:StringEquals": {
    "dynamodb:LeadingKeys": ["${aws:PrincipalTag/tenant}"]
  }
}

Tek paylaşılan tablo

  • DynamoDB, kiracı başına bir bölüm anahtarı
  • Tek başına yalıtım değildir

Tek bir koşul daraltır

  • ForAllValues: sağlanan her anahtar eşleşmeli
Geliştiriciler için AWS Güvenliğini Kullanma

Tek tablo, aynı anda tek kiracı

"Action": ["dynamodb:Query", "dynamodb:GetItem", "dynamodb:Scan"],
"Condition": {
  "ForAllValues:StringEquals": {
    "dynamodb:LeadingKeys": ["${aws:PrincipalTag/tenant}"]
  }
}

Tek paylaşılan tablo

  • DynamoDB, kiracı başına bir bölüm anahtarı
  • Tek başına yalıtım değildir

Tek bir koşul daraltır

  • ForAllValues: sağlanan her anahtar eşleşmeli
Bıraktığı boşluk: her istek bir bölümü adlandırmaz
  • dynamodb:Scan hiçbirini vermez, bu yüzden hiçbir şey başarısız olamaz
Geliştiriciler için AWS Güvenliğini Kullanma

Hadi pratik yapalım!

Geliştiriciler için AWS Güvenliğini Kullanma

Preparing Video For Download...