
Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
Create an instance with name as lab-1 in Project 1
/ 10
Update the default zone
/ 10
Create a configuration for Username 2 and name it as user2
/ 10
Restricting Username 2 to roles/viewer in Project 2
/ 10
Create a new role with permissions for the devops team
/ 10
Check binding to roles/iam.serviceAccountUser
/ 5
Bound Username 2 to devops role
/ 5
Create an instance with name as lab-2 in Project 1
/ 5
Check the created service account
/ 5
Check the binding for the service account to roles/iam.serviceAccountUser
/ 10
Check the binding for the service account to roles/compute.instanceAdmin
/ 10
Check lab-3 has the service account attached
/ 10
Cet atelier porte sur trois aspects courants que vous devez maîtriser concernant IAM et gcloud :
Dans cet atelier, vous allez activer et configurer des fonctionnalités Cloud Identity and Access Management (IAM) à l'aide de la gcloud CLI
.
Dans cet atelier, vous allez effectuer les tâches suivantes :
gcloud
Vous commencez avec deux comptes utilisateur et deux projets :
user1
est le propriétaire des deux projets.user2
a un rôle de lecteur sur le premier projet uniquement.Une machine virtuelle (VM) Linux est exécutée dans le premier projet.
Google Cloud propose Cloud Identity and Access Management (IAM), qui vous permet de gérer le contrôle des accès en définissant qui (identité) dispose de quel type d'accès (rôle) pour quelle ressource.
Dans IAM, l'autorisation d'accéder à une ressource n'est pas accordée directement à l'utilisateur final. Au lieu de cela, les autorisations sont regroupées dans des rôles, et les rôles sont attribués à des comptes principaux authentifiés. Notez qu'auparavant, les comptes principaux étaient souvent appelés "membres". Certaines API utilisent toujours ce terme.
Dans Cloud IAM, vous accordez des accès à des comptes principaux. Il existe plusieurs types de comptes principaux :
Pour en savoir plus sur ces types d'identités, consultez le guide sur les concepts liés à l'identité.
Dans cet atelier, vous allez utiliser des comptes Google, des comptes de service et des groupes faisant partie d'un domaine Cloud Identity.
Un rôle est un ensemble d'autorisations. Il n'est pas possible d'attribuer une autorisation à l'utilisateur directement. À la place, vous lui accordez un rôle. Ce faisant, vous lui donnez toutes les autorisations associées à ce rôle.
Pour en savoir plus au sujet des rôles, consultez le guide sur les rôles.
La gcloud CLI fait partie de Cloud SDK. Vous devez télécharger le SDK sur votre système, l'installer et l'initialiser pour pouvoir utiliser l'outil de ligne de commande gcloud. Cet outil permet d'effectuer de nombreuses tâches courantes sur la plate-forme, en ligne de commande ou via des scripts et autres solutions d'automatisation.
Pour en savoir plus sur gcloud, consultez le guide de présentation de la gcloud CLI.
Lisez ces instructions. Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur Démarrer l'atelier, indique combien de temps les ressources Google Cloud resteront accessibles.
Cet atelier pratique vous permet de suivre vous-même les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Nous vous fournissons des identifiants temporaires pour vous connecter à Google Cloud le temps de l'atelier.
Pour réaliser cet atelier :
Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, un pop-up s'affiche pour vous permettre de sélectionner un mode de paiement. Sur la gauche, vous trouverez le panneau Détails concernant l'atelier, qui contient les éléments suivants :
Cliquez sur Ouvrir la console Google Cloud (ou effectuez un clic droit et sélectionnez Ouvrir le lien dans la fenêtre de navigation privée si vous utilisez le navigateur Chrome).
L'atelier lance les ressources, puis ouvre la page Se connecter dans un nouvel onglet.
Conseil : Réorganisez les onglets dans des fenêtres distinctes, placées côte à côte.
Si nécessaire, copiez le nom d'utilisateur ci-dessous et collez-le dans la boîte de dialogue Se connecter.
Vous trouverez également le nom d'utilisateur dans le panneau Détails concernant l'atelier.
Cliquez sur Suivant.
Copiez le mot de passe ci-dessous et collez-le dans la boîte de dialogue Bienvenue.
Vous trouverez également le mot de passe dans le panneau Détails concernant l'atelier.
Cliquez sur Suivant.
Accédez aux pages suivantes :
Après quelques instants, la console Cloud s'ouvre dans cet onglet.
Dans cet atelier, vous disposez déjà d'une instance Compute Engine, appelée centos-clean, qui simule un environnement dans lequel gcloud
n'est pas installé. Vous vous connectez à cette instance à l'aide de la console Google Cloud.
Pour ouvrir la liste des instances de calcul, cliquez sur le menu de navigation > Compute Engine > Instances de VM.
Sur la ligne mentionnant l'instance de calcul nommée centos-clean, cliquez sur SSH.
gcloud
est bien installé en contrôlant la version. Dans la session SSH, exécutez la commande suivante :Après avoir vérifié que l'outil de ligne de commande gcloud
est installé, apportez des modifications en créant une instance de calcul.
Appuyez sur ENTRÉE lorsque l'invite Do you want to continue (Y/n)? (Voulez-vous continuer (Oui/Non) ?) s'affiche.
Ouvrez le lien affiché dans un nouvel onglet.
Cliquez sur votre nom d'utilisateur actif (
Lorsque l'invite Saisissez le code de validation suivant dans la gcloud CLI sur la machine depuis laquelle vous souhaitez vous connecter s'affiche, cliquez sur le bouton "Copier", puis revenez à la session SSH et collez le code dans l'invite Enter authorization code: (Saisissez le code d'autorisation).
Dans la session SSH, définissez la région et la zone :
Si tout est correctement configuré, la commande crée une instance.
Mais quelle est sa taille ? Où se trouve-t-elle ? Quelle image est utilisée ?
Le service utilise un certain nombre de valeurs par défaut. Vous pouvez contrôler certaines d'entre elles dans la configuration gcloud
. Par exemple, le paramètre de zone contrôle l'emplacement de l'instance.
Vous voyez désormais une section compute
, une section core
et une configuration active (active configuration
). Tous ces éléments sont modifiables, mais vous ne modifierez que la zone dans cet atelier. Examinez la zone dans laquelle votre VM a été créée.
Identifiez une autre zone dépendant de la même région que votre instance. Par exemple, si votre zone actuelle est us-west2-a
, vous pouvez sélectionner us-west2-b
.
Remplacez votre zone actuelle par une autre zone de la même région. Dans la session SSH, exécutez la commande suivante en remplaçant ZONE
par la zone que vous avez sélectionnée :
Vous pouvez constater que la zone indiquée reflète la modification que vous avez apportée.
Vous pouvez modifier d'autres paramètres à l'aide de la commande gcloud config set
. Ces modifications sont définitives et sont écrites dans votre répertoire d'accueil.
La configuration par défaut est stockée dans ~/.config/gcloud/configurations/config_default.
Si vous souhaitez définir une zone autre que celle par défaut lors de la création d'une instance, vous pouvez utiliser l'option "--zone". Exemple : gcloud compute instances create lab-1 --zone us-central1-f
Vous pouvez constater que la configuration est stockée sous forme de texte, et peut être sauvegardée ou copiée.
Vous venez de configurer un compte. Si vous devez travailler avec différentes équipes ou accéder à plusieurs comptes, vous pouvez également gérer ces aspects avec gcloud config
.
Dans la tâche suivante, vous allez apprendre à créer une deuxième configuration, puis à passer de l'une à l'autre.
Dans cet atelier, vous disposez d'un deuxième compte Google avec lequel vous pouvez vous connecter. Ce compte dispose d'un accès en lecture seule (lecteur) au premier projet. Vous allez créer une configuration pour ce compte utilisateur.
gcloud
pour le deuxième compte utilisateur. Dans la session SSH, exécutez la commande suivante :Sélectionnez l'option 2, Create a new configuration (Créer une configuration).
Pour configuration name (nom de la configuration) : saisissez user2.
Pour Log in with a new account (Se connecter avec un nouveau compte) : sélectionnez l'option 3, "You're logging in with the other provided user name" (Vous vous connectez avec l'autre nom d'utilisateur fourni).
Appuyez sur ENTRÉE lorsque l'invite Do you want to continue (Y/n)? (Voulez-vous continuer (Oui/Non) ?) s'affiche.
Ouvrez le lien affiché dans un nouvel onglet.
Cliquez sur Utiliser un autre compte.
Copiez le deuxième compte utilisateur (
Copiez le mot de passe avec lequel vous avez commencé l'atelier et collez-le dans l'invite Saisissez votre mot de passe.
Cliquez sur J'ai compris.
Cliquez sur Autoriser.
Vous acceptez que Cloud SDK dispose des mêmes droits d'accès que votre compte Google.
Lorsque l'invite Saisissez le code de validation suivant dans la gcloud CLI sur la machine depuis laquelle vous souhaitez vous connecter s'affiche, cliquez sur le bouton "Copier", puis revenez à la session SSH et collez le code dans l'invite Enter authorization code: (Saisissez le code d'autorisation).
Pour le champ Pick cloud project to use (Sélectionnez le projet Cloud à utiliser), localisez votre projet actuel (
Une fois l'initialisation terminée, vous constatez que la zone et la région sont définies automatiquement.
Ce nouveau compte dispose d'un accès en lecture seule au projet. Vous pouvez donc vérifier que vous êtes bien en train de l'utiliser en essayant d'afficher puis de créer des ressources.
Le deuxième compte utilisateur dispose d'un accès en lecture. Les instances centos-clean
et lab-1
doivent donc être recensées.
Comme le deuxième compte utilisateur ne dispose que d'un accès en lecture, il n'est pas autorisé à créer d'instance. Par conséquent, cette commande échoue. Il peut s'écouler un certain temps avant que le message d'échec ne soit renvoyé.
Vous utilisez à nouveau les identifiants de votre compte utilisateur d'origine. Par la suite, vous passerez d'un compte à l'autre à mesure que vous en découvrirez davantage sur les rôles et les autorisations.
Deux comptes utilisateur vous ont été fournis pour ce projet. Le premier compte utilisateur dispose d'un contrôle total sur les deux projets et peut être considéré comme le compte administrateur. Le deuxième compte utilisateur dispose d'un accès en lecture seule pour les deux projets. Considérons-le comme un compte utilisateur DevOps. Cette identité représente un utilisateur typique de niveau DevOps.
Vous allez maintenant utiliser gcloud
pour configurer l'accès de l'utilisateur DevOps à un projet, en créant un rôle personnalisé lui permettant de créer des buckets et des instances dans le projet.
La liste de rôles s'affiche. L'ajout de grep "name:"
à la commande réduit la quantité de données renvoyées aux seuls noms des rôles.
Examinez l'un de ces rôles pour voir les autorisations qui lui sont attribuées. Pour afficher les autorisations, exécutez gcloud iam roles describe
. Jetez un œil au rôle simple roles/compute.instanceAdmin.
compute.instanceAdmin
. Dans la session SSH, exécutez la commande suivante :Vous pouvez constater que le rôle roles/compute.instanceAdmin possède beaucoup d'autorisations, mais celles-ci constituent le minimum nécessaire dont vous aurez besoin ultérieurement :
Pour passer en revue la liste complète des rôles et des autorisations qu'ils comprennent, consultez le guide de référence sur les autorisations IAM.
Maintenant que vous savez que les rôles contiennent des autorisations, comment en attribuer un (et donc toutes les autorisations associées) à un compte utilisateur ?
Il existe deux façons d'attribuer un rôle :
Vous allez attribuer le rôle de base "Lecteur" au deuxième compte utilisateur sur le deuxième projet.
gcloud
du deuxième compte utilisateur (user2). Dans la session SSH, exécutez la commande suivante :Vous utilisez maintenant à nouveau user2
.
PROJECTID2
sur le deuxième projet. Dans la session SSH, exécutez la commande suivante :bashrc
. Faites donc très attention.Vous recevez un avertissement : WARNING: You do not appear to have access to project [your 2nd project id] or it does not exist
(AVERTISSEMENT : Vous ne semblez pas avoir accès au projet [ID du deuxième projet], ou celui-ci n'existe pas).
Le deuxième compte utilisateur n'a donc pas accès au projet PROJECTID2. Vous corrigerez cela dans la section suivante.
jq
:Définissez ensuite la valeur de USERID2
sur le nom du deuxième compte utilisateur, puis attribuez-lui le rôle de lecteur sur le deuxième projet.
Une fois la commande exécutée, le texte ressemble à ceci (vous devrez peut-être faire défiler la page vers le haut) :
Vous ne devriez pas recevoir de message d'erreur cette fois.
Vous ne voyez maintenant aucune instance dans ce projet.
Cette commande échoue, car user2 ne dispose que d'un accès en lecture au projet.
Vous utilisez à nouveau les identifiants de votre compte utilisateur d'origine.
Vous allez ensuite créer le rôle disposant de l'ensemble des autorisations requises par l'équipe DevOps.
devops
et disposant des autorisations nécessaires pour créer une instance. Dans la session SSH, exécutez la commande suivante :Cette commande crée le rôle personnalisé devops
qui est autorisé à créer et à gérer des instances dans le projet.
Le nom complet du rôle est répertorié. Comme celui-ci se trouve dans le projet, le chemin d'accès est au format projects/PROJECT/roles/ROLENAME
.
Maintenant que vous avez créé le rôle, vous devez associer l'utilisateur et le rôle au projet. Exécutez la commande gcloud projects add-iam-policy-binding
pour effectuer cette liaison. Pour faciliter l'exécution de cette commande, définissez d'abord des variables d'environnement : l'une pour l'ID du projet, l'autre pour le compte utilisateur.
iam.serviceAccountUser
au deuxième compte utilisateur pour le deuxième projet. Dans la session SSH, exécutez la commande suivante :Vous devez disposer des autorisations nécessaires pour créer une instance avec un compte de service rattaché. Le rôle prédéfini iam.serviceAccountUser
dispose de ces autorisations. Vous allez donc l'utiliser.
devops
au deuxième compte utilisateur sur le deuxième projet. Le deuxième compte utilisateur se trouve à gauche de cette page. Assurez-vous d'avoir défini USERID sur le deuxième compte utilisateur.Dans la session SSH, exécutez la commande suivante :
Une fois la commande exécutée, le texte ressemble à ceci (vous devrez peut-être faire défiler la page vers le haut) :
Vous utilisez maintenant à nouveau user2.
Le compte user2 peut désormais créer des instances.
Après ces dernières modifications, votre environnement ressemble à ceci :
Vous avez appris à vous authentifier et à utiliser gcloud
pour accéder aux services Google Cloud avec des rôles. Vous allez maintenant découvrir une approche typique.
Vous disposez d'une application qui lit et écrit des données dans des buckets Cloud Storage à l'aide d'interfaces de programmation d'applications (API). Vous ne voulez pas avoir à vous authentifier à chaque fois que vous lancez un nouveau serveur. Non seulement ce serait pénible, mais cela va à l'encontre des principes d'utilisation du cloud. Vous utilisez donc des comptes de service.
Un compte de service est un compte Google spécial qui appartient à votre application ou à une machine virtuelle (VM) plutôt qu'à un utilisateur final individuel. Il permet à votre application d'appeler l'API Google d'un service sans impliquer directement les utilisateurs.
Pour en savoir plus sur les comptes de service, consultez le guide sur les comptes de service.
Vous allez maintenant créer un compte de service, l'utiliser avec une instance de calcul, puis vérifier qu'il autorise l'accès dont vous avez besoin.
user2
ne dispose pas des autorisations nécessaires pour créer et configurer des comptes de service. Dans la session SSH, exécutez la commande suivante :PROJECTID2
dans votre configuration. Dans la session SSH, exécutez la commande suivante :Assurez-vous de cibler le bon projet.
SA
. Dans la session SSH, exécutez la commande suivante :Cette commande définit la variable locale SA sur l'adresse e-mail du compte de service. Plutôt utile, n'est-ce pas ?
iam.serviceAccountUser
au compte de service. Dans la session SSH, exécutez la commande suivante :Ce rôle permet au compte de service d'attribuer un compte de service à une instance de calcul.
compute.instanceAdmin
au compte de service. Dans la session SSH, exécutez la commande suivante :Ce rôle permet au compte de service de gérer les instances de calcul.
Les niveaux d'accès représentent l'ancienne méthode de spécification des autorisations associées à votre instance. Ils ne constituent pas un mécanisme de sécurité. À la place, ils définissent les champs d'application OAuth par défaut utilisés dans les requêtes de l'outil gcloud
ou des bibliothèques clientes. Notez qu'ils n'ont aucun effet lors de l'exécution de requêtes non authentifiées via OAuth (gRPC ou API SignBlob, par exemple).
Vous devez définir des niveaux d'accès lorsque vous configurez une instance pour qu'elle s'exécute via un compte de service.
Il est recommandé de définir le niveau d'accès "cloud-platform" complet pour l'instance, puis de restreindre de manière sécurisée l'accès aux API pour le compte de service à l'aide de rôles IAM.
Les niveaux d'accès s'appliquent par instance. Les niveaux d'accès définis lors de la création d'une instance sont exploitables uniquement pendant la durée de vie de cette instance.
Les niveaux d'accès n'ont un effet que si vous avez activé l'API associée sur le projet auquel appartient le compte de service. Par exemple, le fait d'accorder un niveau d'accès à Cloud Storage sur une instance de machine virtuelle ne permet à l'instance d'appeler l'API Cloud Storage que si vous avez aussi activé l'API Cloud Storage sur le projet.
gcloud compute ssh
. Dans la session SSH, exécutez la commande suivante :Lorsque vous y êtes invité, appuyez sur ENTRÉE pour continuer.
Appuyez deux fois sur ENTRÉE pour passer l'étape de création d'un mot de passe.
gcloud
. Dans la session SSH, exécutez la commande suivante :La configuration est désormais associée au compte de service.
Vous pouvez appuyer sur ENTRÉE pour accepter la zone proposée par défaut pour cette VM.
Comme le compte de service dispose des autorisations nécessaires, vous pouvez voir les instances recensées.
Vous avez réalisé les tâches suivantes à l'aide de l'outil gcloud
de Cloud SDK :
Les formations et certifications Google Cloud vous aident à tirer pleinement parti des technologies Google Cloud. Nos cours portent sur les compétences techniques et les bonnes pratiques à suivre pour être rapidement opérationnel et poursuivre votre apprentissage. Nous proposons des formations pour tous les niveaux, à la demande, en salle et à distance, pour nous adapter aux emplois du temps de chacun. Les certifications vous permettent de valider et de démontrer vos compétences et votre expérience en matière de technologies Google Cloud.
Dernière mise à jour du manuel : 10 avril 2024
Dernier test de l'atelier : 10 avril 2024
Copyright 2025 Google LLC Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.
Ce contenu n'est pas disponible pour le moment
Nous vous préviendrons par e-mail lorsqu'il sera disponible
Parfait !
Nous vous contacterons par e-mail s'il devient disponible
One lab at a time
Confirm to end all existing labs and start this one