Personnaliser votre environnement de développement

Cette page décrit les paramètres de configuration de la station de travail qui vous permettent de personnaliser l'environnement Cloud Workstations, y compris le type de VM, la taille du disque d'accueil, l'image de conteneur de base, etc. Dans l'API, ces paramètres de configuration de station de travail sont collectivement appelés WorkstationConfig.

Avant d'utiliser ces paramètres de configuration de station de travail, familiarisez-vous avec les points suivants:


Ressource REST: projects.locations.workstationClusters.workstationConfigs

Ressource: WorkstationConfig

Ressource de configuration de station de travail dans l'API Cloud Workstations.

Les configurations de stations de travail servent de modèles pour les stations de travail. La configuration de la station de travail définit des détails tels que le type d'instance de machine virtuelle (VM) de la station de travail, le stockage persistant, l'environnement définissant l'image de conteneur, l'IDE ou l'éditeur de code à utiliser, etc. Les administrateurs et les équipes en charge de la plate-forme peuvent également utiliser les règles Identity and Access Management (IAM) pour accorder l'accès à des équipes ou à des développeurs individuels.

Représentation JSON

{
  "name": string,
  "displayName": string,
  "uid": string,
  "reconciling": boolean,
  "annotations": {
    string: string,
    ...
  },
  "labels": {
    string: string,
    ...
  },
  "createTime": string,
  "updateTime": string,
  "deleteTime": string,
  "etag": string,
  "idleTimeout": string,
  "runningTimeout": string,
  "host": {
    object (Host)
  },
  "persistentDirectories": [
    {
      object (PersistentDirectory)
    }
  ],
  "ephemeralDirectories": [
    {
      object (EphemeralDirectory)
    }
  ],
  "container": {
    object (Container)
  },
  "encryptionKey": {
    object (CustomerEncryptionKey)
  },
  "readinessChecks": [
    {
      object (ReadinessCheck)
    }
  ],
  "replicaZones": [
    string
  ],
  "degraded": boolean,
  "conditions": [
    {
      object (Status)
    }
  ],
  "enableAuditAgent": boolean,
  "disableTcpConnections": boolean
}
Champs
name

string

Identifiant. Nom complet de cette configuration de station de travail.

displayName

string

Facultatif. Nom lisible pour cette configuration de station de travail.

uid

string

Uniquement en sortie. Identifiant unique attribué par le système pour cette configuration de station de travail.

reconciling

boolean

Uniquement en sortie. Indique si cette configuration de station de travail est en cours de mise à jour pour qu'elle corresponde à l'état souhaité.

annotations

map (key: string, value: string)

Facultatif. Annotations spécifiées par le client

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

labels

map (key: string, value: string)

Facultatif. Étiquettes qui sont appliquées à la configuration de la station de travail et qui sont également propagées aux ressources Compute Engine sous-jacentes.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

string (Timestamp format)

Uniquement en sortie. Date et heure de création de cette configuration de station de travail.

Code temporel au format RFC3339 UTC "Zulu", avec une résolution à la nanoseconde et jusqu'à neuf chiffres après la virgule. Exemples: "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Uniquement en sortie. Date et heure de la dernière mise à jour de cette configuration de station de travail.

Code temporel au format RFC3339 UTC "Zulu", avec une résolution à la nanoseconde et jusqu'à neuf chiffres après la virgule. Exemples: "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

deleteTime

string (Timestamp format)

Uniquement en sortie. Heure à laquelle cette configuration de station de travail a été supprimée de façon réversible.

Code temporel au format RFC3339 UTC "Zulu", avec une résolution à la nanoseconde et jusqu'à neuf chiffres après la virgule. Exemples: "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

etag

string

Facultatif. Somme de contrôle calculée par le serveur. Peut être envoyé lors des demandes de mise à jour et de suppression pour s'assurer que le client dispose d'une valeur à jour avant de continuer.

idleTimeout

string (Duration format)

Facultatif. Nombre de secondes d'attente avant l'arrêt automatique d'une station de travail après sa dernière réception du trafic utilisateur.

