Translated ['src/pentesting-cloud/azure-security/az-services/az-containe

This commit is contained in:
Translator
2025-08-21 00:25:28 +00:00
parent d295944b82
commit 77384cbd3b
22 changed files with 605 additions and 2054 deletions

View File

@@ -15,21 +15,25 @@ Organization
```
'n Virtuele masjien (genoem 'n Compute Instance) is 'n hulpbron. 'n Hulpbron woon in 'n projek, waarskynlik langs ander Compute Instances, stoor emmers, ens.
<figure><img src="../../../images/image (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption><p><a href="https://cloud.google.com/static/resource-manager/img/cloud-hierarchy.svg">https://cloud.google.com/static/resource-manager/img/cloud-hierarchy.svg</a></p></figcaption></figure>
## **Projek Migrasie**
Dit is moontlik om 'n **projek sonder enige organisasie** na 'n organisasie met die toestemmings `roles/resourcemanager.projectCreator` en `roles/resourcemanager.projectMover` te **migreer**. As die projek binne 'n ander organisasie is, is dit nodig om GCP-ondersteuning te kontak om **eers hulle uit die organisasie te skuif**. Vir meer inligting, kyk na [**hierdie**](https://medium.com/google-cloud/migrating-a-project-from-one-organization-to-another-gcp-4b37a86dd9e6).
Dit is moontlik om 'n **projek sonder enige organisasie** na 'n organisasie met die toestemmings `roles/resourcemanager.projectCreator` en `roles/resourcemanager.projectMover` te **migreer**. As die projek binne 'n ander organisasie is, is dit nodig om GCP-ondersteuning te kontak om **eerstens uit die organisasie te beweeg**. Vir meer inligting, kyk na [**hierdie**](https://medium.com/google-cloud/migrating-a-project-from-one-organization-to-another-gcp-4b37a86dd9e6).
## **Organisasie Beleide**
Laat jou toe om beheer oor jou organisasie se wolkhulpbronne te sentraliseer:
Laat jou toe om sentrale beheer oor jou organisasie se wolkhulpbronne te :
- Sentraliseer beheer om **beperkings** te konfigureer oor hoe jou organisasie se hulpbronne gebruik kan word.
- Definieer en stel **bewakings** vir jou ontwikkelingspan in om binne nakomingsgrense te bly.
- Help projek eienaars en hul spanne om vinnig te beweeg sonder om bekommerd te wees oor die verbreking van nakoming.
- Sentrale beheer om **beperkings** te konfigureer oor hoe jou organisasie se hulpbronne gebruik kan word.
- Definieer en stel **grenslyne** vas vir jou ontwikkelingspan om binne nakomingsgrense te bly.
- Help projek eienaars en hul spanne om vinnig te beweeg sonder om bekommerd te wees oor die oortreding van nakomings.
Hierdie beleide kan geskep word om die **hele organisasie, vouer(s) of projek(te)** te **affekteer**. Afstammelinge van die geteikende hulpbron hiërargie knoop **erf die organisasie beleid**.
Hierdie beleide kan geskep word om **die hele organisasie, vouer(s) of projek(te)** te **affekteer**. Afstammelinge van die geteikende hulpbron hiërargie node **erf die organisasie beleid**.
Om 'n **organisasie beleid** te **definieer**, **kies jy 'n** [**beperking**](https://cloud.google.com/resource-manager/docs/organization-policy/overview#constraints), wat 'n spesifieke tipe beperking teen 'n Google Cloud diens of 'n groep Google Cloud dienste is. Jy **konfigureer daardie beperking met jou gewenste beperkings**.
Om 'n **organisasie beleid** te **definieer**, **kies jy 'n** [**beperking**](https://cloud.google.com/resource-manager/docs/organization-policy/overview#constraints), wat 'n spesifieke tipe beperking teenoor 'n Google Cloud diens of 'n groep Google Cloud dienste is. Jy **konfigureer daardie beperking met jou gewenste beperkings**.
<figure><img src="../../../images/image (217).png" alt=""><figcaption><p><a href="https://cloud.google.com/resource-manager/img/org-policy-concepts.svg">https://cloud.google.com/resource-manager/img/org-policy-concepts.svg</a></p></figcaption></figure>
#### Algemene gebruiksgevalle <a href="#common_use_cases" id="common_use_cases"></a>
@@ -38,6 +42,8 @@ Om 'n **organisasie beleid** te **definieer**, **kies jy 'n** [**beperking**](ht
- Beperk die fisiese ligging van nuut geskepte hulpbronne.
- Deaktiveer diensrekening skepping.
<figure><img src="../../../images/image (172).png" alt=""><figcaption></figcaption></figure>
Daar is baie meer beperkings wat jou fyn beheer oor jou organisasie se hulpbronne gee. Vir **meer inligting, sien die** [**lys van alle Organisasie Beleid Diens beperkings**](https://cloud.google.com/resource-manager/docs/organization-policy/org-policy-constraints)**.**
### **Standaard Organisasie Beleide**
@@ -48,39 +54,39 @@ Daar is baie meer beperkings wat jou fyn beheer oor jou organisasie se hulpbronn
**Toegang Bestuur Beleide**
- **Domein beperkte kontakte:** Verhoed die toevoeging van gebruikers aan Essensiële Kontakte buite jou gespesifiseerde domeine. Dit beperk Essensiële Kontakte om slegs bestuurde gebruikersidentiteite in jou geselekteerde domeine toe te laat om platform kennisgewings te ontvang.
- **Domein beperkte deel:** Verhoed die toevoeging van gebruikers aan IAM beleide buite jou gespesifiseerde domeine. Dit beperk IAM beleide om slegs bestuurde gebruikersidentiteite in jou geselekteerde domeine toe te laat om toegang tot hulpbronne binne hierdie organisasie te verkry.
- **Publieke toegang voorkoming:** Verhoed dat Cloud Storage emmers aan die publiek blootgestel word. Dit verseker dat 'n ontwikkelaar nie Cloud Storage emmers kan konfigureer om nie-geverifieerde internet toegang te hê nie.
- **Uniform emmer vlak toegang:** Verhoed objek-vlak toegang beheer lyste (ACLs) in Cloud Storage emmers. Dit vereenvoudig jou toegang bestuur deur IAM beleide konsekwent oor alle objek in Cloud Storage emmers toe te pas.
- **Domein beperkte kontakte:** Voorkom die toevoeging van gebruikers aan Essensiële Kontakte buite jou gespesifiseerde domeine. Dit beperk Essensiële Kontakte om slegs bestuurde gebruikersidentiteite in jou geselekteerde domeine toe te laat om platform kennisgewings te ontvang.
- **Domein beperkte deling:** Voorkom die toevoeging van gebruikers aan IAM beleide buite jou gespesifiseerde domeine. Dit beperk IAM beleide om slegs bestuurde gebruikersidentiteite in jou geselekteerde domeine toe te laat om hulpbronne binne hierdie organisasie te benader.
- **Publieke toegang voorkoming:** Voorkom dat Cloud Storage emmers aan die publiek blootgestel word. Dit verseker dat 'n ontwikkelaar nie Cloud Storage emmers kan konfigureer om nie-geverifieerde internet toegang te hê nie.
- **Uniform emmer vlak toegang:** Voorkom objek-vlak toegang beheer lyste (ACLs) in Cloud Storage emmers. Dit vereenvoudig jou toegang bestuur deur IAM beleide konsekwent oor alle objek in Cloud Storage emmers toe te pas.
- **Vereis OS aanmelding:** VM's wat in nuwe projekte geskep word, sal OS Aanmelding geaktiveer hê. Dit laat jou toe om SSH toegang tot jou instansies te bestuur met behulp van IAM sonder om individuele SSH sleutels te moet skep en bestuur.
**Addisionele sekuriteitsbeleide vir diensrekeninge**
- **Deaktiveer outomatiese IAM toekennings**: Verhoed dat die standaard App Engine en Compute Engine diensrekeninge outomaties die Editor IAM rol op 'n projek by skepping toegeken word. Dit verseker dat diensrekeninge nie oormatig permissiewe IAM rolle ontvang nie.
- **Deaktiveer diensrekening sleutel skepping**: Verhoed die skepping van publieke diensrekening sleutels. Dit help om die risiko van blootstelling van volgehoue akkrediteer te verminder.
- **Deaktiveer diensrekening sleutel opgelaai**: Verhoed die opgelaai van publieke diensrekening sleutels. Dit help om die risiko van gelekte of hergebruikte sleutel materiaal te verminder.
- **Deaktiveer outomatiese IAM toekennings**: Voorkom dat die standaard App Engine en Compute Engine diensrekeninge outomaties die Redigeerder IAM rol op 'n projek by skepping toegeken word. Dit verseker dat diensrekeninge nie oormatig permissiewe IAM rolle ontvang nie.
- **Deaktiveer diensrekening sleutel skepping**: Voorkom die skepping van publieke diensrekening sleutels. Dit help om die risiko van blootstelling van volgehoue akrediteer te verminder.
- **Deaktiveer diensrekening sleutel opgelaai**: Voorkom die opgelaai van publieke diensrekening sleutels. Dit help om die risiko van gelekte of hergebruikte sleutel materiaal te verminder.
**Veilige VPC netwerk konfigurasie beleide**
- **Definieer toegelate eksterne IP's vir VM instansies**: Verhoed die skepping van Compute instansies met 'n publieke IP, wat hulle aan internetverkeer kan blootstel.
- **Definieer toegelate eksterne IP's vir VM instansies**: Voorkom die skepping van Compute instansies met 'n publieke IP, wat hulle aan internetverkeer kan blootstel.
* **Deaktiveer VM geneste virtualisering**: Verhoed die skepping van geneste VM's op Compute Engine VM's. Dit verminder die sekuriteitsrisiko van onopgemerk geneste VM's.
* **Deaktiveer VM geneste virtualisering**: Voorkom die skepping van geneste VM's op Compute Engine VM's. Dit verminder die sekuriteitsrisiko van onopgemerkte geneste VM's.
- **Deaktiveer VM seriële poort:** Verhoed seriële poort toegang tot Compute Engine VM's. Dit verhoed invoer na 'n bediener se seriële poort met behulp van die Compute Engine API.
- **Deaktiveer VM seriële poort:** Voorkom seriële poort toegang tot Compute Engine VM's. Dit voorkom invoer na 'n bediener se seriële poort met behulp van die Compute Engine API.
* **Beperk gemagtigde netwerke op Cloud SQL instansies:** Verhoed dat publieke of nie-interne netwerkreekse toegang tot jou Cloud SQL databasisse verkry.
* **Beperk geautoriseerde netwerke op Cloud SQL instansies:** Voorkom dat publieke of nie-interne netwerkreekse toegang tot jou Cloud SQL databasisse verkry.
- **Beperk Protokol Oorgang gebaseer op tipe IP Adres:** Verhoed VM protokol oorgang vir eksterne IP adresse.
- **Beperk Protokol Oorgang gebaseer op tipe IP Adres:** Voorkom VM protokol oorgang vir eksterne IP adresse.
* **Beperk Publieke IP toegang op Cloud SQL instansies:** Verhoed die skepping van Cloud SQL instansies met 'n publieke IP, wat hulle aan internetverkeer kan blootstel.
* **Beperk Publieke IP toegang op Cloud SQL instansies:** Voorkom die skepping van Cloud SQL instansies met 'n publieke IP, wat hulle aan internetverkeer kan blootstel.
- **Beperk gedeelde VPC projek lien verwydering:** Verhoed die toevallige verwydering van Gedeelde VPC gasheer projekte.
- **Beperk gedeelde VPC projek lien verwydering:** Voorkom die toevallige verwydering van Gedeelde VPC gasheer projekte.
* **Stel die interne DNS instelling vir nuwe projekte op Zonal DNS Slegs:** Verhoed die gebruik van 'n erflike DNS instelling wat diens beskikbaarheid verminder het.
* **Stel die interne DNS instelling vir nuwe projekte op Zonal DNS Slegs:** Voorkom die gebruik van 'n erflike DNS instelling wat diens beskikbaarheid verminder het.
- **Slaan standaard netwerk skepping oor:** Verhoed outomatiese skepping van die standaard VPC netwerk en verwante hulpbronne. Dit vermy oormatig permissiewe standaard vuurmuur reëls.
- **Slaan standaard netwerk skepping oor:** Voorkom outomatiese skepping van die standaard VPC netwerk en verwante hulpbronne. Dit vermy oormatig permissiewe standaard vuurmuur reëls.
* **Deaktiveer VPC Eksterne IPv6 gebruik:** Verhoed die skepping van eksterne IPv6 subnetwerke, wat aan nie-gemagtigde internet toegang blootgestel kan word.
* **Deaktiveer VPC Eksterne IPv6 gebruik:** Voorkom die skepping van eksterne IPv6 subnetwerke, wat aan nie-geautoriseerde internet toegang blootgestel kan word.
</details>
@@ -88,8 +94,8 @@ Daar is baie meer beperkings wat jou fyn beheer oor jou organisasie se hulpbronn
Hierdie is soos IAM beleide in AWS aangesien **elke rol 'n stel toestemmings bevat.**
Echter, anders as in AWS, is daar **geen sentrale repo** van rolle nie. In plaas daarvan, **gee hulpbronne X toegang rolle aan Y principals**, en die enigste manier om uit te vind wie toegang tot 'n hulpbron het, is om die **`get-iam-policy` metode oor daardie hulpbron** te gebruik.\
Dit kan 'n probleem wees omdat dit beteken dat die enigste manier om uit te vind **watter toestemmings 'n principal het, is om elke hulpbron te vra aan wie dit toestemmings gee**, en 'n gebruiker mag nie toestemming hê om toestemming van alle hulpbronne te verkry nie.
Echter, anders as in AWS, is daar **geen gesentraliseerde repo** van rolle nie. In plaas daarvan, **gee hulpbronne X toegang rolle aan Y prinsipes**, en die enigste manier om uit te vind wie toegang tot 'n hulpbron het, is om die **`get-iam-policy` metode oor daardie hulpbron** te gebruik.\
Dit kan 'n probleem wees omdat dit beteken dat die enigste manier om uit te vind **watter toestemmings 'n prinsipe het, is om elke hulpbron te vra wie dit toestemming gee**, en 'n gebruiker mag nie toestemming hê om toestemming van alle hulpbronne te kry nie.
Daar is **drie tipes** rolle in IAM:
@@ -104,36 +110,23 @@ Boonop, let daarop dat **toestemmings** slegs **in werking sal tree** as hulle *
Of kyk of 'n **pasgemaakte rol 'n** [**spesifieke toestemming hier kan gebruik**](https://cloud.google.com/iam/docs/custom-roles-permissions-support)**.**
{{#ref}}
../gcp-services/gcp-iam-and-org-policies-enum.md
{{#endref}}
## Gebruikers <a href="#default-credentials" id="default-credentials"></a>
In **GCP-konsol** is daar **geen gebruikers of groepe** bestuur nie, dit word in **Google Workspace** gedoen. Alhoewel jy 'n ander identiteit verskaffer in Google Workspace kan sinkroniseer.
In **GCP-konsol** is daar **geen Gebruikers of Groepe** bestuur nie, dit word in **Google Workspace** gedoen. Alhoewel jy 'n ander identiteitsverskaffer in Google Workspace kan sinkroniseer.
Jy kan toegang tot Workspaces **gebruikers en groepe in** [**https://admin.google.com**](https://admin.google.com/).
Jy kan Workspaces **gebruikers en groepe in** [**https://admin.google.com**](https://admin.google.com/) benader.
**MFA** kan **gedwonge** word vir Workspaces gebruikers, egter, 'n **aanvaller** kan 'n token gebruik om toegang tot GCP **via cli te verkry wat nie deur MFA beskerm sal word nie** (dit sal slegs deur MFA beskerm word wanneer die gebruiker aanmeld om dit te genereer: `gcloud auth login`).
**MFA** kan **gedwonge** word vir Workspaces gebruikers, egter, 'n **aanvaller** kan 'n token gebruik om GCP **via cli te benader wat nie deur MFA beskerm sal word nie** (dit sal slegs deur MFA beskerm word wanneer die gebruiker aanmeld om dit te genereer: `gcloud auth login`).
## Groepe
Wanneer 'n organisasie geskep word, word verskeie groepe **sterk aanbeveel om geskep te word.** As jy enige van hulle bestuur, mag jy al of 'n belangrike deel van die organisasie gecompromitteer het:
Wanneer 'n organisasie geskep word, word verskeie groepe **sterk aanbeveel om geskep te word.** As jy enige van hulle bestuur, mag jy al die of 'n belangrike deel van die organisasie gecompromitteer het:
| **Groep** | **Funksie** |
|-----------|-------------|
| **gcp-organization-admins**<br><em>(groep of individuele rekeninge benodig vir kontrolelys)</em> | Administreer enige hulpbron wat aan die organisasie behoort. Ken hierdie rol spaarzaam toe; org admins het toegang tot al jou Google Cloud hulpbronne. Alternatiewelik, omdat hierdie funksie hoogs bevoeg is, oorweeg om individuele rekeninge te gebruik in plaas van om 'n groep te skep. |
| **gcp-network-admins**<br><em>(benodig vir kontrolelys)</em> | Skep netwerke, subnetwerke, vuurmuur reëls, en netwerk toestelle soos Cloud Router, Cloud VPN, en wolk laaibalansers. |
| **gcp-billing-admins**<br><em>(benodig vir kontrolelys)</em> | Stel faktuur rekeninge op en monitor hul gebruik. |
| **gcp-developers**<br><em>(benodig vir kontrolelys)</em> | Ontwerp, kodeer, en toets toepassings. |
| **gcp-security-admins** | Stel en bestuur sekuriteitsbeleide vir die hele organisasie, insluitend toegang bestuur en <a href="https://cloud.google.com/resource-manager/docs/organization-policy/org-policy-constraints">organisasie beperking beleide</a>. Sien die <a href="https://cloud.google.com/architecture/security-foundations/authentication-authorization#users_and_groups">Google Cloud sekuriteitsfondasies gids</a> vir meer inligting oor die beplanning van jou Google Cloud sekuriteitsinfrastruktuur. |
| **gcp-devops** | Skep of bestuur end-to-end pype wat deurlopende integrasie en aflewering, monitering, en stelsels voorsiening ondersteun. |
| **gcp-logging-admins** | |
| **gcp-logging-viewers** | |
| **gcp-monitor-admins** | |
| **gcp-billing-viewer**<br><em>(nie meer standaard nie)</em> | Monitor die besteding op projekte. Tipiese lede is deel van die finansiële span. |
| **gcp-platform-viewer**<br><em>(nie meer standaard nie)</em> | Hersien hulpbron inligting oor die Google Cloud organisasie. |
| **gcp-security-reviewer**<br><em>(nie meer standaard nie)</em> | Hersien wolk sekuriteit. |
| **gcp-network-viewer**<br><em>(nie meer standaard nie)</em> | Hersien netwerk konfigurasies. |
| **grp-gcp-audit-viewer**<br><em>(nie meer standaard nie)</em> | Beskou oudit logs. |
| **gcp-scc-admin**<br><em>(nie meer standaard nie)</em> | Administreer Security Command Center. |
| **gcp-secrets-admin**<br><em>(nie meer standaard nie)</em> | Bestuur geheime in Secret Manager. |
<table data-header-hidden><thead><tr><th width="299.3076923076923"></th><th></th></tr></thead><tbody><tr><td><strong>Groep</strong></td><td><strong>Funksie</strong></td></tr><tr><td><strong><code>gcp-organization-admins</code></strong><br><em>(groep of individuele rekeninge benodig vir kontrolelys)</em></td><td>Bestuur enige hulpbron wat aan die organisasie behoort. Ken hierdie rol spaarzaam toe; org admins het toegang tot al jou Google Cloud hulpbronne. Alternatiewelik, omdat hierdie funksie hoogs bevoeg is, oorweeg om individuele rekeninge te gebruik eerder as om 'n groep te skep.</td></tr><tr><td><strong><code>gcp-network-admins</code></strong><br><em>(benodig vir kontrolelys)</em></td><td>Skep netwerke, subnetwerke, vuurmuur reëls, en netwerk toestelle soos Cloud Router, Cloud VPN, en wolk laaibalansers.</td></tr><tr><td><strong><code>gcp-billing-admins</code></strong><br><em>(benodig vir kontrolelys)</em></td><td>Stel faktuur rekeninge op en monitor hul gebruik.</td></tr><tr><td><strong><code>gcp-developers</code></strong><br><em>(benodig vir kontrolelys)</em></td><td>Ontwerp, kodeer, en toets toepassings.</td></tr><tr><td><strong><code>gcp-security-admins</code></strong><br></td><td>Stel en bestuur sekuriteitsbeleide vir die hele organisasie, insluitend toegang bestuur en <a href="https://cloud.google.com/resource-manager/docs/organization-policy/org-policy-constraints">organisasie beperking beleide</a>. Sien die <a href="https://cloud.google.com/architecture/security-foundations/authentication-authorization#users_and_groups">Google Cloud sekuriteitsfondasies gids</a> vir meer inligting oor die beplanning van jou Google Cloud sekuriteitsinfrastruktuur.</td></tr><tr><td><strong><code>gcp-devops</code></strong></td><td>Skep of bestuur end-to-end pyplyne wat deurlopende integrasie en aflewering, monitering, en stelsels voorsiening ondersteun.</td></tr><tr><td><strong><code>gcp-logging-admins</code></strong><td></td></tr><tr><td><strong><code>gcp-logging-viewers</code></strong><td></td></tr><tr><td><strong><code>gcp-monitor-admins</code></strong><td></td></tr><tr><td><strong><code>gcp-billing-viewer</code></strong><br><em>(nie meer standaard nie)</em></td><td>Monitor die besteding op projekte. Tipiese lede is deel van die finansiële span.</td></tr><tr><td><strong><code>gcp-platform-viewer</code></strong><br><em>(nie meer standaard nie)</em></td><td>Herbekend hulpbron inligting oor die Google Cloud organisasie.</td></tr><tr><td><strong><code>gcp-security-reviewer</code></strong><br><em>(nie meer standaard nie)</em></td><td>Herbekend wolk sekuriteit.</td></tr><tr><td><strong><code>gcp-network-viewer</code></strong><br><em>(nie meer standaard nie)</em></td><td>Herbekend netwerk konfigurasies.</td></tr><tr><td><strong><code>grp-gcp-audit-viewer</code></strong><br><em>(nie meer standaard nie)</em></td><td>Bekyk oudit logs.</td></tr><tr><td><strong><code>gcp-scc-admin</code></strong><br><em>(nie meer standaard nie)</em></td><td>Bestuur Sekuriteitsopdrag Sentrum.</td></tr><tr><td><strong><code>gcp-secrets-admin</code></strong><br><em>(nie meer standaard nie)</em></td><td>Bestuur geheime in Secret Manager.</td></tr></tbody></table>
## **Standaard Wagwoord Beleid**
@@ -141,16 +134,20 @@ Wanneer 'n organisasie geskep word, word verskeie groepe **sterk aanbeveel om ge
- Tussen 8 en 100 karakters
- Geen hergebruik
- Geen vervaldatum
- As mense toegang tot Workspace deur 'n derdeparty verskaffer verkry, word hierdie vereistes nie toegepas nie.
- As mense toegang tot Workspace deur 'n derdeparty verskaffer, word hierdie vereistes nie toegepas nie.
<figure><img src="../../../images/image (20).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../../images/image (22).png" alt=""><figcaption></figcaption></figure>
## **Diensrekeninge**
Dit is die principals wat **hulpbronne** kan **he** **geheg** en toegang het om maklik met GCP te kommunikeer. Byvoorbeeld, dit is moontlik om toegang te verkry tot die **auth token** van 'n Diensrekening **geheg aan 'n VM** in die metadata.\
Dit is moontlik om 'n paar **konflikte** te ondervind wanneer beide **IAM en toegang skope** gebruik word. Byvoorbeeld, jou diensrekening mag die IAM rol van `compute.instanceAdmin` hê, maar die instansie wat jy gecompromitteer het, is beperk met die skopbeperking van `https://www.googleapis.com/auth/compute.readonly`. Dit sal jou verhinder om enige veranderinge te maak met die OAuth token wat outomaties aan jou instansie toegeken word.
Dit is die prinsipes wat **hulpbronne** kan **he** **geheg** en toegang het om maklik met GCP te interaksie. Byvoorbeeld, dit is moontlik om die **auth token** van 'n Diensrekening **geheg aan 'n VM** in die metadata te benader.\
Dit is moontlik om 'n paar **konflikte** te ondervind wanneer jy beide **IAM en toegang skope** gebruik. Byvoorbeeld, jou diensrekening mag die IAM rol van `compute.instanceAdmin` hê, maar die instansie wat jy gecompromitteer het, is beperk met die skopbeperking van `https://www.googleapis.com/auth/compute.readonly`. Dit sal jou verhinder om enige veranderinge te maak met die OAuth token wat outomaties aan jou instansie toegeken word.
Dit is soortgelyk aan **IAM rolle van AWS**. Maar nie soos in AWS nie, kan **enige** diensrekening aan **enige diens** geheg word (dit hoef nie via 'n beleid toegelaat te word nie).
Verskeie van die diensrekeninge wat jy sal vind, word eintlik **outomaties deur GCP gegenereer** wanneer jy 'n diens begin gebruik, soos:
Verskeie van die diensrekeninge wat jy sal vind, is eintlik **outomaties gegenereer deur GCP** wanneer jy 'n diens begin gebruik, soos:
```
PROJECT_NUMBER-compute@developer.gserviceaccount.com
PROJECT_ID@appspot.gserviceaccount.com
@@ -161,20 +158,20 @@ SERVICE_ACCOUNT_NAME@PROJECT_NAME.iam.gserviceaccount.com
```
### **Sleutels & Tokens**
Daar is 2 hoof maniere om toegang tot GCP te verkry as 'n diensrekening:
Daar is 2 hoof maniere om GCP as 'n diensrekening te benader:
- **Deur OAuth tokens**: Dit is tokens wat jy sal ontvang van plekke soos metadata eindpunte of deur http versoeke te steel en hulle is beperk deur die **toegangskoppe**.
- **Sleutels**: Dit is publieke en private sleutelpare wat jou sal toelaat om versoeke as die diensrekening te teken en selfs OAuth tokens te genereer om aksies as die diensrekening uit te voer. Hierdie sleutels is gevaarlik omdat dit moeiliker is om te beperk en te beheer, daarom beveel GCP aan om hulle nie te genereer nie.
- **Via OAuth tokens**: Dit is tokens wat jy sal ontvang van plekke soos metadata eindpunte of deur http versoeke te steel en hulle is beperk deur die **toegang skope**.
- **Sleutels**: Dit is publieke en private sleutelpare wat jou sal toelaat om versoeke as die diensrekening te teken en selfs OAuth tokens te genereer om aksies as die diensrekening uit te voer. Hierdie sleutels is gevaarlik omdat dit meer ingewikkeld is om te beperk en te beheer, daarom beveel GCP aan om hulle nie te genereer nie.
- Let daarop dat elke keer as 'n SA geskep word, **GCP 'n sleutel vir die diensrekening genereer** wat die gebruiker nie kan toegang nie (en nie in die webtoepassing gelys sal word nie). Volgens [**hierdie draad**](https://www.reddit.com/r/googlecloud/comments/f0ospy/service_account_keys_observations/) word hierdie sleutel **intern deur GCP gebruik** om metadata eindpunte toegang te gee om die toeganklike OAuth tokens te genereer.
### **Toegangskoppe**
### **Toegang skope**
Toegangskoppe is **aangewend op gegenereerde OAuth tokens** om toegang tot die GCP API eindpunte te verkry. Hulle **beperk die toestemmings** van die OAuth token.\
Dit beteken dat as 'n token aan 'n Eienaar van 'n hulpbron behoort, maar nie die in die token se omvang het om daardie hulpbron te benader nie, die token **nie gebruik kan word om (mis)bruik te maak van daardie voorregte** nie.
Toegang skope is **aangewend op gegenereerde OAuth tokens** om toegang tot die GCP API eindpunte te verkry. Hulle **beperk die toestemmings** van die OAuth token.\
Dit beteken dat as 'n token aan 'n Eienaar van 'n hulpbron behoort, maar nie die in die token skoop het om daardie hulpbron te benader nie, die token **nie gebruik kan word om (mis)bruik van daardie voorregte te maak nie**.
Google beveel eintlik [aan](https://cloud.google.com/compute/docs/access/service-accounts#service_account_permissions) dat **toegangskoppe nie gebruik word nie en heeltemal op IAM staatgemaak word**. Die webbestuursportaal handhaaf dit eintlik, maar toegangskoppe kan steeds programmaties op instansies toegepas word met behulp van persoonlike diensrekeninge.
Google beveel eintlik [aan](https://cloud.google.com/compute/docs/access/service-accounts#service_account_permissions) dat **toegang skope nie gebruik word nie en heeltemal op IAM staatgemaak word**. Die webbestuursportaal handhaaf dit eintlik, maar toegang skope kan steeds op instansies toegepas word deur middel van pasgemaakte diensrekeninge programmaties.
Jy kan sien watter **koppe** **toegeken** is deur **te vra:**
Jy kan sien watter **skope** **toegeken** is deur **te vra:**
```bash
curl 'https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=<access_token>'
@@ -189,13 +186,13 @@ curl 'https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=<access_token>
"access_type": "offline"
}
```
Die vorige **scopes** is diegene wat **default** gegenereer is met **`gcloud`** om toegang tot data te verkry. Dit is omdat wanneer jy **`gcloud`** gebruik, jy eers 'n OAuth-token skep, en dit dan gebruik om die eindpunte te kontak.
Die vorige **scopes** is diegene wat **per ongeluk** gegenereer is met **`gcloud`** om toegang tot data te verkry. Dit is omdat wanneer jy **`gcloud`** gebruik, jy eers 'n OAuth-token skep, en dit dan gebruik om die eindpunte te kontak.
Die belangrikste scope van daardie is waarskynlik **`cloud-platform`**, wat basies beteken dat dit moontlik is om **enige diens in GCP** te **toegang**.
Die belangrikste scope van hulle is waarskynlik **`cloud-platform`**, wat basies beteken dat dit moontlik is om **toegang tot enige diens in GCP** te verkry.
Jy kan **'n lys van** [**alle moontlike scopes hier vind**](https://developers.google.com/identity/protocols/googlescopes)**.**
As jy **`gcloud`** blaaierskredensies het, is dit moontlik om **'n token met ander scopes te verkry,** deur iets soos:
As jy **`gcloud`** blaaierskredensies het, is dit moontlik om **'n token met ander scopes te verkry,** deur iets soos te doen:
```bash
# Maybe you can get a user token with other scopes changing the scopes array from ~/.config/gcloud/credentials.db
@@ -209,7 +206,7 @@ gcloud auth application-default print-access-token
```
## **Terraform IAM Beleide, Bindings en Lidmaatskappe**
Soos gedefinieer deur terraform in [https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/google_project_iam](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/google_project_iam) met terraform en GCP is daar verskillende maniere om 'n prinsiep toegang tot 'n hulpbron te gee:
Soos gedefinieer deur terraform in [https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/google_project_iam](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/google_project_iam) gebruik maak van terraform met GCP, is daar verskillende maniere om 'n prinsiep toegang tot 'n hulpbron te gee:
- **Lidmaatskappe**: Jy stel **prinsipes as lede van rolle** **sonder beperkings** oor die rol of die prinsipes. Jy kan 'n gebruiker as 'n lid van 'n rol stel en dan 'n groep as 'n lid van dieselfde rol stel en ook daardie prinsipes (gebruiker en groep) as lede van ander rolle stel.
- **Bindings**: Verskeie **prinsipes kan aan 'n rol gebind word**. Daardie **prinsipes kan steeds aan ander rolle gebind of lede daarvan wees**. As 'n prinsiep wat nie aan die rol gebind is nie, as **lid van 'n gebinde rol** gestel word, sal die volgende keer wanneer die **binding toegepas word, die lidmaatskap verdwyn**.