Google Cloud Platform (GCP) Identity and Access Management (IAM) est un service qui permet de gérer les accès aux ressources Google Cloud. Il vous permet de créer et de gérer des utilisateurs, des groupes, des rôles et des politiques pour contrôler l'accès aux ressources Google Cloud. GCP IAM est essentiel pour assurer la sécurité et la gestion des accès dans votre environnement Google Cloud.
Présentation de GCP IAM
Qu'est-ce que GCP IAM ?
GCP IAM est un service qui vous permet de :
- Créer et gérer des utilisateurs : Ajouter et gérer des utilisateurs dans Google Cloud.
- Créer et gérer des groupes : Organiser les utilisateurs en groupes pour simplifier la gestion des accès.
- Créer et gérer des rôles : Définir des rôles pour contrôler les permissions des utilisateurs et des groupes.
- Définir des politiques : Appliquer des politiques pour contrôler l'accès aux ressources Google Cloud.
Exemples de Ligne de Commande
Pour interagir avec GCP IAM via la ligne de commande, vous pouvez utiliser l'outil gcloud
de la Google Cloud SDK. Voici quelques exemples de commandes avancées pour gérer les utilisateurs, les groupes, les rôles et les politiques.
Prérequis
Avant de commencer, assurez-vous que la Google Cloud SDK est installée et configurée sur votre machine. Vous pouvez configurer gcloud
avec la commande suivante :
gcloud init
Vous devrez fournir vos informations d'identification Google Cloud.
Créer un Utilisateur
Pour créer un utilisateur dans Google Cloud :
gcloud iam service-accounts create my-service-account --display-name "My Service Account"
Créer un Groupe
Pour créer un groupe dans Google Cloud :
gcloud identity groups create my-group --display-name "My Group"
Ajouter un Utilisateur à un Groupe
Pour ajouter un utilisateur à un groupe :
gcloud identity groups memberships add --group-email my-group@example.com --member-email user@example.com
Créer un Rôle Personnalisé
Pour créer un rôle personnalisé dans GCP IAM :
gcloud iam roles create my-custom-role --project my-project --title "My Custom Role" --description "This is a custom role" --permissions "compute.instances.list,compute.instances.get"
Attribuer un Rôle à un Utilisateur
Pour attribuer un rôle à un utilisateur :
gcloud projects add-iam-policy-binding my-project --member "user:user@example.com" --role "my-custom-role"
Lister les Utilisateurs
Pour lister tous les utilisateurs dans un projet :
gcloud iam service-accounts list --project my-project
Lister les Groupes
Pour lister tous les groupes dans un projet :
gcloud identity groups list --project my-project
Lister les Rôles
Pour lister tous les rôles dans un projet :
gcloud iam roles list --project my-project
Lister les Politiques d'Accès
Pour lister toutes les politiques d'accès dans un projet :
gcloud projects get-iam-policy my-project
Supprimer un Utilisateur
Pour supprimer un utilisateur dans Google Cloud :
gcloud iam service-accounts delete my-service-account
Supprimer un Groupe
Pour supprimer un groupe dans Google Cloud :
gcloud identity groups delete my-group
Supprimer un Rôle Personnalisé
Pour supprimer un rôle personnalisé dans GCP IAM :
gcloud iam roles delete my-custom-role --project my-project
Intégrer GCP IAM dans un Pipeline CI/CD
Pour intégrer GCP IAM dans un pipeline CI/CD, vous pouvez ajouter une étape de gestion des accès dans votre fichier de configuration CI/CD. Par exemple, pour GitHub Actions, vous pouvez ajouter une étape comme suit :
name: GCP IAM Management on: [push, pull_request] jobs: iam: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up Google Cloud SDK uses: google-github-actions/setup-gcloud@v0.2.0 with: version: 'latest' service_account_key: ${{ secrets.GCP_SA_KEY }} project_id: ${{ secrets.GCP_PROJECT_ID }} - name: Create Service Account run: | gcloud iam service-accounts create my-service-account --display-name "My Service Account" - name: Create Custom Role run: | gcloud iam roles create my-custom-role --project ${{ secrets.GCP_PROJECT_ID }} --title "My Custom Role" --description "This is a custom role" --permissions "compute.instances.list,compute.instances.get" - name: Assign Role to Service Account run: | gcloud projects add-iam-policy-binding ${{ secrets.GCP_PROJECT_ID }} --member "serviceAccount:my-service-account@${{ secrets.GCP_PROJECT_ID }}.iam.gserviceaccount.com" --role "my-custom-role"
Conclusion
GCP IAM est un service puissant pour gérer les accès aux ressources Google Cloud. En utilisant l'outil gcloud
, vous pouvez automatiser et simplifier la création, la gestion et la surveillance des utilisateurs, des groupes, des rôles et des politiques. Ces exemples de commandes et de configurations vous donnent un bon point de départ pour commencer à utiliser GCP IAM.