La valeur "0s" indique que les VM Cloud Workstations créées avec cette configuration ne doivent jamais dépasser le délai d'inactivité pour cause d'inactivité. Indiquez la durée arrêtée par s pour les secondes, par exemple, "7200s" (2 heures). La valeur par défaut est "1200s" (20 minutes).

Durée en secondes avec un maximum de neuf chiffres après la virgule, se terminant par "s". Exemple: "3.5s".

runningTimeout

string (Duration format)

Facultatif. Nombre de secondes pendant lesquelles une station de travail peut s'exécuter jusqu'à son arrêt automatique. Nous vous recommandons d'arrêter les stations de travail quotidiennement pour réduire les coûts et afin que les mises à jour de sécurité puissent être appliquées au redémarrage. Les champs idleTimeout et runningTimeout sont indépendants l'un de l'autre. Notez que le champ runningTimeout arrête les VM après le délai spécifié, qu'elles soient inactives ou non.

Indiquez une durée terminée par s pour les secondes, par exemple, "54000s" (15 heures). La valeur par défaut est "43200s" (12 heures). La valeur "0s" indique que les stations de travail utilisant cette configuration ne doivent jamais dépasser le délai. Si encryptionKey est défini, il doit être supérieur à "0s" et inférieur à "86400s" (24 heures).

Avertissement: La valeur "0s" indique que les VM Cloud Workstations créées avec cette configuration n'ont pas de durée d'exécution maximale. Cette opération est fortement déconseillée, car cela entraîne des frais et ne récupère pas les mises à jour de sécurité.

Durée en secondes avec un maximum de neuf chiffres après la virgule, se terminant par "s". Exemple: "3.5s".

host

object (Host)

Facultatif. Hôte d'exécution pour la station de travail.

persistentDirectories[]

object (PersistentDirectory)

Facultatif. Répertoires pour la persistance entre les sessions de station de travail.

ephemeralDirectories[]

object (EphemeralDirectory)

Facultatif. Répertoires éphémères qui ne sont pas conservés entre les sessions de station de travail.

container

object (Container)

Facultatif. Conteneur qui s'exécute au démarrage pour chaque station de travail utilisant cette configuration.

encryptionKey

object (CustomerEncryptionKey)

Immuable. Chiffre les ressources de cette configuration de station de travail à l'aide d'une clé de chiffrement gérée par le client (CMEK).

Si elle est spécifiée, le disque de démarrage de l'instance Compute Engine et le disque persistant sont chiffrés à l'aide de cette clé de chiffrement. Si ce champ n'est pas défini, les disques sont chiffrés à l'aide d'une clé générée. Les clés de chiffrement gérées par le client ne protègent pas les métadonnées du disque.

Si la rotation de la clé de chiffrement gérée par le client est effectuée, lorsque l'instance de la station de travail est arrêtée, le système tente de recréer le disque persistant avec la nouvelle version de la clé. Veillez à conserver les anciennes versions de la clé jusqu'à ce que le disque persistant soit recréé. Sinon, les données du disque persistant risquent d'être perdues.

Si la clé de chiffrement est révoquée, la session de station de travail s'arrête automatiquement dans les sept heures.

Immuable après la création de la configuration de station de travail.

readinessChecks[]

object (ReadinessCheck)

Facultatif. Vérifications d'aptitude à effectuer lors du démarrage d'une station de travail utilisant cette configuration. Marquer une station de travail comme en cours d'exécution uniquement une fois que toutes les vérifications d'aptitude spécifiées ont renvoyé les codes d'état 200

replicaZones[]

string

Facultatif. Immuable. Spécifie les zones utilisées pour répliquer les ressources de VM et de disque dans la région. Si cette option est définie, deux zones exactement dans la région du cluster de stations de travail doivent être spécifiées (par exemple, ['us-central1-a', 'us-central1-f']). Si ce champ est vide, deux zones par défaut sont utilisées dans la région.

Immuable après la création de la configuration de station de travail.

degraded

boolean

Uniquement en sortie. Indique si cette ressource est dégradée, auquel cas une action de l'utilisateur peut être nécessaire pour restaurer toutes les fonctionnalités. Consultez également le champ conditions.

conditions[]

object (Status)

Uniquement en sortie. Conditions d'état décrivant l'état actuel de la ressource.

enableAuditAgent

boolean

