Ana içeriğe geç

dtcloud_my_ip (Veri Kaynağı)

API'nin, çağıranın hangi adresten geldiğini gördüğünü bildirir.

Amacı bir kuralı kendi adresinizle sınırlamaktır: beni içeri al, başka kimseyi alma. Bu, genel adresiniz olmak zorunda değildir. API'ye hangi ağ üzerinden ulaştıysanız o ağdaki adresinizdir; kurumsal bir VPN'in arkasındaysanız VPN adresidir. Bu çoğu zaman işe yarayan yanıttır, çünkü bir makinenin gördüğü adres de odur.

Örnek Kullanım​

data "dtcloud_my_ip" "here" {}

# Yönetimsel bir kuralı Terraform'u çalıştıran kişiyle sınırlayın.
# Bunu bir servisin bağımlı olduğu herhangi bir şey için kullanmadan önce
# veri kaynağı sayfasındaki notu okuyun.
resource "dtcloud_security_group_rule" "ssh_from_me" {
security_group_id = dtcloud_security_group.web.id
direction = "ingress"
protocol = "tcp"
port_range_min = 22
port_range_max = 22
remote_ip_prefix = data.dtcloud_my_ip.here.cidr
}

Şema​

Salt Okunur​

  • cidr (String) Aynı adresin tek bir ana bilgisayarı kapsayan CIDR hali (IPv4 için /32, IPv6 için /128); remote_ip_prefix bu biçimi alır.
  • id (String) Bu kaynağın kimliği.
  • ip (String) API'nin isteğin geldiğini gördüğü adres.

Bilinmesi Gerekenler​

warning

Bir kuralda kullanmadan önce bunu okuyun. Ağ değiştirdiğinizde değer değişir ve bir bağlantının adresi kendiliğinden de değişebilir. Güvenlik grubu kuralı değiştirilince yeniden oluşturulur; bu yüzden değişen bir adres, bir sonraki planın kuralı silip yenisini oluşturması demektir. Bu, yönetimsel bir izin kuralı için doğrudur, bir servisin bağımlı olduğu her şey için kötü bir fikirdir. Ayrıca erişimin kime açık olduğuna son apply'ı çalıştıran kişinin karar vermesi demektir ki bu CI'da nadiren doğrudur; orada açık bir CIDR kullanın.

  • IPv4 eşlemeli bir adres açılır. API'nin ::ffff:192.0.2.10 olarak bildirdiği bir adres /32 CIDR ile 192.0.2.10 olarak döner.