Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Avant d'effectuer des tâches sur des machines virtuelles (VM) dans Google Distributed Cloud (GDC) air-gapped, vous devez disposer des rôles et autorisations IAM (Identity and Access Management) appropriés.
Avant de commencer
Pour utiliser les commandes gdcloud CLI, suivez les étapes requises dans les sections Interface de ligne de commande (CLI) gdcloud. Toutes les commandes pour Google Distributed Cloud air-gapped utilisent les CLI gdcloud ou kubectl et nécessitent un environnement de système d'exploitation (OS).
Obtenir le chemin d'accès au fichier kubeconfig
Pour exécuter des commandes sur le serveur de l'API Management, assurez-vous de disposer des ressources suivantes :
Connectez-vous et générez le fichier kubeconfig pour le serveur d'API Management si vous n'en avez pas.
Utilisez le chemin d'accès au fichier kubeconfig du serveur de l'API Management pour remplacer MANAGEMENT_API_SERVER dans ces instructions.
À propos de Cloud IAM
Distributed Cloud propose Identity and Access Management (IAM) pour un accès précis à des ressources Distributed Cloud spécifiques et empêche tout accès non souhaité à d'autres ressources. IAM fonctionne selon le principe de sécurité du moindre privilège et permet de contrôler qui est autorisé à accéder à des ressources spécifiques à l'aide de rôles et d'autorisations IAM.
Consultez la documentation IAM dans Se connecter, qui fournit des instructions pour vous connecter à la console GDC ou à la CLI gdcloud et utiliser kubectl pour accéder à vos charges de travail.
Rôles prédéfinis pour les ressources de VM
Pour créer des VM et des disques de VM dans un projet, demandez les autorisations appropriées à l'administrateur IAM du projet concerné. Tous les rôles de VM doivent être associés à l'espace de noms du projet dans lequel réside la VM. Pour gérer les machines virtuelles, votre administrateur IAM de projet peut vous attribuer les rôles prédéfinis suivants :
Administrateur VirtualMachine du projetproject-vm-admin : gère les VM dans l'espace de noms du projet.
Administrateur d'images de VM du projetproject-vm-image-admin : gère les images de VM dans l'espace de noms du projet.
Pour obtenir la liste de tous les rôles prédéfinis pour les opérateurs d'application (AO), consultez Descriptions des rôles.
Voici les rôles courants prédéfinis pour les VM. Pour en savoir plus sur les rôles courants, consultez Rôles courants.
Lecteur de types de VMvm-type-viewer : dispose d'un accès en lecture aux types de VM prédéfinis.
Lecteur d'images publiquespublic-image-viewer : dispose d'un accès en lecture aux images fournies par GDC.
Remplacez les variables en utilisant les définitions suivantes.
Variable
Remplacement
MANAGEMENT_API_SERVER
Fichier kubeconfig du système à partir de gdcloud auth login.
PROJECT
Nom du projet permettant de créer des images de VM.
Si le résultat est yes, vous disposez des autorisations nécessaires pour créer une VM dans le projet PROJECT.
Si le résultat est no, cela signifie que vous ne disposez pas des autorisations nécessaires. Contactez votre administrateur IAM de projet et demandez-lui de vous attribuer le rôle Administrateur de VirtualMachine de projet (project-vm-admin) dans l'espace de noms du projet dans lequel réside la VM.
Facultatif : Vérifiez si les utilisateurs ont accès aux images de VM au niveau du projet. Par exemple, exécutez les commandes suivantes pour vérifier s'ils peuvent créer et utiliser des ressources VirtualMachineImage au niveau du projet :
Remplacez les variables en utilisant les définitions suivantes.
Variable
Remplacement
MANAGEMENT_API_SERVER
Fichier kubeconfig du serveur de l'API Management.
PROJECT
Nom du projet dans lequel les images de VM sont créées.
Si le résultat est yes, l'utilisateur est autorisé à accéder aux images de VM personnalisées dans le projet PROJECT.
Si le résultat est no, cela signifie que vous ne disposez pas des autorisations nécessaires. Contactez votre administrateur IAM de projet et demandez-lui de vous attribuer le rôle Administrateur d'images de VM de projet (project-vm-image-admin) dans l'espace de noms du projet dans lequel réside la VM.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/04 (UTC)."],[[["\u003cp\u003eProper Identity and Access Management (IAM) roles and permissions are required before performing tasks on virtual machines (VMs) in Google Distributed Cloud (GDC) air-gapped.\u003c/p\u003e\n"],["\u003cp\u003eTo manage virtual machines in a project, a Project IAM Admin can assign the "Project VirtualMachine Admin" role, while managing VM images require the "Project VirtualMachine Image Admin" role.\u003c/p\u003e\n"],["\u003cp\u003eUsers can verify their permissions to create VMs or access VM images within a specific project using \u003ccode\u003ekubectl\u003c/code\u003e commands and checking for a "yes" or "no" output.\u003c/p\u003e\n"],["\u003cp\u003eGDC offers IAM for granular access control to resources, ensuring that only authorized users can access specific resources, adhering to the principle of least privilege.\u003c/p\u003e\n"]]],[],null,["# IAM permissions preparation\n\nBefore you perform tasks on virtual machines (VM) in\nGoogle Distributed Cloud (GDC) air-gapped, you must have the proper identity and access\n(IAM) roles and permissions.\n\nBefore you begin\n----------------\n\nTo use gdcloud CLI commands, complete the required steps from the\n[gdcloud command-line interface (CLI)](/distributed-cloud/hosted/docs/latest/gdch/resources/gdcloud-overview)\nsections. All commands for Google Distributed Cloud air-gapped use the\n`gdcloud` or `kubectl` CLI, and require an operating system (OS) environment.\n\n### Get the kubeconfig file path\n\nTo run commands against the Management API server, ensure you have the following\nresources:\n\n1. [Sign in and generate](/distributed-cloud/hosted/docs/latest/gdch/application/ao-user/iam/sign-in#cli) the\n kubeconfig file for the Management API server if you don't have one.\n\n2. Use the path to the kubeconfig file of the Management API server to replace\n \u003cvar translate=\"no\"\u003eMANAGEMENT_API_SERVER\u003c/var\u003e in these instructions.\n\nAbout IAM\n---------\n\nDistributed Cloud offers Identity and Access Management (IAM) for\ngranular access to specific Distributed Cloud resources and prevents\nunwanted access to other resources. IAM operates on the security\nprinciple of least privilege and provides control over who has permission\nto given resources using IAM roles and permissions.\n\nRead the IAM documentation in\n[Sign in](/distributed-cloud/hosted/docs/latest/gdch/application/ao-user/iam/sign-in), which provides\ninstructions for signing in to the GDC console or the\ngdcloud CLI and using `kubectl` to access your workloads.\n\n### Predefined roles to VM resources\n\nTo create VMs and VM disks in a project, request the appropriate permissions\nfrom your Project IAM Admin for a given project. All VM roles must bind to the\nnamespace of the project where the VM resides. To manage virtual machines,\nyour Project IAM Admin can assign you the following predefined roles:\n\n- **Project VirtualMachine Admin** `project-vm-admin`: Manages VMs in the project namespace.\n- **Project VirtualMachine Image Admin** `project-vm-image-admin`: Manages VM images in the project namespace.\n\nFor a list of all predefined roles for Application Operators (AO), see\n[Role descriptions](/distributed-cloud/hosted/docs/latest/gdch/application/ao-user/iam/role-descriptions).\n\nThe following are predefined common roles for VMs. For details on common roles,\nsee\n[Common roles](/distributed-cloud/hosted/docs/latest/gdch/application/ao-user/iam/role-descriptions#common_roles).\n\n- **VM type viewer** `vm-type-viewer`: has read access to predefined VM types.\n- **Public image viewer** `public-image-viewer`: has read access to images GDC provides.\n\nTo grant or receive access to VM resources, see\n[Grant access to project resources](/distributed-cloud/hosted/docs/latest/gdch/application/ao-user/iam/role-bindings).\n\nVerify user access to VM resources\n----------------------------------\n\n1. [Log in](/distributed-cloud/hosted/docs/latest/gdch/application/ao-user/iam/sign-in#cli) as the\n user requesting or verifying permissions.\n\n2. Verify whether you, or the user, can create virtual machines:\n\n kubectl --kubeconfig \u003cvar translate=\"no\"\u003eMANAGEMENT_API_SERVER\u003c/var\u003e auth can-i create virtualmachines.virtualmachine.gdc.goog -n \u003cvar translate=\"no\"\u003ePROJECT\u003c/var\u003e\n\n Replace the variables by using the following definitions.\n\n - If the output is `yes`, you have permissions to create a VM in the project \u003cvar translate=\"no\"\u003ePROJECT\u003c/var\u003e.\n - If the output is `no`, you don't have permissions. Contact your Project IAM Admin and request assignment to the Project VirtualMachine Admin (`project-vm-admin`) role in the namespace of the project where the VM resides.\n3. Optional: Verify whether users have access to project-level VM images. For\n example, run the following commands to verify if they can create and use\n `VirtualMachineImage` resources at the project level:\n\n kubectl --kubeconfig \u003cvar translate=\"no\"\u003eMANAGEMENT_API_SERVER\u003c/var\u003e auth can-i get virtualmachineimages.virtualmachine.gdc.goog -n \u003cvar translate=\"no\"\u003ePROJECT\u003c/var\u003e\n\n kubectl --kubeconfig \u003cvar translate=\"no\"\u003eMANAGEMENT_API_SERVER\u003c/var\u003e auth can-i create virtualmachineimageimports.virtualmachine.gdc.goog -n \u003cvar translate=\"no\"\u003ePROJECT\u003c/var\u003e\n\n Replace the variables by using the following definitions.\n\n - If the output is `yes`, the user has permissions to access custom VM images in the project \u003cvar translate=\"no\"\u003ePROJECT\u003c/var\u003e.\n - If the output is `no`, you don't have permissions. Contact your Project IAM Admin role and request assignment to the Project VirtualMachine Image Admin (`project-vm-image-admin`) role in the namespace of the project where the VM resides."]]