Facultatif. Indique si la journalisation Linux auditd doit être activée sur le poste de travail. Lorsque cette option est activée, vous devez également spécifier un compte de service disposant de l'autorisation logging.buckets.write sur le projet. Les journaux d'audit des systèmes d'exploitation sont différents des journaux d'audit Cloud.

disableTcpConnections

boolean

Facultatif. Désactive la prise en charge des connexions TCP standards sur le poste de travail. Par défaut, le service accepte les connexions TCP via un relais WebSocket. Définir cette option sur "true" désactive ce relais, ce qui empêche l'utilisation de services nécessitant des connexions TCP simples, tels que SSH. Lorsque cette option est activée, toutes les communications doivent se faire via HTTPS ou WSS.

Hôte

Hôte d'exécution pour une station de travail.

Représentation JSON

{

  // Union field config can be only one of the following:
  "gceInstance": {
    object (GceInstance)
  }
  // End of list of possible types for union field config.
}
Champs
Champ d'union config. Type d'hôte à utiliser pour l'environnement d'exécution de la station de travail. config ne peut être qu'un des éléments suivants :
gceInstance

object (GceInstance)

Spécifie une instance Compute Engine en tant qu'hôte.

GceInstance

Un environnement d'exécution utilisant une instance Compute Engine.

Représentation JSON

{
  "machineType": string,
  "serviceAccount": string,
  "serviceAccountScopes": [
    string
  ],
  "tags": [
    string
  ],
  "poolSize": integer,
  "pooledInstances": integer,
  "disablePublicIpAddresses": boolean,
  "enableNestedVirtualization": boolean,
  "shieldedInstanceConfig": {
    object (GceShieldedInstanceConfig)
  },
  "confidentialInstanceConfig": {
    object (GceConfidentialInstanceConfig)
  },
  "bootDiskSizeGb": integer,
  "accelerators": [
    {
      object (Accelerator)
    }
  ],
  "disableSsh": boolean
}
Champs
machineType

string

Facultatif. Type de machine à utiliser pour les instances de VM (par exemple, "e2-standard-4"). Pour en savoir plus sur les types de machines compatibles avec Cloud Workstations, consultez la liste des types de machines disponibles.

serviceAccount

string

Facultatif. Adresse e-mail du compte de service pour les VM Cloud Workstations créées avec cette configuration. Si spécifié, assurez-vous que le compte de service dispose de l'autorisation logginglogEntries.create sur le projet afin qu'il puisse écrire des journaux dans Cloud Logging. Si vous utilisez une image de conteneur personnalisé, le compte de service doit disposer de l'autorisation Lecteur Artifact Registry pour extraire l'image spécifiée.

Si, en tant qu'administrateur, vous souhaitez pouvoir effectuer une opération ssh sur la VM sous-jacente, vous devez définir cette valeur sur un compte de service pour lequel vous disposez de l'autorisation iam.serviceAccounts.actAs. À l'inverse, si vous souhaitez que personne ne puisse utiliser ssh sur la VM sous-jacente, utilisez un compte de service pour lequel personne ne dispose de cette autorisation.

Si cette règle n'est pas configurée, les VM s'exécutent avec un compte de service fourni par le service Cloud Workstations, et l'image doit être accessible publiquement.

serviceAccountScopes[]

string

Facultatif. Champs d'application à accorder à serviceAccount. Différents champs d'application sont automatiquement ajoutés en fonction de l'utilisation des fonctionnalités. Si cette option est spécifiée, les utilisateurs des stations de travail avec cette configuration doivent disposer de iam.serviceAccounts.actAs sur le compte de service.

tags[]

string

Facultatif. Tags réseau à ajouter aux VM Compute Engine qui sauvegardent les stations de travail. Cette option applique des tags réseau aux VM créées avec cette configuration. Ces tags réseau permettent de créer des règles de pare-feu.

poolSize

integer

Facultatif. Nombre de VM que le système doit maintenir inactives afin que les nouvelles stations de travail puissent être démarrées rapidement pour les nouveaux utilisateurs. La valeur par défaut est 0 dans l'API.

pooledInstances

integer

Uniquement en sortie. Nombre d'instances actuellement disponibles dans le pool pour un démarrage plus rapide de la station de travail.

