Cette page explique comment contrôler l'accès aux instances Filestore.
Avec le protocole NFSv4.1 (version preview), vous pouvez utiliser Kerberos pour sécuriser l'accès aux instances Filestore. Pour Pour en savoir plus, consultez la section À propos des protocoles compatibles.
Vous pouvez également utiliser les options Linux pour contrôler l'accès NFS et Identity and Access Management (IAM) pour contrôler l'accès à l'instance telles que la création, la modification, l'affichage et la suppression d'instances. La guide suivant, qui vous guidera à travers chacune de ces tâches.
Paramètres d'exportation du partage de fichiers
Un partage de fichiers Filestore se voit attribuer les paramètres /etc/exports
par défaut suivants :
- La liste des clients, qui identifie les clients autorisés à se connecter au fichier share : contient toutes les adresses IP internes du réseau VPC que vous sélectionnée pour l'instance Filestore. Les adresses IP internes n'importe quelle plage répertoriée dans plages. Toutefois, si vous ont des clients non-RFC 1918 de sous-réseaux, vous devez leur accorder explicitement l'accès Instance Filestore avec Contrôle des accès basé sur les adresses IP.
- L'option
rw
est utilisée, de sorte que le partage de fichiers autorise les opérations de lecture et d'écriture. - L'option de mappage d'ID utilisateur
no_root_squash
est utilisée, de sorte que tous les utilisateurs et groupes, y compris l'utilisateur racine, devraient être identiques sur l'instance Filestore et sur le client. - Toutes les autres options utilisent les valeurs par défaut
/etc/exports
.
Instances de niveau de base
Les instances SSD et HDD de base créent un partage exporté libellé
/config/google-prober
, utilisé pour faciliter les processus de vérification internes, qui
et vérifieront ensuite l'accès, la durabilité ou les performances. Le partage est exporté vers
liste de clients accessible uniquement à l'adresse IP de l'instance, à l'aide du même
comme indiqué dans la section précédente. Le partage est accessible aux vérificateurs
hébergé sur ou provenant de l'instance uniquement et est inaccessible en dehors de
l'instance. L'instance exporte le partage, que ce soit
Contrôle des accès basé sur les adresses IP
est appliqué. Les utilisateurs peuvent voir le partage exporté à l'aide de la commande showmount -e
.
Contrôle des accès basé sur les adresses IP
Vous pouvez modifier ces paramètres d'exportation en créant des règles de contrôle des accès à l'aide de la console Google Cloud ou en spécifiant un fichier de configuration JSON créer une instance à l'aide de la gcloud CLI. Pour en savoir plus, consultez Configurer le contrôle des accès basé sur les adresses IP
Vous pouvez également ajouter de nouvelles règles de contrôle d'accès ou modifier les règles existantes après la création d'une instance. Pour en savoir plus, consultez la section Modifier des instances.
Autorisations de partage de fichiers
Lorsque vous créez une instance Filestore, le partage de fichiers pour cette instance dispose des autorisations de fichier POSIX par défaut rwxr-xr-x
. Ces autorisations
que sur une instance Filestore, seuls les utilisateurs racines
les clients ont un accès en lecture
et en écriture au partage de fichiers. Les autres utilisateurs ont uniquement un accès en lecture par défaut. Les utilisateurs racine du client peuvent modifier les autorisations et les propriétaires.
Configurer l'accès sur un partage de fichiers
Lors de l'installation d'un partage de fichiers, vous pouvez utiliser les options d'installation et les paramètres /etc/fstab
pour déterminer si le partage de fichiers est accessible en écriture et si fichiers peuvent y être exécutés. Après l'installation du
partage de fichiers,
vous pouvez utiliser des commandes Linux standards comme chmod
,
et setfacl
pour définir les autorisations de fichiers
et de partages de fichiers. Seuls les niveaux de base sont compatibles avec setfacl
.
Définir des autorisations cohérentes
Nous vous recommandons vivement de définir des autorisations cohérentes pour chaque utilisateur sur tous les clients qui se connectent à la même instance Filestore afin d'éviter toute élévation des privilèges. Si un partage de fichiers est installé sur plusieurs clients et qu'un utilisateur dispose de privilèges racine sur un client mais pas sur les autres, le scénario d'élévation des privilèges suivant est possible:
- Un utilisateur définit l'attribut
setuid
sur un fichier exécutable à partir du client où il a un accès racine. - L'utilisateur importe ensuite le fichier exécutable dans le partage de fichiers.
- L'utilisateur exécute le fichier importé en tant qu'utilisateur racine sur tout client pour lequel il dispose au moins d'une autorisation de lecture.
Ce scénario est possible, car le bit setuid
permet à l'utilisateur d'exécuter un fichier en utilisant les autorisations du propriétaire du fichier, qui est dans ce cas racine.
Chevauchement d'autorisations
Zonales, régionales et d'entreprise les instances prennent désormais en charge les autorisations qui se chevauchent.
Si deux règles de contrôle des accès distinctes sont définies pour des adresses IP qui se chevauchent la règle définie pour le sous-réseau plus petit est prioritaire.
Par exemple, si un fichier de configuration JSON contient une règle accordant la lecture et
un accès en écriture pour le sous-réseau d'adresses IPv4 10.0.0.0/24
, ainsi qu'une règle distincte
accorde un accès en lecture seule pour le sous-réseau d'adresses IPv4 10.0.0.0/28
, Filestore
reconnaît et applique d'abord la règle
pour le plus petit sous-réseau. L'autre règle est
puis appliqué aux parties restantes
du sous-réseau d'adresses IP défini. Dans ce
exemple, un client utilisant l'adresse IPv4 10.0.0.20
obtient des autorisations de lecture et d'écriture
autorisations, tandis qu'un client utilisant 10.0.0.12
obtient une autorisation en lecture seule:
{
"--file-share":
{
"capacity": "2048",
"name": "my_vol",
"nfs-export-options": [
{
"access-mode": "READ_WRITE",
"ip-ranges": [
"10.0.0.0/24"
],
"squash-mode": "ROOT_SQUASH",
"anon_uid": 1003,
"anon_gid": 1003
},
{
"access-mode": "READ_ONLY",
"ip-ranges": [
"10.0.0.0/28"
],
"squash-mode": "NO_ROOT_SQUASH"
}
]
}
}
Certaines restrictions s'appliquent:
Les autorisations qui se chevauchent pour des sous-réseaux IPv4 identiques ne sont pas prises en charge et renvoient une erreur.
Les autorisations qui se chevauchent ne sont pas disponibles pour les instances SSD ou HDD de base.
Étape suivante
- Configurer le contrôle des accès basé sur les adresses IP ou consultez un exemple.
- Créer des instances
- Modifiez les instances.
- Résolvez les problèmes courants de connexion ou de mise en réseau Filestore.