mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-01-11 20:45:21 -08:00
Translated ['.github/pull_request_template.md', 'src/README.md', 'src/pe
This commit is contained in:
@@ -17,11 +17,11 @@ Une machine virtuelle (appelée une instance de calcul) est une ressource. Une r
|
||||
|
||||
<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>
|
||||
|
||||
## **Migration de projets**
|
||||
## **Migration de Projets**
|
||||
|
||||
Il est possible de **migrer un projet sans organisation** vers une organisation avec les autorisations `roles/resourcemanager.projectCreator` et `roles/resourcemanager.projectMover`. Si le projet se trouve dans une autre organisation, il est nécessaire de contacter le support GCP pour **les déplacer hors de l'organisation d'abord**. Pour plus d'informations, consultez [**ceci**](https://medium.com/google-cloud/migrating-a-project-from-one-organization-to-another-gcp-4b37a86dd9e6).
|
||||
Il est possible de **migrer un projet sans organisation** vers une organisation avec les permissions `roles/resourcemanager.projectCreator` et `roles/resourcemanager.projectMover`. Si le projet se trouve dans une autre organisation, il est nécessaire de contacter le support GCP pour **les déplacer hors de l'organisation d'abord**. Pour plus d'infos, consultez [**ceci**](https://medium.com/google-cloud/migrating-a-project-from-one-organization-to-another-gcp-4b37a86dd9e6).
|
||||
|
||||
## **Politiques d'organisation**
|
||||
## **Politiques d'Organisation**
|
||||
|
||||
Permettent de centraliser le contrôle sur les ressources cloud de votre organisation :
|
||||
|
||||
@@ -44,17 +44,17 @@ Pour **définir** une politique d'organisation, **vous choisissez un** [**contra
|
||||
|
||||
<figure><img src="../../../images/image (172).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Il existe de nombreuses autres contraintes qui vous donnent un contrôle granulaire sur les ressources de votre organisation. Pour **plus d'informations, consultez la** [**liste de toutes les contraintes du service de politique d'organisation**](https://cloud.google.com/resource-manager/docs/organization-policy/org-policy-constraints)**.**
|
||||
Il existe de nombreuses autres contraintes qui vous donnent un contrôle granulaire sur les ressources de votre organisation. Pour **plus d'informations, consultez la** [**liste de toutes les contraintes du Service de Politique d'Organisation**](https://cloud.google.com/resource-manager/docs/organization-policy/org-policy-constraints)**.**
|
||||
|
||||
### **Politiques d'organisation par défaut**
|
||||
### **Politiques d'Organisation par Défaut**
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Voici les politiques que Google ajoutera par défaut lors de la configuration de votre organisation GCP :</summary>
|
||||
|
||||
**Politiques de gestion des accès**
|
||||
**Politiques de Gestion des Accès**
|
||||
|
||||
- **Contacts restreints par domaine :** Empêche l'ajout d'utilisateurs aux contacts essentiels en dehors de vos domaines spécifiés. Cela limite les contacts essentiels à n'autoriser que les identités d'utilisateur gérées dans vos domaines sélectionnés à recevoir des notifications de la plateforme.
|
||||
- **Contacts restreints par domaine :** Empêche l'ajout d'utilisateurs aux Contacts Essentiels en dehors de vos domaines spécifiés. Cela limite les Contacts Essentiels à n'autoriser que les identités d'utilisateur gérées dans vos domaines sélectionnés à recevoir des notifications de la plateforme.
|
||||
- **Partage restreint par domaine :** Empêche l'ajout d'utilisateurs aux politiques IAM en dehors de vos domaines spécifiés. Cela limite les politiques IAM à n'autoriser que les identités d'utilisateur gérées dans vos domaines sélectionnés à accéder aux ressources de cette organisation.
|
||||
- **Prévention de l'accès public :** Empêche les buckets Cloud Storage d'être exposés au public. Cela garantit qu'un développeur ne peut pas configurer les buckets Cloud Storage pour avoir un accès Internet non authentifié.
|
||||
- **Accès uniforme au niveau du bucket :** Empêche les listes de contrôle d'accès (ACL) au niveau des objets dans les buckets Cloud Storage. Cela simplifie votre gestion des accès en appliquant les politiques IAM de manière cohérente à tous les objets dans les buckets Cloud Storage.
|
||||
@@ -62,8 +62,8 @@ Il existe de nombreuses autres contraintes qui vous donnent un contrôle granula
|
||||
|
||||
**Politiques de sécurité supplémentaires pour les comptes de service**
|
||||
|
||||
- **Désactiver les attributions IAM automatiques :** Empêche les comptes de service par défaut App Engine et Compute Engine d'obtenir automatiquement le rôle IAM d'éditeur lors de la création d'un projet. Cela garantit que les comptes de service ne reçoivent pas de rôles IAM trop permissifs lors de leur création.
|
||||
- **Désactiver la création de clés de compte de service :** Empêche la création de clés de compte de service publiques. Cela aide à réduire le risque d'exposition de données d'identification persistantes.
|
||||
- **Désactiver les attributions IAM automatiques :** Empêche les comptes de service par défaut App Engine et Compute Engine d'être automatiquement attribués au rôle IAM Éditeur lors de la création d'un projet. Cela garantit que les comptes de service ne reçoivent pas de rôles IAM trop permissifs lors de leur création.
|
||||
- **Désactiver la création de clés de compte de service :** Empêche la création de clés de compte de service publiques. Cela aide à réduire le risque d'exposition de credentials persistants.
|
||||
- **Désactiver le téléchargement de clés de compte de service :** Empêche le téléchargement de clés de compte de service publiques. Cela aide à réduire le risque de fuite ou de réutilisation de matériel de clé.
|
||||
|
||||
**Politiques de configuration sécurisée du réseau VPC**
|
||||
@@ -80,9 +80,9 @@ Il existe de nombreuses autres contraintes qui vous donnent un contrôle granula
|
||||
|
||||
* **Restreindre l'accès IP public sur les instances Cloud SQL :** Empêche la création d'instances Cloud SQL avec une IP publique, ce qui peut les exposer au trafic Internet.
|
||||
|
||||
- **Restreindre la suppression de la charge de projet VPC partagé :** Empêche la suppression accidentelle des projets hôtes VPC partagés.
|
||||
- **Restreindre la suppression de la ligne de projet VPC partagé :** Empêche la suppression accidentelle des projets hôtes VPC partagés.
|
||||
|
||||
* **Définit le paramètre DNS interne pour les nouveaux projets sur DNS zonal uniquement :** Empêche l'utilisation d'un paramètre DNS hérité qui a réduit la disponibilité du service.
|
||||
* **Définir le paramètre DNS interne pour les nouveaux projets sur DNS Zonal uniquement :** Empêche l'utilisation d'un paramètre DNS hérité qui a réduit la disponibilité du service.
|
||||
|
||||
- **Ignorer la création de réseau par défaut :** Empêche la création automatique du réseau VPC par défaut et des ressources associées. Cela évite des règles de pare-feu par défaut trop permissives.
|
||||
|
||||
@@ -92,23 +92,23 @@ Il existe de nombreuses autres contraintes qui vous donnent un contrôle granula
|
||||
|
||||
## **Rôles IAM**
|
||||
|
||||
Ce sont comme des politiques IAM dans AWS car **chaque rôle contient un ensemble d'autorisations.**
|
||||
Ce sont comme des politiques IAM dans AWS car **chaque rôle contient un ensemble de permissions.**
|
||||
|
||||
Cependant, contrairement à AWS, il n'y a **pas de dépôt centralisé** de rôles. Au lieu de cela, **les ressources donnent X rôles d'accès à Y principaux**, et le seul moyen de savoir qui a accès à une ressource est d'utiliser la **méthode `get-iam-policy` sur cette ressource**.\
|
||||
Cela pourrait poser un problème car cela signifie que le seul moyen de savoir **quelles autorisations un principal a est de demander à chaque ressource à qui elle accorde des autorisations**, et un utilisateur pourrait ne pas avoir les autorisations nécessaires pour obtenir des autorisations de toutes les ressources.
|
||||
Cela pourrait poser un problème car cela signifie que le seul moyen de savoir **quelles permissions un principal a est de demander à chaque ressource à qui elle accorde des permissions**, et un utilisateur pourrait ne pas avoir les permissions nécessaires pour obtenir les permissions de toutes les ressources.
|
||||
|
||||
Il existe **trois types** de rôles dans IAM :
|
||||
|
||||
- **Rôles de base/primitive**, qui incluent les rôles **Propriétaire**, **Éditeur** et **Visionneuse** qui existaient avant l'introduction de l'IAM.
|
||||
- **Rôles prédéfinis**, qui fournissent un accès granulaire pour un service spécifique et sont gérés par Google Cloud. Il existe de nombreux rôles prédéfinis, vous pouvez **voir tous les rôles avec les privilèges qu'ils ont** [**ici**](https://cloud.google.com/iam/docs/understanding-roles#predefined_roles).
|
||||
- **Rôles personnalisés**, qui fournissent un accès granulaire selon une liste d'autorisations spécifiée par l'utilisateur.
|
||||
- **Rôles de base/primitive**, qui incluent les rôles **Propriétaire**, **Éditeur** et **Visionneur** qui existaient avant l'introduction de l'IAM.
|
||||
- **Rôles prédéfinis**, qui fournissent un accès granulaire pour un service spécifique et sont gérés par Google Cloud. Il existe de nombreux rôles prédéfinis, vous pouvez **voir tous ceux-ci avec les privilèges qu'ils ont** [**ici**](https://cloud.google.com/iam/docs/understanding-roles#predefined_roles).
|
||||
- **Rôles personnalisés**, qui fournissent un accès granulaire selon une liste de permissions spécifiée par l'utilisateur.
|
||||
|
||||
Il existe des milliers d'autorisations dans GCP. Pour vérifier si un rôle a des autorisations, vous pouvez [**chercher l'autorisation ici**](https://cloud.google.com/iam/docs/permissions-reference) et voir quels rôles l'ont.
|
||||
Il existe des milliers de permissions dans GCP. Pour vérifier si un rôle a une permission, vous pouvez [**chercher la permission ici**](https://cloud.google.com/iam/docs/permissions-reference) et voir quels rôles l'ont.
|
||||
|
||||
Vous pouvez également [**chercher ici les rôles prédéfinis**](https://cloud.google.com/iam/docs/understanding-roles#product_specific_documentation) **offerts par chaque produit.** Notez que certains **rôles** ne peuvent pas être attachés à des utilisateurs et **uniquement à des comptes de service en raison de certaines autorisations** qu'ils contiennent.\
|
||||
De plus, notez que les **autorisations** ne **prendront effet** que si elles sont **attachées au service pertinent.**
|
||||
Vous pouvez également [**chercher ici les rôles prédéfinis**](https://cloud.google.com/iam/docs/understanding-roles#product_specific_documentation) **offerts par chaque produit.** Notez que certains **rôles** ne peuvent pas être attachés à des utilisateurs et **uniquement à des SAs en raison de certaines permissions** qu'ils contiennent.\
|
||||
De plus, notez que les **permissions** ne **prendront effet** que si elles sont **attachées au service pertinent.**
|
||||
|
||||
Ou vérifiez si un **rôle personnalisé peut utiliser une** [**autorisation spécifique ici**](https://cloud.google.com/iam/docs/custom-roles-permissions-support)**.**
|
||||
Ou vérifiez si un **rôle personnalisé peut utiliser une** [**permission spécifique ici**](https://cloud.google.com/iam/docs/custom-roles-permissions-support)**.**
|
||||
|
||||
{{#ref}}
|
||||
../gcp-services/gcp-iam-and-org-policies-enum.md
|
||||
@@ -116,7 +116,7 @@ Ou vérifiez si un **rôle personnalisé peut utiliser une** [**autorisation sp
|
||||
|
||||
## Utilisateurs <a href="#default-credentials" id="default-credentials"></a>
|
||||
|
||||
Dans la **console GCP**, il **n'y a pas de gestion des utilisateurs ou des groupes**, cela se fait dans **Google Workspace**. Bien que vous puissiez synchroniser un autre fournisseur d'identité dans Google Workspace.
|
||||
Dans la **console GCP**, il **n'y a pas de gestion des Utilisateurs ou Groupes**, cela se fait dans **Google Workspace**. Bien que vous puissiez synchroniser un autre fournisseur d'identité dans Google Workspace.
|
||||
|
||||
Vous pouvez accéder aux **utilisateurs et groupes de Workspaces** à [**https://admin.google.com**](https://admin.google.com/).
|
||||
|
||||
@@ -124,11 +124,11 @@ Vous pouvez accéder aux **utilisateurs et groupes de Workspaces** à [**https:/
|
||||
|
||||
## Groupes
|
||||
|
||||
Lorsqu'une organisation est créée, plusieurs groupes sont **fortement suggérés à créer.** Si vous gérez l'un d'eux, vous pourriez avoir compromis tout ou une partie importante de l'organisation :
|
||||
Lorsqu'une organisation est créée, plusieurs groupes sont **fortement suggérés à être créés.** Si vous gérez l'un d'eux, vous pourriez avoir compromis tout ou une partie importante de l'organisation :
|
||||
|
||||
<table data-header-hidden><thead><tr><th width="299.3076923076923"></th><th></th></tr></thead><tbody><tr><td><strong>Groupe</strong></td><td><strong>Fonction</strong></td></tr><tr><td><strong><code>gcp-organization-admins</code></strong><br><em>(groupes ou comptes individuels requis pour la liste de contrôle)</em></td><td>Administrer toute ressource appartenant à l'organisation. Attribuez ce rôle avec parcimonie ; les administrateurs d'organisation ont accès à toutes vos ressources Google Cloud. Alternativement, comme cette fonction est hautement privilégiée, envisagez d'utiliser des comptes individuels au lieu de créer un groupe.</td></tr><tr><td><strong><code>gcp-network-admins</code></strong><br><em>(requis pour la liste de contrôle)</em></td><td>Créer des réseaux, des sous-réseaux, des règles de pare-feu et des dispositifs réseau tels que Cloud Router, Cloud VPN et des équilibreurs de charge cloud.</td></tr><tr><td><strong><code>gcp-billing-admins</code></strong><br><em>(requis pour la liste de contrôle)</em></td><td>Configurer des comptes de facturation et surveiller leur utilisation.</td></tr><tr><td><strong><code>gcp-developers</code></strong><br><em>(requis pour la liste de contrôle)</em></td><td>Concevoir, coder et tester des applications.</td></tr><tr><td><strong><code>gcp-security-admins</code></strong><br></td><td>Établir et gérer des politiques de sécurité pour l'ensemble de l'organisation, y compris la gestion des accès et les <a href="https://cloud.google.com/resource-manager/docs/organization-policy/org-policy-constraints">politiques de contraintes d'organisation</a>. Consultez le <a href="https://cloud.google.com/architecture/security-foundations/authentication-authorization#users_and_groups">guide des fondations de sécurité Google Cloud</a> pour plus d'informations sur la planification de votre infrastructure de sécurité Google Cloud.</td></tr><tr><td><strong><code>gcp-devops</code></strong></td><td>Créer ou gérer des pipelines de bout en bout qui soutiennent l'intégration et la livraison continues, la surveillance et la fourniture de systèmes.</td></tr><tr><td><strong><code>gcp-logging-admins</code></strong></td><td></td></tr><tr><td><strong><code>gcp-logging-viewers</code></strong></td><td></td></tr><tr><td><strong><code>gcp-monitor-admins</code></strong></td><td></td></tr><tr><td><strong><code>gcp-billing-viewer</code></strong><br><em>(plus par défaut)</em></td><td>Surveiller les dépenses sur les projets. Les membres typiques font partie de l'équipe financière.</td></tr><tr><td><strong><code>gcp-platform-viewer</code></strong><br><em>(plus par défaut)</em></td><td>Examiner les informations sur les ressources à travers l'organisation Google Cloud.</td></tr><tr><td><strong><code>gcp-security-reviewer</code></strong><br><em>(plus par défaut)</em></td><td>Examiner la sécurité cloud.</td></tr><tr><td><strong><code>gcp-network-viewer</code></strong><br><em>(plus par défaut)</em></td><td>Examiner les configurations réseau.</td></tr><tr><td><strong><code>grp-gcp-audit-viewer</code></strong><br><em>(plus par défaut)</em></td><td>Voir les journaux d'audit.</td></tr><tr><td><strong><code>gcp-scc-admin</code></strong><br><em>(plus par défaut)</em></td><td>Administrer le Security Command Center.</td></tr><tr><td><strong><code>gcp-secrets-admin</code></strong><br><em>(plus par défaut)</em></td><td>Gérer les secrets dans Secret Manager.</td></tr></tbody></table>
|
||||
<table data-header-hidden><thead><tr><th width="299.3076923076923"></th><th></th></tr></thead><tbody><tr><td><strong>Groupe</strong></td><td><strong>Fonction</strong></td></tr><tr><td><strong><code>gcp-organization-admins</code></strong><br><em>(groupes ou comptes individuels requis pour la liste de contrôle)</em></td><td>Administrer toute ressource appartenant à l'organisation. Attribuez ce rôle avec parcimonie ; les administrateurs d'organisation ont accès à toutes vos ressources Google Cloud. Alternativement, comme cette fonction est hautement privilégiée, envisagez d'utiliser des comptes individuels au lieu de créer un groupe.</td></tr><tr><td><strong><code>gcp-network-admins</code></strong><br><em>(requis pour la liste de contrôle)</em></td><td>Créer des réseaux, sous-réseaux, règles de pare-feu et dispositifs réseau tels que Cloud Router, Cloud VPN et équilibreurs de charge cloud.</td></tr><tr><td><strong><code>gcp-billing-admins</code></strong><br><em>(requis pour la liste de contrôle)</em></td><td>Configurer des comptes de facturation et surveiller leur utilisation.</td></tr><tr><td><strong><code>gcp-developers</code></strong><br><em>(requis pour la liste de contrôle)</em></td><td>Concevoir, coder et tester des applications.</td></tr><tr><td><strong><code>gcp-security-admins</code></strong><br></td><td>Établir et gérer des politiques de sécurité pour l'ensemble de l'organisation, y compris la gestion des accès et les <a href="https://cloud.google.com/resource-manager/docs/organization-policy/org-policy-constraints">politiques de contraintes d'organisation</a>. Consultez le <a href="https://cloud.google.com/architecture/security-foundations/authentication-authorization#users_and_groups">guide des fondations de sécurité Google Cloud</a> pour plus d'informations sur la planification de votre infrastructure de sécurité Google Cloud.</td></tr><tr><td><strong><code>gcp-devops</code></strong></td><td>Créer ou gérer des pipelines de bout en bout qui soutiennent l'intégration et la livraison continues, la surveillance et le provisionnement des systèmes.</td></tr><tr><td><strong><code>gcp-logging-admins</code></strong></td><td></td></tr><tr><td><strong><code>gcp-logging-viewers</code></strong></td><td></td></tr><tr><td><strong><code>gcp-monitor-admins</code></strong></td><td></td></tr><tr><td><strong><code>gcp-billing-viewer</code></strong><br><em>(plus par défaut)</em></td><td>Surveiller les dépenses sur les projets. Les membres typiques font partie de l'équipe financière.</td></tr><tr><td><strong><code>gcp-platform-viewer</code></strong><br><em>(plus par défaut)</em></td><td>Examiner les informations sur les ressources à travers l'organisation Google Cloud.</td></tr><tr><td><strong><code>gcp-security-reviewer</code></strong><br><em>(plus par défaut)</em></td><td>Examiner la sécurité cloud.</td></tr><tr><td><strong><code>gcp-network-viewer</code></strong><br><em>(plus par défaut)</em></td><td>Examiner les configurations réseau.</td></tr><tr><td><strong><code>grp-gcp-audit-viewer</code></strong><br><em>(plus par défaut)</em></td><td>Voir les journaux d'audit.</td></tr><tr><td><strong><code>gcp-scc-admin</code></strong><br><em>(plus par défaut)</em></td><td>Administrer le Security Command Center.</td></tr><tr><td><strong><code>gcp-secrets-admin</code></strong><br><em>(plus par défaut)</em></td><td>Gérer les secrets dans le Secret Manager.</td></tr></tbody></table>
|
||||
|
||||
## **Politique de mot de passe par défaut**
|
||||
## **Politique de Mot de Passe par Défaut**
|
||||
|
||||
- Appliquer des mots de passe forts
|
||||
- Entre 8 et 100 caractères
|
||||
@@ -162,7 +162,7 @@ Il existe 2 principales façons d'accéder à GCP en tant que compte de service
|
||||
|
||||
- **Via des jetons OAuth** : Ce sont des jetons que vous obtiendrez à partir d'endroits comme les points de terminaison de métadonnées ou en volant des requêtes http et ils sont limités par les **portées d'accès**.
|
||||
- **Clés** : Ce sont des paires de clés publiques et privées qui vous permettront de signer des requêtes en tant que compte de service et même de générer des jetons OAuth pour effectuer des actions en tant que compte de service. Ces clés sont dangereuses car elles sont plus compliquées à limiter et à contrôler, c'est pourquoi GCP recommande de ne pas les générer.
|
||||
- Notez que chaque fois qu'un SA est créé, **GCP génère une clé pour le compte de service** à laquelle l'utilisateur n'a pas accès (et qui ne sera pas listée dans l'application web). Selon [**ce fil**](https://www.reddit.com/r/googlecloud/comments/f0ospy/service_account_keys_observations/), cette clé est **utilisée en interne par GCP** pour donner accès aux points de terminaison de métadonnées afin de générer les jetons OAuth accessibles.
|
||||
- Notez qu'à chaque fois qu'un SA est créé, **GCP génère une clé pour le compte de service** à laquelle l'utilisateur n'a pas accès (et qui ne sera pas listée dans l'application web). Selon [**ce fil**](https://www.reddit.com/r/googlecloud/comments/f0ospy/service_account_keys_observations/), cette clé est **utilisée en interne par GCP** pour donner accès aux points de terminaison de métadonnées afin de générer les jetons OAuth accessibles.
|
||||
|
||||
### **Portées d'accès**
|
||||
|
||||
@@ -186,9 +186,9 @@ curl 'https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=<access_token>
|
||||
"access_type": "offline"
|
||||
}
|
||||
```
|
||||
Les **scopes** précédents sont ceux générés par **défaut** en utilisant **`gcloud`** pour accéder aux données. Cela est dû au fait que lorsque vous utilisez **`gcloud`**, vous créez d'abord un jeton OAuth, puis vous l'utilisez pour contacter les points de terminaison.
|
||||
Les **scopes** précédents sont ceux générés par **défaut** en utilisant **`gcloud`** pour accéder aux données. Cela est dû au fait que lorsque vous utilisez **`gcloud`**, vous créez d'abord un jeton OAuth, puis l'utilisez pour contacter les points de terminaison.
|
||||
|
||||
Le scope le plus important de ceux-ci est potentiellement **`cloud-platform`**, ce qui signifie essentiellement qu'il est possible d'**accéder à n'importe quel service dans GCP**.
|
||||
Le scope le plus important de ceux-ci est **`cloud-platform`**, ce qui signifie essentiellement qu'il est possible d'**accéder à n'importe quel service dans GCP**.
|
||||
|
||||
Vous pouvez **trouver une liste de** [**tous les scopes possibles ici**](https://developers.google.com/identity/protocols/googlescopes)**.**
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
# GCP - Federation Abuse
|
||||
# GCP - Abus de fédération
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
## OIDC - Github Actions Abuse
|
||||
## OIDC - Abus des Actions Github
|
||||
|
||||
### GCP
|
||||
|
||||
Pour donner **accès aux Github Actions** d'un dépôt Github à un **compte de service** GCP, les étapes suivantes sont nécessaires :
|
||||
Pour donner **accès aux Actions Github** d'un dépôt Github à un **compte de service** GCP, les étapes suivantes sont nécessaires :
|
||||
|
||||
- **Créer le compte de service** pour accéder depuis les actions github avec les **permissions souhaitées :**
|
||||
```bash
|
||||
@@ -39,7 +39,7 @@ poolId=$(gcloud iam workload-identity-pools describe $poolName \
|
||||
--location global \
|
||||
--format='get(name)')
|
||||
```
|
||||
- Générer un nouveau **fournisseur OIDC de pool d'identité de charge de travail** qui **fait confiance** aux actions github (par nom d'org/repo dans ce scénario) :
|
||||
- Générer un nouveau **fournisseur OIDC de pool d'identité de charge de travail** qui **fait confiance** aux actions github (par nom d'organisation/de dépôt dans ce scénario) :
|
||||
```bash
|
||||
attributeMappingScope=repository # could be sub (GitHub repository and branch) or repository_owner (GitHub organization)
|
||||
|
||||
@@ -55,7 +55,7 @@ providerId=$(gcloud iam workload-identity-pools providers describe $poolName \
|
||||
--workload-identity-pool $poolName \
|
||||
--format='get(name)')
|
||||
```
|
||||
- Enfin, **permettre au principal** du fournisseur d'utiliser un principal de service :
|
||||
- Enfin, **permettez au principal** du fournisseur d'utiliser un principal de service :
|
||||
```bash
|
||||
gitHubRepoName="repo-org/repo-name"
|
||||
gcloud iam service-accounts add-iam-policy-binding $saId \
|
||||
@@ -63,7 +63,7 @@ gcloud iam service-accounts add-iam-policy-binding $saId \
|
||||
--member "principalSet://iam.googleapis.com/${poolId}/attribute.${attributeMappingScope}/${gitHubRepoName}"
|
||||
```
|
||||
> [!WARNING]
|
||||
> Notez comment dans le membre précédent, nous spécifions le **`org-name/repo-name`** comme conditions pour pouvoir accéder au compte de service (d'autres paramètres qui le rendent **plus restrictif** comme la branche pourraient également être utilisés).
|
||||
> Notez comment dans le membre précédent, nous spécifions **`org-name/repo-name`** comme conditions pour pouvoir accéder au compte de service (d'autres paramètres qui le rendent **plus restrictif** comme la branche pourraient également être utilisés).
|
||||
>
|
||||
> Cependant, il est également possible de **permettre à tous les github d'accéder** au compte de service en créant un fournisseur tel que le suivant en utilisant un caractère générique :
|
||||
|
||||
@@ -99,7 +99,7 @@ providerId=$(gcloud iam workload-identity-pools providers describe $poolName \
|
||||
</strong></code></pre>
|
||||
|
||||
> [!WARNING]
|
||||
> Dans ce cas, n'importe qui pourrait accéder au compte de service depuis les actions github, il est donc important de **vérifier comment le membre est défini**.\
|
||||
> Dans ce cas, n'importe qui pourrait accéder au compte de service depuis les actions github, il est donc important de toujours **vérifier comment le membre est défini**.\
|
||||
> Cela devrait toujours être quelque chose comme ceci :
|
||||
>
|
||||
> `attribute.{custom_attribute}`:`principalSet://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/attribute.{custom_attribute}/{value}`
|
||||
|
||||
Reference in New Issue
Block a user