occurrencesResponse := grafeas.ListOccurrencesResponse{} imageUrl := "https://gcr.io/myproject/name@sha256hash" hasFixableVulnerability := false // Iterate through occurrences looking for vulnerability occurrences for this image for _, occurrence := range occurrencesResponse.Occurrences { resourceUrl := occurrence.ResourceUrl if imageUrl != resourceUrl && occurrence.Kind != grafeas.Note_PACKAGE_VULNERABILITY { continue } details := occurrence.GetVulnerabilityDetails() issues := details.GetPackageIssue() // This vulnerability is fixable, we should not insert an attestation for _, i := range issues { if i.FixedLocation != nil { hasFixableVulnerability = true } } } // If there are no fixable vulnerabilities, create an attestation occurrence if !hasFixableVulnerability { occ := &grafeas.Occurrence{ ResourceUrl: imageUrl, NoteName: "projects/vulnerabilty-certification/notes/vuln-free", Details: &grafeas.Occurrence_AttestationDetails{ AttestationDetails: &grafeas.AttestationAuthority_AttestationDetails{ Signature: &grafeas.AttestationAuthority_AttestationDetails_PgpSignedAttestation{ PgpSignedAttestation: &grafeas.PgpSignedAttestation{ Signature: "MySignature", ContentType: grafeas.PgpSignedAttestation_SIMPLE_SIGNING_JSON, KeyId: "ThisIsMyKeyId", }, }, }, }, } req := grafeas.CreateOccurrenceRequest{Occurrence: occ} }
「最大規模の攻撃を受け止めるには、50 万本の YouTube 動画を同時に、かつ HD 品質で視聴するのと同じ帯域幅が必要になります。」 — Damian Menscher 博士、Google の DDoS 防御担当
「私たちはいくつかの業界団体と密接に協力して新手の脅威を追跡しており、それによって私たち自身と他の人々を保護しています。さらに、頻繁に標的として狙われる krebsonsecurity.com のようなサイトをホストしています。新しい攻撃の手口をいち早く把握するためです。そうすることで、それらが蔓延する前に防御を設計し、ボットネットを解体できます。」 — Damian Menscher 博士、Google の DDoS 防御担当
「Cloud Armor は、Google がどのように包括的かつ多層的なセキュリティ防御戦略のイノベーションを起こし続け、ネットワーク エッジで管理できる機能豊富なセキュリティ制御レイヤを提供しているかを示す好例です。」 — Matt Hite 氏、Evernote のネットワーク エンジニア
# Create a Private Cluster with IP Alias auto-subnetwork) gcloud beta container clusters create --project=<project_id>> --zone= --private-cluster --master-ipv4-cidr= --enable-ip-alias --create-subnetwork=""</master_cidr_block></zone></project_id></cluster></code>
{ "bindings": [ { "role": "roles/owner", "members": [ "user:alice@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@appspot.gserviceaccount.com"] }, { "role": "roles/viewer", "members": ["user:bob@example.com"] } ] }