Cette page décrit les pratiques de gestion des identités et des accès (IAM) pour l'opérateur d'application (AO) sur l'appliance Google Distributed Cloud (GDC) isolée du réseau.
Un fournisseur d'identité (IdP) est une entité système qui crée, gère et maintient les informations d'identité des principaux. L'IdP fournit également des services d'authentification aux applications d'une fédération ou d'un réseau distribué.
Se connecter
Cette section explique comment accéder à vos charges de travail via l'interface utilisateur Web ou l'interface de ligne de commande (CLI).
Se connecter à l'interface utilisateur Web
Cette page explique comment accéder à vos charges de travail et ressources et les gérer dans l'appliance Google Distributed Cloud (GDC) isolée. Il décrit comment s'authentifier, générer des fichiers kubeconfig pour un serveur d'API Management et un cluster Kubernetes, et gérer l'inactivité des sessions. Comprendre ces processus garantit un accès sécurisé et fiable à vos projets et charges de travail.
Accédez à vos charges de travail via la console GDC ou la CLI gdcloud.
Se connecter
Pour vous connecter à la console GDC ou à un cluster, procédez comme suit :
Console
Ouvrez l'URL suivante dans un nouvel onglet de navigateur pour accéder à l'interface utilisateur (UI) de l'appliance GDC air-gapped :
https://GDC_URL
Remplacez GDC_URL
par le nom de domaine que vous utilisez pour accéder à GDC et que l'opérateur d'infrastructure (IO) fournit. Lorsque vous ouvrez une URL pour la première fois, GDC vous redirige vers la page de connexion de votre fournisseur d'identité si l'opérateur d'infrastructure (IO) a configuré la page.
Par exemple, la page suivante s'affiche après la connexion à la console pour une organisation nommée "org-1" :
CLI
Vous pouvez vous connecter à n'importe quel cluster auquel vous êtes autorisé à accéder. Le processus de connexion à l'interface de ligne de commande est le même pour tous les clusters. Vous ne devez fournir que le nom du cluster et son fichier kubeconfig
associé, et vous connecter séparément à chaque cluster.
Avant de vous connecter, assurez-vous d'effectuer les actions suivantes :
- Téléchargez le binaire gdcloud CLI et installez-le sur votre système. Pour en savoir plus, consultez Télécharger la gcloud CLI.
- Configurez et initialisez la configuration par défaut de gdcloud CLI. Veillez à définir l'URL de l'organisation appropriée, qui est utilisée pour récupérer le point de terminaison de configuration de connexion. Pour en savoir plus, consultez Installation de gdcloud CLI.
- Installez le plug-in d'authentification
gdcloud-k8s-auth-plugin
. Pour en savoir plus, consultez Authentification gcloud CLI.
Pour vous connecter à un cluster, procédez comme suit :
Authentifiez votre instance gdcloud CLI pour vous connecter. Il existe deux façons de s'authentifier :
Connexion standard via le navigateur : utilisez ce flux d'authentification lorsque vous vous connectez depuis un navigateur.
gdcloud auth login
Connexion sur un appareil secondaire : utilisez ce flux d'authentification si votre appareil principal ne dispose pas de navigateur. Ce flux lance la connexion sur l'appareil principal sans accès au navigateur, puis la poursuit sur l'appareil secondaire qui a accès au navigateur.
Lancez la connexion sur votre appareil principal sans navigateur :
gdcloud auth login --no-browser
La commande du périphérique principal affiche une autre commande
gdcloud
que vous devez exécuter sur le périphérique secondaire à l'étape c.Répétez l'étape 1 de la section Se connecter à un cluster pour télécharger le certificat sur l'appareil secondaire.
Connectez-vous sur l'appareil secondaire en saisissant la commande imprimée sur l'appareil principal à l'étape a.
Cette action ouvre un navigateur pour vous connecter au fournisseur d'identité (IdP) configuré. Indiquez le nom d'utilisateur et le mot de passe que vous avez définis lors de la configuration initiale de la gcloud CLI pour vous connecter.
Exportez votre fichier d'identité utilisateur
kubeconfig
en tant que variable :export KUBECONFIG=/tmp/admin-kubeconfig-with-user-identity.yaml
Générez un fichier
kubeconfig
avec votre identité utilisateur :gdcloud clusters get-credentials CLUSTER_NAME
Un fichier
kubeconfig
est généré avec votre identité utilisateur. Le fichier YAML suivant en est un exemple :apiVersion: v1 clusters: - cluster: certificate-authority-data: <REDACTED> server: https://10.200.0.32:443 name: cluster-name contexts: - context: cluster: cluster-name user: cluster-name-anthos-default-user name: cluster-name-cluster-name-anthos-default-user current-context: cluster-name-cluster-name-anthos-default-user kind: Config preferences: {} users: - name: cluster-name-anthos-default-user user: exec: apiVersion: client.authentication.k8s.io/v1 args: - --audience=root-admin command: gdcloud-k8s-auth-plugin env: null installHint: Run 'gdcloud components install gdcloud-k8s-auth-plugin' to use plugin interactiveMode: Never provideClusterInfo: false
Pour vérifier que vous pouvez accéder au cluster, connectez-vous avec le fichier
kubeconfig
généré à l'aide d'une identité utilisateur :kubectl --kubeconfig /tmp/admin-kubeconfig-with-user-identity.yaml version
Se déconnecter
Pour vous déconnecter de la console GDC, procédez comme suit :
Console
Cliquez sur
Se déconnecter dans la barre de menu.CLI
Déconnectez-vous de la CLI :
gdcloud auth revoke
Générer manuellement le fichier kubeconfig
Si vous gérez des ressources avec l'CLI kubectl en appelant directement les API KRM, vous devez générer le fichier kubeconfig pour le cluster qui héberge votre ressource, en fonction du type de ressource que vous gérez. Consultez la documentation de la ressource pour déterminer le fichier kubeconfig dont vous avez besoin.
Effectuez la configuration applicable en fonction de votre type de ressource.
Ressources du serveur de l'API Management
Pour générer votre fichier kubeconfig pour le serveur de l'API Management, procédez comme suit :
Définissez la variable d'environnement
MANAGEMENT_API_SERVER
:export MANAGEMENT_API_SERVER="root-admin"
Générez le fichier kubeconfig du serveur de l'API Management et validez les identifiants :
export KUBECONFIG=${HOME}/${MANAGEMENT_API_SERVER:?}-kubeconfig.yaml rm ${KUBECONFIG:?} gdcloud clusters get-credentials ${MANAGEMENT_API_SERVER:?} [[ $(kubectl config current-context) == *${MANAGEMENT_API_SERVER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"
La commande
rm ${KUBECONFIG:?}
supprime le fichier kubeconfig existant dans le répertoire personnel. Lorsque vous générez un fichier kubeconfig, il écrase celui qui existe déjà. Si vous ne souhaitez pas écraser ni supprimer le fichier existant, sauvegardez-le dans un autre emplacement sécurisé.
Ressources de cluster Kubernetes
Pour générer votre fichier kubeconfig pour le cluster Kubernetes Bare Metal, procédez comme suit :
Définissez la variable d'environnement
KUBERNETES_CLUSTER
:export KUBERNETES_CLUSTER="root-infra"
Générez le fichier kubeconfig du cluster Kubernetes et validez les identifiants :
export KUBECONFIG=${HOME}/${KUBERNETES_CLUSTER:?}-kubeconfig.yaml rm ${KUBECONFIG:?} gdcloud clusters get-credentials ${KUBERNETES_CLUSTER:?} [[ $(kubectl config current-context) == *${KUBERNETES_CLUSTER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"
La commande
rm ${KUBECONFIG:?}
supprime le fichier kubeconfig existant dans le répertoire personnel. Lorsque vous générez un fichier kubeconfig, il écrase celui qui existe déjà. Si vous ne souhaitez pas écraser ni supprimer le fichier existant, sauvegardez-le dans un autre emplacement sécurisé.
Déconnexion en cas d'inactivité de la session
Après 15 minutes ou plus d'inactivité dans une session, la console GDC et la CLI gdcloud vous déconnectent. Le GDC considère l'inactivité d'une session comme une période pendant laquelle une session ouverte ne présente aucune activité de votre part, comme aucun mouvement de curseur ou de clavier. Une session active dure jusqu'à 12 heures avec l'activité de l'utilisateur.
Console
En cas d'inactivité de la session, la console GDC vous déconnecte. Deux minutes avant que la console GDC ne vous déconnecte pour inactivité, une boîte de dialogue vous avertit de la déconnexion :
Après vous avoir déconnecté pour cause d'inactivité, l'écran suivant s'affiche :
Pour vous reconnecter à la console GDC, sélectionnez votre fournisseur d'identité et ajoutez vos identifiants de connexion. Si vous utilisez un service, tel que le tableau de bord de surveillance, et que la console GDC vous déconnecte pour cause d'inactivité, reconnectez-vous pour y accéder.
CLI
La CLI gdcloud vous déconnecte en cas d'inactivité de la session. Après que la gdcloud CLI vous a déconnecté et que vous essayez d'exécuter une commande, vous recevez une erreur d'autorisation :
Error: error when creating kube client: unable to create k8sclient: Unauthorized
Pour vous reconnecter à la gcloud CLI, suivez les étapes de la CLI décrites dans Se connecter.
kubectl
La gdcloud CLI fait expirer vos fichiers kubeconfig après une période d'inactivité de la session. Si vous tentez d'exécuter une commande kubectl
après une période d'inactivité, vous recevez une erreur d'autorisation :
error: You must be logged in to the server (Unauthorized)
Pour vous reconnecter et utiliser votre fichier kubeconfig, suivez les étapes de la CLI dans Se connecter. Pour chaque délai d'inactivité de session, vous devez régénérer vos fichiers kubeconfig.
Définir des stratégies d'autorisation IAM
Descriptions des rôles prédéfinis
Un opérateur d'application (AO) est un membre de l'équipe de développement au sein de l'organisation de l'administrateur de plate-forme (PA). Les AO interagissent avec les ressources au niveau du projet. Vous pouvez attribuer les rôles prédéfinis suivants aux membres de l'équipe :
- Administrateur IAM de projets : gère les règles d'autorisation IAM des projets.
- Développeur AI OCR : accédez au service de reconnaissance optique des caractères pour détecter le texte dans les images.
- Développeur AI Speech : accédez au service Speech-to-Text pour reconnaître la voix et transcrire l'audio.
- Développeur de traduction par IA : accédez au service Vertex AI Translation pour traduire du texte.
- Administrateur de la gestion des artefacts : dispose d'un accès administrateur aux ressources de tous les projets Harbor de l'espace de noms du projet.
- Éditeur de gestion des artefacts : dispose d'un accès en lecture et en écriture aux ressources de tous les projets Harbor dans l'espace de noms du projet.
- Administrateur Certificate Authority Service : a accès à la gestion des autorités de certification et des demandes de certificat dans son projet.
- Administrateur du service de certificats : a accès à la gestion des certificats et des émetteurs de certificats dans son projet.
- Éditeur de tableaux de bord : dispose d'un accès en lecture et en écriture aux ressources personnalisées
Dashboard
. - Lecteur de tableaux de bord : dispose d'un accès en lecture seule aux ressources personnalisées
Dashboard
. - Administrateur d'instance Harbor : dispose d'un accès complet pour gérer les instances Harbor dans un projet.
- Lecteur d'instances Harbor : dispose d'un accès en lecture seule pour afficher les instances Harbor dans un projet.
- Créateur de projet Harbor : a accès à la gestion des projets d'instance Harbor.
- Administrateur de règles de réseau K8s : gère les règles de réseau dans les clusters Kubernetes.
- Créateur de LoggingRule : crée des ressources personnalisées
LoggingRule
dans l'espace de noms du projet. - Éditeur LoggingRule : modifie les ressources personnalisées
LoggingRule
dans l'espace de noms du projet. - Lecteur LoggingRule : affiche les ressources personnalisées
LoggingRule
dans l'espace de noms du projet. - Créateur LoggingTarget : crée des ressources personnalisées
LoggingTarget
dans l'espace de noms du projet. - Éditeur LoggingTarget : modifie les ressources personnalisées
LoggingTarget
dans l'espace de noms du projet. - Lecteur LoggingTarget : affiche les ressources personnalisées
LoggingTarget
dans l'espace de noms du projet. - Administrateur d'équilibreur de charge : dispose d'autorisations en lecture et en écriture sur toutes les ressources d'équilibreur de charge dans l'espace de noms du projet.
- Éditeur de MonitoringRule : dispose d'un accès en lecture et en écriture aux ressources
MonitoringRule
. - Lecteur MonitoringRule : dispose d'un accès en lecture seule aux ressources personnalisées
MonitoringRule
. - Éditeur MonitoringTarget : dispose d'un accès en lecture et en écriture aux ressources personnalisées
MonitoringTarget
. - Lecteur MonitoringTarget : dispose d'un accès en lecture seule aux ressources personnalisées
MonitoringTarget
. - Lecteur NAT : dispose d'un accès en lecture seule aux déploiements dans les clusters Kubernetes.
- Administrateur de l'espace de noms : gère toutes les ressources de l'espace de noms du projet.
- Éditeur ObservabilityPipeline : dispose d'un accès en lecture et en écriture aux ressources personnalisées
ObservabilityPipeine
. - Lecteur ObservabilityPipeline : dispose d'un accès en lecture seule aux ressources personnalisées
ObservabilityPipeline
. - Administrateur de buckets du projet : gère les buckets de stockage et les objets qu'ils contiennent.
- Administrateur d'objets de bucket de projet : dispose d'un accès en lecture seule aux buckets d'un projet et d'un accès en lecture et en écriture aux objets de ces buckets.
- Lecteur des objets de bucket du projet : dispose d'un accès en lecture seule aux buckets d'un projet et aux objets qu'ils contiennent.
- Éditeur Alertmanager Project Cortex : accorde les autorisations permettant de modifier l'instance Alertmanager Cortex dans l'espace de noms du projet.
- Lecteur Project Cortex Alertmanager : accorde les autorisations permettant d'accéder à l'instance Cortex Alertmanager dans l'espace de noms du projet.
- Lecteur Prometheus Project Cortex : accorde les autorisations permettant d'accéder à l'instance Prometheus Cortex dans l'espace de noms du projet.
- Lecteur Grafana du projet : accède à l'instance Grafana dans l'espace de noms du projet du cluster d'administrateur de parc.
- Administrateur NetworkPolicy de projet : gère les règles réseau du projet dans l'espace de noms du projet.
- Lecteur du projet : dispose d'un accès en lecture seule à toutes les ressources des espaces de noms du projet.
- Administrateur VirtualMachine du projet : gère les VM dans l'espace de noms du projet.
- Administrateur des images de machine virtuelle du projet : gère les images de VM dans l'espace de noms du projet.
- Administrateur Secret : gère les secrets Kubernetes dans les projets.
- Lecteur de secrets : permet d'afficher les secrets Kubernetes dans les projets.
- Administrateur de la configuration du service : dispose d'un accès en lecture et en écriture aux configurations de service dans un espace de noms de projet.
- Lecteur de configuration de service : dispose d'un accès en lecture aux configurations de service dans un espace de noms de projet.
- Administrateur de la réplication de volumes : gère les ressources de réplication de volumes.
- Administrateur de notebooks Workbench : accès en lecture et en écriture à toutes les ressources de notebooks dans un espace de noms de projet.
- Lecteur de notebooks Workbench : obtenez un accès en lecture seule à toutes les ressources de notebook dans un espace de noms de projet et affichez l'interface utilisateur Vertex AI Workbench.
- Lecteur de charges de travail : dispose d'un accès en lecture aux charges de travail d'un projet.
Rôles courants
Les rôles communs prédéfinis suivants s'appliquent à tous les utilisateurs authentifiés :
- Lecteur AI Platform : accorde l'autorisation d'afficher les services pré-entraînés.
- DNS Suffix Viewer (Afficheur de suffixe DNS) : accède à la carte de configuration du suffixe du service de nom de domaine (DNS).
- Administrateur des journaux de flux : dispose d'un accès en lecture et en écriture à toutes les ressources des journaux de flux.
- Lecteur de journaux de flux : dispose d'un accès en lecture seule à toutes les ressources de journaux de flux.
- Lecteur de découverte de projet : permet à tous les utilisateurs authentifiés d'accéder en lecture à la vue du projet.
- Lecteur d'images publiques : dispose d'un accès en lecture pour tous les utilisateurs authentifiés sur les images de VM publiques dans l'espace de noms
vm-images
. - Surveillance du secret anthos-creds System Artifact Registry : dispose d'un accès en lecture seule aux secrets de l'espace de noms
anthos-creds
. - Surveillance du secret système Artifact Registry gpc-system : dispose d'un accès en lecture seule aux secrets de l'espace de noms
gpc-system
. - Surveillance du secret harbor-system du registre d'artefacts système : dispose d'un accès en lecture seule aux secrets de l'espace de noms
harbor-system
. - Lecteur de types de machines virtuelles : dispose d'un accès en lecture aux types de machines virtuelles à portée de cluster.
- Lecteur de types de VM : dispose d'un accès en lecture aux types de machines virtuelles prédéfinis sur les clusters d'administrateur.
Définitions des rôles
Les tableaux de cette section décrivent différents rôles prédéfinis et leurs autorisations. Les tableaux contiennent les colonnes suivantes :
- Nom : nom d'un rôle affiché dans l'interface utilisateur.
- Nom de la ressource Kubernetes : nom de la ressource personnalisée Kubernetes correspondante.
- Niveau : indique si ce rôle est limité à l'organisation ou à un projet.
- Type : type de ce rôle. Par exemple, les valeurs possibles sont
Role
,ProjectRole
,ClusterRole
ouProjectClusterRole
. - Type de liaison : type de liaison à appliquer à ce rôle.
- Autorisations du serveur de l'API Management ou du cluster Kubernetes : autorisations dont dispose ce rôle pour le serveur de l'API Management ou le cluster Kubernetes. Par exemple, certaines valeurs possibles sont "lecture", "écriture", "lecture et écriture" ou "non applicable&N/A;.
- Escalade vers : indique si ce rôle est associé à d'autres rôles.
Personne AO, identité prédéfinie et rôles d'accès
Personnalité de l'AO | ||||
---|---|---|---|---|
Nom | Nom de la ressource Kubernetes | Administrateur initial | Niveau | Type |
Administrateur de projet IAM | project-iam-admin |
Vrai | Projet | Role |
Développeur AI OCR | ai-ocr-developer |
Faux | Projet | Role |
Lecteur AI Platform | ai-platform-viewer |
Faux | Projet | Role |
Développeur AI Speech | ai-speech-developer |
Faux | Projet | Role |
Développeur de traduction par IA | ai-translation-developer |
Faux | Projet | Role |
Administrateur de la gestion des artefacts | artifact-management-admin |
Faux | Projet | Role |
Éditeur de gestion des artefacts | artifact-management-editor |
Faux | Projet | Role |
Administrateur Certificate Authority Service | certificate-authority-service-admin |
Faux | Projet | Role |
Administrateur du service de certificats | certificate-service-admin |
Faux | Projet | Role |
Éditeur de tableaux de bord | dashboard-editor |
Faux | Projet | Role |
Lecteur de tableaux de bord | dashboard-viewer |
Faux | Projet | Role |
Administrateur d'instance Harbor | harbor-instance-admin |
Faux | Projet | Role |
Lecteur d'instances Harbor | harbor-instance-viewer |
Faux | Projet | Role |
Créateur de projets Harbor | harbor-project-creator |
Faux | Projet | Role |
Administrateur des règles réseau K8s | k8s-networkpolicy-admin |
Faux | Projet | ProjectRole |
Administrateur de l'équilibrage de charge | load-balancer-admin |
Faux | Projet | ProjectRole |
LoggingRule Creator | loggingrule-creator |
Faux | Projet | Role |
Éditeur LoggingRule | loggingrule-editor |
Faux | Projet | Role |
Lecteur de règles de journalisation | loggingrule-viewer |
Faux | Projet | Role |
Créateur de LoggingTarget | loggingtarget-creator |
Faux | Projet | Role |
Éditeur LoggingTarget | loggingtarget-editor |
Faux | Projet | Role |
Visionneuse LoggingTarget | loggingtarget-viewer |
Faux | Projet | Role |
Éditeur MonitoringRule | monitoringrule-editor |
Faux | Projet | Role |
Lecteur MonitoringRule | monitoringrule-viewer |
Faux | Projet | Role |
Éditeur MonitoringTarget | monitoringtarget-editor |
Faux | Projet | Role |
Lecteur MonitoringTarget | monitoringtarget-viewer |
Faux | Projet | Role |
Namespace Admin | namespace-admin |
Faux | Projet | ProjectRole |
Lecteur NAT | nat-viewer |
Faux | Projet | ProjectRole |
Éditeur ObservabilityPipeline | observabilitypipeline-editor |
Faux | Projet | Role |
Lecteur ObservabilityPipeline | observabilitypipeline-viewer |
Faux | Projet | Role |
Administrateur de bucket de projet | project-bucket-admin |
Faux | Projet | Role |
Administrateur des objets de bucket de projet | project-bucket-object-admin |
Faux | Projet | Role |
Lecteur d'objets du bucket de projet | project-bucket-object-viewer |
Faux | Projet | Role |
Éditeur Alertmanager de Project Cortex | project-cortex-alertmanager-editor |
Faux | Projet | Role |
Lecteur Alertmanager Project Cortex | project-cortex-alertmanager-viewer |
Faux | Projet | Role |
Lecteur Prometheus Project Cortex | project-cortex-prometheus-viewer |
Faux | Projet | Role |
Lecteur Grafana de projet | project-grafana-viewer |
Faux | Projet | Role |
Administrateur NetworkPolicy du projet | project-networkpolicy-admin |
Faux | Projet | Role |
Lecteur de projet | project-viewer |
Faux | Projet | Role |
Administrateur VirtualMachine de projet | project-vm-admin |
Faux | Projet | Role |
Administrateur d'images VirtualMachine de projet | project-vm-image-admin |
Faux | Projet | Role |
Administrateur Secret Manager | secret-admin |
Faux | Projet | Role |
Lecteur de secrets | secret-viewer |
Faux | Projet | Role |
Administrateur de la configuration des services | service-configuration-admin |
Faux | Projet | Role |
Lecteur de configuration des services | service-configuration-viewer |
Faux | Projet | Role |
Administrateur Workbench Notebooks | workbench-notebooks-admin |
Faux | Projet | Role |
Administrateur de la réplication de volume | app-volume-replication-admin |
Faux | Cluster | Role |
Lecteur Workbench Notebooks | workbench-notebooks-viewer |
Faux | Projet | Role |
Lecteur de charge de travail | workload-viewer |
Faux | Projet | Role |
Personne AO, identité prédéfinie et rôles d'accès
Personnalité de l'AO | ||||
---|---|---|---|---|
Nom | Type de reliure | Autorisations du serveur de l'API Management | Autorisations du cluster Kubernetes | Remonter à |
Administrateur de projet IAM | RoleBinding |
|
N/A | Tous les autres rôles d'administrateur de l'organisation |
Développeur AI OCR | RoleBinding |
Ressources OCR : lecture et écriture | N/A | N/A |
Développeur AI Speech | RoleBinding |
Ressources vocales : lecture et écriture | N/A | N/A |
Développeur de traduction par IA | RoleBinding |
Ressources de traduction : lecture et écriture | N/A | N/A |
Administrateur de la gestion des artefacts | RoleBinding |
HarborProjects : administrateur, créer, lire, écrire, supprimer et afficher |
N/A | N/A |
Éditeur de gestion des artefacts | RoleBinding |
HarborProjects : lecture, écriture et affichage |
N/A | N/A |
Administrateur Certificate Authority Service | RoleBinding |
Autorités de certification et demandes de certificat : obtenir, lister, surveiller, mettre à jour, créer, supprimer et corriger | N/A | N/A |
Administrateur du service de certificats | RoleBinding |
Certificats et émetteurs de certificats : obtenir, lister, surveiller, mettre à jour, créer, supprimer et corriger | N/A | N/A |
Éditeur de tableaux de bord | RoleBinding |
Ressources personnalisées Dashboard : obtenir, lire, créer, mettre à jour, supprimer et corriger |
N/A | N/A |
Lecteur de tableaux de bord | RoleBinding |
Dashboard : obtenir et lire |
N/A | N/A |
Administrateur d'instance Harbor | RoleBinding |
Instances Harbor : créer, lire, mettre à jour, supprimer et corriger | N/A | N/A |
Lecteur d'instances Harbor | RoleBinding |
Instances Harbor : lire | N/A | N/A |
Créateur de projets Harbor | RoleBinding |
Projets d'instance Harbor : créer, obtenir et surveiller | N/A | N/A |
Administrateur K8s NetworkPolicy | ProjectRoleBinding |
N/A | Ressources NetworkPolicy : créer, lire, obtenir, mettre à jour, supprimer et corriger |
N/A |
Administrateur de l'équilibrage de charge | RoleBinding |
N/A |
|
N/A |
LoggingRule Creator | RoleBinding |
Ressources personnalisées LoggingRule : créer, lire, mettre à jour, supprimer et corriger |
N/A | N/A |
Éditeur LoggingRule | RoleBinding |
Ressources personnalisées LoggingRule : créer, lire, mettre à jour, supprimer et corriger |
N/A | N/A |
Lecteur de règles de journalisation | RoleBinding |
Ressources personnalisées LoggingRule : lisez |
N/A | N/A |
Créateur de LoggingTarget | RoleBinding |
Ressources personnalisées LoggingTarget : créer, lire, mettre à jour, supprimer et corriger |
N/A | N/A |
Éditeur LoggingTarget | RoleBinding |
Ressources personnalisées LoggingTarget : créer, lire, mettre à jour, supprimer et corriger |
N/A | N/A |
Visionneuse LoggingTarget | RoleBinding |
Ressources personnalisées LoggingTarget : lisez |
N/A | N/A |
Éditeur MonitoringRule | RoleBinding |
Ressources personnalisées MonitoringRule : créer, lire, mettre à jour, supprimer et corriger |
N/A | N/A |
Lecteur MonitoringRule | RoleBinding |
Ressources personnalisées MonitoringRule : lisez |
N/A | N/A |
Éditeur MonitoringTarget | RoleBinding |
Ressources personnalisées MonitoringTarget : créer, lire, mettre à jour, supprimer et corriger |
N/A | N/A |
Lecteur MonitoringTarget | RoleBinding |
Ressources personnalisées MonitoringTarget : lisez |
N/A | N/A |
Namespace Admin | ProjectRoleBinding |
N/A | Toutes les ressources : accès en lecture et en écriture dans l'espace de noms du projet | N/A |
Lecteur NAT | ProjectRoleBinding |
N/A | Déploiements : obtenir et lire | N/A |
Éditeur ObservabilityPipeline | RoleBinding |
Ressources ObservabilityPipeline : obtenir, lire, créer, mettre à jour, supprimer et corriger |
N/A | N/A |
Lecteur ObservabilityPipeline | RoleBinding |
Ressources ObservabilityPipeline : obtenir et lire |
N/A | N/A |
Administrateur de bucket de projet | RoleBinding |
Bucket : lecture et écriture dans l'espace de noms du projet | N/A | N/A |
Administrateur des objets de bucket de projet | RoleBinding |
|
N/A | N/A |
Lecteur d'objets du bucket de projet | RoleBinding |
Bucket et objets : lecture | N/A | N/A |
Éditeur Alertmanager de Project Cortex | RoleBinding |
Système Cortex et Cortex Alertmanager : lecture et écriture | N/A | N/A |
Lecteur Alertmanager Project Cortex | RoleBinding |
Système Cortex et Cortex Alertmanager : consultez | N/A | N/A |
Lecteur Prometheus Project Cortex | RoleBinding |
Système Cortex et Cortex Prometheus : consultez | N/A | N/A |
Lecteur Grafana de projet | RoleBinding |
Système Grafana et Grafana : lecture et écriture | N/A | N/A |
Administrateur NetworkPolicy du projet | RoleBinding |
Règles de réseau du projet : lecture et écriture dans l'espace de noms du projet | N/A | N/A |
Lecteur de projet | RoleBinding |
Toutes les ressources de l'espace de noms du projet : lecture | N/A | N/A |
Administrateur VirtualMachine de projet | RoleBinding |
|
N/A | N/A |
Administrateur d'images VirtualMachine de projet | RoleBinding |
|
N/A | N/A |
Administrateur Secret Manager | RoleBinding |
Secrets Kubernetes : lire, créer, mettre à jour, supprimer et corriger | N/A | N/A |
Lecteur de secrets | RoleBinding |
Secrets Kubernetes : lecture | N/A | N/A |
Administrateur de la configuration des services | RoleBinding |
ServiceConfigurations : lecture et écriture
|
N/A | N/A |
Lecteur de configuration des services | RoleBinding |
ServiceConfigurations : Lire
|
N/A | N/A |
Administrateur de la réplication de volume | ClusterRoleBinding |
Volume failovers, volume relationship replicas :
create, get, list, watch, delete
|
N/A | N/A |
Administrateur Workbench Notebooks | RoleBinding |
N/A |
|
N/A |
Lecteur Workbench Notebooks | RoleBinding |
N/A |
|
N/A |
Lecteur de charge de travail | ProjectRoleBinding |
N/A |
|
N/A |
Rôles d'identité et d'accès prédéfinis courants
Rôles courants | ||||
---|---|---|---|---|
Nom | Nom de la ressource Kubernetes | Administrateur initial | Niveau | Type |
Lecteur AI Platform | ai-platform-viewer |
Faux | Projet | Role |
Lecteur de suffixe DNS | dnssuffix-viewer |
Faux | Organisation | Role |
Administrateur des journaux de flux | flowlog-admin |
Faux | Organisation | ClusterRole |
Visionneuse de journaux de flux | flowlog-viewer |
Faux | Projet | ClusterRole |
Lecteur de la détection de projets | projectdiscovery-viewer |
Faux | Projet | ClusterRole |
Visionneuse d'images publiques | public-image-viewer |
Faux | Organisation | Role |
Surveillance du secret anthos-creds System Artifact Registry | sar-anthos-creds-secret-monitor |
Faux | Organisation | Role |
Surveillance du secret système Artifact Registry gpc-system | sar-gpc-system-secret-monitor |
Faux | Organisation | Role |
Moniteur de secret harbor-system System Artifact Registry | sar-harbor-system-secret-monitor |
Faux | Organisation | Role |
Lecteur VirtualMachineType | virtualmachinetype-viewer |
Faux | Organisation | OrganizationRole |
Lecteur de types de VM | vmtype-viewer |
Faux | Organisation | Role |
Rôles d'identité et d'accès prédéfinis courants
Rôles courants | ||||
---|---|---|---|---|
Nom | Type de reliure | Autorisations du cluster d'administrateur | Autorisations du cluster Kubernetes | Remonter à |
Lecteur AI Platform | RoleBinding |
Services pré-entraînés : lire | N/A | N/A |
Lecteur de suffixe DNS | ClusterRoleBinding |
Cartes de configuration du suffixe DNS : lecture | N/A | N/A |
Administrateur des journaux de flux | ClusterRoleBinding |
Ressources de journaux de flux : obtenir et lire | Ressources de journaux de flux : obtenir et lire | N/A |
Visionneuse de journaux de flux | ClusterRoleBinding |
Ressources de journaux de flux : créer, obtenir, lire, corriger, mettre à jour et supprimer | Ressources de journaux de flux : créer, obtenir, lire, corriger, mettre à jour et supprimer | N/A |
Lecteur de la détection de projets | ClusterRoleBinding |
Projets : lecture | N/A | N/A |
Visionneuse d'images publiques | RoleBinding |
Images de VM : lecture | N/A | N/A |
Surveillance du secret anthos-creds System Artifact Registry | RoleBinding |
anthos-creds secrets : obtenir et lire |
anthos-creds secrets : obtenir et lire |
N/A |
Surveillance du secret système Artifact Registry gpc-system | RoleBinding |
gpc-system secrets : obtenir et lire |
gpc-system secrets : obtenir et lire |
N/A |
Moniteur de secret harbor-system System Artifact Registry | RoleBinding |
harbor-system secrets : obtenir et lire |
harbor-system secrets : obtenir et lire |
N/A |
Lecteur VirtualMachineType | OrganizationRoleBinding |
N/A | Types de VM : lecture | N/A |
Lecteur de types de VM | ClusterRoleBinding |
Types de VM : lecture | N/A | N/A |
Il existe deux façons d'accorder l'accès aux ressources :
- Configurer des liaisons de rôles à l'aide de la CLI
- Configurer des liaisons de rôles à l'aide de la console GDC
Configurer des liaisons de rôles à l'aide de la CLI
Accès AO dans le cluster d'administrateur
Contrairement aux opérateurs d'infrastructure (IO) et aux administrateurs de plate-forme (PA), GDC associe les opérateurs d'application (AO) à un Project
via un RoleBinding
, au lieu d'un ClusterRoleBinding
.
Pour accorder à un AO l'accès au cluster d'administrateur, procédez comme suit :
Exportez l'adresse e-mail que vous utilisez pour accéder à AO. Par exemple, un e-mail tel que
ao-alice@example.com
.export AO_EMAIL=AO_EMAIL
Créez une liaison de rôle pour accorder l'accès
${AO_EMAIL}
Administrateur IAM du projet dans l'espace de nomsiam-test
:kubectl create --kubeconfig PA_KUBECONFIG \ rolebinding $AO_EMAIL-project-iam-admin \ --role=project-iam-admin --user=$AO_EMAIL \ --namespace=iam-test
Le rôle
project-iam-admin
est un rôle prédéfini pour GDC. L'espace de noms Kubernetesiam-test
correspond au projetiam-test
dans le cluster d'administrateur.Vérifiez que le compte AO dispose des autorisations nécessaires pour créer des liaisons de rôle dans l'espace de noms
iam-test
:kubectl --kubeconfig AO_KUBECONFIG auth can-i create rolebinding -n iam-test
Le résultat suivant s'affiche :
yes
Créez une liaison de rôle pour accorder l'accès au rôle Lecteur de projet
${AO_EMAIL}
dans l'espace de nomsbar
:kubectl create --kubeconfig PA_KUBECONFIG \ rolebinding $AO_EMAIL-project-viewer \ --role=project-viewer --user=$AO_EMAIL \ --namespace=bar
Le rôle
project-viewer
est un rôle prédéfini pour GDC. L'espace de noms Kubernetesbar
correspond au projetbar
dans le cluster d'administrateur de l'organisation.Vérifiez que le compte AO n'est pas autorisé à créer des liaisons de rôle dans l'espace de noms
bar
:kubectl --kubeconfig AO_KUBECONFIG auth can-i create rolebinding -n bar
Le résultat suivant s'affiche :
no
Facultatif : Supprimez la liaison de rôle pour révoquer l'autorisation accordée au compte AO :
kubectl --kubeconfig PA_KUBECONFIG delete rolebinding $AO_EMAIL-project-iam-admin -n iam-test
Accès AO dans les clusters d'utilisateur
Un AO utilise les ressources ProjectRole
et ProjectRoleBinding
pour accéder à l'espace de noms des clusters d'utilisateur. Toutefois, les administrateurs de parc peuvent accorder des autorisations à l'ensemble de l'organisation AO dans les clusters d'utilisateur à l'aide des ressources prédéfinies OrganizationRole
et ProjectRoleBinding
.
Pour donner accès aux clusters d'utilisateur aux AO, procédez comme suit :
Pour accorder l'accès aux clusters d'utilisateur, vous devez disposer du rôle d'administrateur IAM de projet.
Créez une ressource
ProjectRoleBinding
pour accorder l'accès administrateur à l'espace de noms${AO_EMAIL}
dans tous les clusters d'utilisateur de l'espace de nomsiam-test
:kubectl --kubeconfig AO_KUBECONFIG apply -f - <<EOF apiVersion: resourcemanager.gdc.goog/v1 kind: ProjectRoleBinding metadata: name: ${AO_EMAIL%@*}-namespace-admin namespace: iam-test spec: roleRef: apiGroup: resourcemanager.gdc.goog kind: ProjectRole name: namespace-admin subjects: - apiGroup: rbac.authorization.k8s.io kind: User name: ${AO_EMAIL} EOF
Suivez les instructions de la section Se connecter avec la CLI et kubectl pour obtenir les identifiants utilisateur du cluster d'utilisateur et les exporter dans la variable
AO_USER_CLUSTER_KUBECONFIG
:export AO_USER_CLUSTER_KUBECONFIG=GENERATED_KUBECONFIG
Vérifiez que le compte AO dispose des autorisations nécessaires pour créer des déploiements dans l'espace de noms
iam-test
:kubectl --kubeconfig ${AO_USER_CLUSTER_KUBECONFIG} auth can-i create deployment -n iam-test
Le résultat suivant s'affiche :
yes
Facultatif : Supprimez les liaisons de rôle du projet pour révoquer l'autorisation accordée au compte AO de test :
kubectl --kubeconfig ${AO_USER_CLUSTER_KUBECONFIG} delete projectrolebinding ${AO_EMAIL%@*}-namespace-admin -n iam-test
Configurer des liaisons de rôles à l'échelle du projet à l'aide de l'UI
Un opérateur d'application ajoute d'autres opérateurs d'application au projet afin qu'ils aient accès aux ressources du projet.
Pour obtenir les autorisations nécessaires pour configurer des liaisons de rôle, demandez à votre administrateur IAM de projet de vous accorder le rôle "Administrateur IAM de projet".
Suivez les étapes ci-dessous pour configurer les liaisons de rôle :
- Connectez-vous à la console de l'appliance GDC isolée.
- Sélectionnez un projet.
- Dans le menu de navigation, cliquez sur Gestion des accès.
- Cliquez sur Ajouter un membre.
- Dans la liste Fournisseur d'identité, sélectionnez un fournisseur d'identité.
- Indiquez si vous souhaitez ajouter des utilisateurs individuels ou des groupes.
- Dans le champ Nom d'utilisateur ou alias de groupe, saisissez le nom d'utilisateur, l'adresse e-mail ou l'alias.
- Dans la liste Rôle, sélectionnez le rôle que vous souhaitez attribuer à l'utilisateur ou au groupe, par exemple Lecteur de projet.
- Cliquez sur Ajouter.
Supprimer des liaisons de rôle à l'aide de l'UI
Lorsque l'accès n'est plus nécessaire, supprimez un membre ainsi que les rôles, autorisations et accès qui lui sont associés.
Pour supprimer des membres, procédez comme suit :
- Connectez-vous à la console de l'appliance GDC isolée.
- Sélectionnez un projet.
- Dans le menu de navigation, cliquez sur Gestion des accès.
- Dans la liste Membres autorisés, sélectionnez un membre.
- Cliquez sur Supprimer le membre.
- Lorsque vous y êtes invité, cliquez sur Supprimer le membre pour confirmer.