disablePublicIpAddresses

boolean

Facultatif. Si cette règle est définie sur "True", les adresses IP publiques sont désactivées pour les VM. Si vous désactivez les adresses IP publiques, vous devez configurer l'accès privé à Google ou Cloud NAT sur votre réseau. Si vous utilisez l'accès privé à Google, et que vous utilisez private.googleapis.com ou restricted.googleapis.com pour Container Registry et Artifact Registry, veillez à configurer des enregistrements DNS pour les domaines *.gcr.io et *.pkg.dev. La valeur par défaut est "false" (les VM ont des adresses IP publiques).

enableNestedVirtualization

boolean

Facultatif. Permet d'activer ou non la virtualisation imbriquée sur les VM Cloud Workstations créées à l'aide de cette configuration de station de travail.

La virtualisation imbriquée vous permet d'exécuter des instances de machines virtuelles (VM) dans votre poste de travail. Avant d'activer la virtualisation imbriquée, tenez compte des points importants suivants. Les instances Cloud Workstations sont soumises aux mêmes restrictions que les instances Compute Engine:

  • Règle d'administration: il se peut que les projets, dossiers ou organisations ne puissent pas créer de VM imbriquées si la contrainte Désactiver la virtualisation imbriquée sur la VM est appliquée dans la règle d'administration. Pour en savoir plus, consultez la section Vérifier si la virtualisation imbriquée est autorisée dans la section Compute Engine.
  • Performances: les VM imbriquées peuvent connaître une baisse des performances d'au moins 10% pour les charges de travail liées au processeur, et potentiellement plus de 10% pour les charges de travail liées aux entrées/sorties.
  • Type de machine: la virtualisation imbriquée ne peut être activée que sur les configurations de station de travail qui spécifient machineType dans la série de machines N1 ou N2.
  • GPU: la virtualisation imbriquée peut ne pas être activée sur les configurations de stations de travail avec accélérateurs.
  • Système d'exploitation: Container-Optimized OS n'est pas compatible avec la virtualisation imbriquée. Lorsque celle-ci est activée, les instances de VM Compute Engine sous-jacentes démarrent à partir d'une image Ubuntu LTS.
shieldedInstanceConfig

object (GceShieldedInstanceConfig)

Facultatif. Un ensemble d'options d'instances protégées Compute Engine.

confidentialInstanceConfig

object (GceConfidentialInstanceConfig)

Facultatif. Ensemble d'options d'instance de Confidential VM Compute Engine.

bootDiskSizeGb

integer

Facultatif. Taille du disque de démarrage de la VM en gigaoctets (Go). La taille minimale du disque de démarrage est de 30 Go. La valeur par défaut est 50 Go.

accelerators[]

object (Accelerator)

Facultatif. Liste indiquant le type et le nombre de cartes d'accélérateur associées à l'instance.

disableSsh

boolean

Facultatif. Indique si l'accès SSH à la VM doit être désactivé.

GceShieldedInstanceConfig

Un ensemble d'options d'instances protégées Compute Engine.

Représentation JSON

{
  "enableSecureBoot": boolean,
  "enableVtpm": boolean,
  "enableIntegrityMonitoring": boolean
}
Champs
enableSecureBoot

boolean

Facultatif. Indique si le démarrage sécurisé est activé sur l'instance.

enableVtpm

boolean

Facultatif. Indique si le module vTPM est activé sur l'instance.

enableIntegrityMonitoring

boolean

Facultatif. Indique si la surveillance de l'intégrité est activée sur l'instance.

GceConfidentialInstanceConfig

Ensemble d'options d'instance de Confidential VM Compute Engine.

Représentation JSON

{
  "enableConfidentialCompute": boolean
}
Champs
enableConfidentialCompute

boolean

Facultatif. Indique si le calcul confidentiel est activé sur l'instance.

Accélérateur

Une carte d'accélérateur associée à l'instance.

Représentation JSON

{
  "type": string,
  "count": integer
}
Champs
type

string

Facultatif. Type de ressource d'accélérateur à associer à l'instance, par exemple "nvidia-tesla-p100".

count

integer

Facultatif. Nombre de cartes d'accélérateur exposées à l'instance.

PersistentDirectory

Un répertoire à conserver entre les sessions de station de travail.

Représentation JSON

{
  "mountPath": string,

  // Union field directory_type can be only one of the following:
  "gcePd": {
    object (GceRegionalPersistentDisk)
  }
  // End of list of possible types for union field directory_type.
}
Champs
mountPath

string

Facultatif. Emplacement de ce répertoire dans la station de travail en cours d'exécution.

Champ d'union directory_type. Découvrez comment implémenter un répertoire persistant. directory_type ne peut être qu'un des éléments suivants :
gcePd

object (GceRegionalPersistentDisk)

Un répertoire PersistentDirectory sauvegardé par un disque persistant Compute Engine.

GceRegionalPersistentDisk

Un répertoire persistant sauvegardé par un disque persistant régional Compute Engine Le champ persistentDirectories est répété, mais il ne peut contenir qu'une seule entrée. Il crée un disque persistant qui s'installe sur la VM du poste de travail à l'adresse /home au démarrage de la session et se dissocie à la fin de celle-ci. Si ce champ est vide, les stations de travail créées avec cette configuration n'ont pas de répertoire d'accueil persistant.

Représentation JSON

{
  "sizeGb": integer,
  "fsType": string,
  "diskType": string,
  "sourceSnapshot": string,
  "reclaimPolicy": enum (ReclaimPolicy)
}
Champs
sizeGb

integer

Facultatif. Capacité en Go d'un répertoire d'accueil persistant pour chaque station de travail créée avec cette configuration. Ce champ doit être vide si sourceSnapshot est défini.

Les valeurs valides sont 10, 50, 100, 200, 500 ou 1000. La valeur par défaut est 200. Si elle est inférieure à 200 Go, la valeur de diskType doit être "pd-balanced" ou "pd-ssd".

fsType

string

Facultatif. Type de système de fichiers avec lequel le disque doit être formaté. L'image du poste de travail doit être compatible avec ce type de système de fichiers. Ce champ doit être vide si sourceSnapshot est défini. La valeur par défaut est "ext4".

diskType

string

Facultatif. Type du disque persistant du répertoire d'accueil. La valeur par défaut est "pd-standard".

sourceSnapshot

string

Facultatif. Nom de l'instantané à utiliser comme source pour le disque. Si ce champ est défini, sizeGb et fsType doivent être vides.

reclaimPolicy

enum (ReclaimPolicy)

Facultatif. Indique si le disque persistant doit être supprimé lors de la suppression de la station de travail. Les valeurs valides sont DELETE et RETAIN. La valeur par défaut est DELETE.

ReclaimPolicy

Valeur représentant ce qui doit arriver au disque après la suppression de la station de travail.

Enums
RECLAIM_POLICY_UNSPECIFIED Ne l'utilisez pas.
DELETE Supprimez le disque persistant lors de la suppression de la station de travail.
RETAIN Conservez le disque persistant lors de la suppression de la station de travail. Un administrateur doit le supprimer manuellement.

EphemeralDirectory

Répertoire éphémère qui ne persiste pas entre les sessions de station de travail. Il est récemment créé à chaque opération de démarrage de la station de travail.

Représentation JSON

{
  "mountPath": string,

  // Union field directory_type can be only one of the following:
  "gcePd": {
    object (GcePersistentDisk)
  }
  // End of list of possible types for union field directory_type.
}
Champs
mountPath

string

Obligatoire. Emplacement de ce répertoire dans la station de travail en cours d'exécution.

Champ d'union directory_type. Implémentation d'un répertoire éphémère directory_type ne peut être qu'un des éléments suivants :
gcePd

object (GcePersistentDisk)

EphemeralDirectory sauvegardé par un disque persistant Compute Engine.

GcePersistentDisk

Un répertoire EphemeralDirectory est sauvegardé par un disque persistant Compute Engine.

Représentation JSON

{
  "diskType": string,
  "sourceSnapshot": string,
  "sourceImage": string,
  "readOnly": boolean
}
Champs
diskType

string

Facultatif. Type de disque à utiliser. La valeur par défaut est "pd-standard".

sourceSnapshot

string

Facultatif. Nom de l'instantané à utiliser comme source pour le disque. Ce champ doit être vide si sourceImage est défini. Ce champ doit être vide si readOnly est défini sur "false". La mise à jour de sourceSnapshot mettra à jour le contenu du répertoire éphémère après le redémarrage de la station de travail. Ce champ est modifiable.

sourceImage

string

Facultatif. Nom de l'image disque à utiliser comme source pour le disque. Ce champ doit être vide si sourceSnapshot est défini. La mise à jour de sourceImage mettra à jour le contenu du répertoire éphémère après le redémarrage de la station de travail. Ce champ est modifiable.

readOnly

boolean

Facultatif. Indique si le disque est en lecture seule. Si la valeur est "true", le disque peut être partagé par plusieurs VM, et sourceSnapshot doit être défini.

Conteneur

Un conteneur Docker

Représentation JSON

{
  "image": string,
  "command": [
    string
  ],
  "args": [
    string
  ],
  "env": {
    string: string,
    ...
  },
  "workingDir": string,
  "runAsUser": integer
}
Champs
image

string

Facultatif. Une image de conteneur Docker qui définit un environnement personnalisé

Cloud Workstations fournit un certain nombre d'images préconfigurées, mais vous pouvez créer vos propres images de conteneurs personnalisées. Si vous utilisez une image privée, le champ host.gceInstance.serviceAccount doit être spécifié dans la configuration de la station de travail. Si vous utilisez une image de conteneur personnalisé, le compte de service doit disposer de l'autorisation Lecteur Artifact Registry pour extraire l'image spécifiée. Sinon, l'image doit être accessible publiquement.

command[]

string

Facultatif. Si cette valeur est définie, elle remplace l'ENTRYPOINT par défaut spécifiée par l'image.

args[]

string

Facultatif. Arguments transmis au point d'entrée.

env

map (key: string, value: string)

Facultatif. Variables d'environnement transmises au point d'entrée du conteneur.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

workingDir

string

Facultatif. Si cette valeur est définie, elle remplace le DIR par défaut spécifié par l'image.

runAsUser

integer

Facultatif. Si cet attribut est défini, il remplace l'utilisateur spécifié dans l'image par l'UID donné.

CustomerEncryptionKey

Une clé de chiffrement gérée par le client (CMEK) pour les ressources Compute Engine de la configuration de station de travail associée. Indiquez le nom de votre clé de chiffrement Cloud KMS et du compte de service par défaut. Nous vous recommandons d'utiliser un compte de service distinct et de suivre les bonnes pratiques relatives à Cloud KMS.

Représentation JSON

{
  "kmsKey": string,
  "kmsKeyServiceAccount": string
}
Champs
kmsKey

string

Immuable. Nom de la clé de chiffrement Google Cloud KMS. Par exemple, "projects/PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY_NAME". La clé doit se trouver dans la même région que la configuration de la station de travail.

kmsKeyServiceAccount

string

Immuable. Compte de service à utiliser avec la clé KMS spécifiée. Nous vous recommandons d'utiliser un compte de service distinct et de suivre les bonnes pratiques KMS. Pour en savoir plus, consultez Séparation des tâches et gcloud kms keys add-iam-policy-binding --member.

ReadinessCheck

Vérification d'aptitude à effectuer sur un poste de travail.

Représentation JSON

{
  "path": string,
  "port": integer
}
Champs
path

string

Facultatif. Chemin d'accès auquel la requête doit être envoyée.

port

integer

Facultatif. Port auquel la requête doit être envoyée.

Méthodes

create

Crée une configuration de station de travail.

delete

Supprime la configuration de station de travail spécifiée.

get

Renvoie la configuration de station de travail demandée.

getIamPolicy

Récupère la stratégie de contrôle d'accès d'une ressource.

list

Renvoie toutes les configurations de station de travail dans le cluster spécifié.

listUsable

Renvoie toutes les configurations de stations de travail du cluster spécifié sur lesquelles l'appelant dispose de l'autorisation "workstations.workstation.create".

patch

Met à jour une configuration de station de travail existante.

setIamPolicy

Définit la stratégie de contrôle d'accès de la ressource spécifiée.

testIamPermissions

Renvoie les autorisations qu'un appelant a sur la ressource spécifiée.