Cette page contient des procédures permettant de créer ou de modifier des instances Cloud SQL afin d'autoriser les utilisateurs ou les comptes de service configurés à utiliser l'authentification IAM pour les bases de données Cloud SQL. Pour en savoir plus sur l'intégration IAM dans Cloud SQL, consultez la page Présentation de l'authentification IAM pour les bases de données Cloud SQL.
Une nouvelle instance possède une base de données postgres
.
Avant de commencer
- Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
-
Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.
-
Vérifiez que la facturation est activée pour votre projet Google Cloud. Découvrez comment vérifier si la facturation est activée sur un projet.
- Installez Google Cloud CLI.
-
Pour initialiser gcloudCLI, exécutez la commande suivante :
gcloud init
-
Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.
-
Vérifiez que la facturation est activée pour votre projet Google Cloud. Découvrez comment vérifier si la facturation est activée sur un projet.
- Installez Google Cloud CLI.
-
Pour initialiser gcloudCLI, exécutez la commande suivante :
gcloud init
- Assurez-vous de disposer des rôles d'administrateur Cloud SQL et de lecteur de Compute sur votre compte utilisateur.
En savoir plus sur les rôles et les autorisations
Configurer de nouvelles instances pour l'authentification IAM pour les bases de données
Cloud SQL utilise une option pour activer et désactiver les connexions des utilisateurs IAM sur une instance. Dans cette procédure, vous activez cette option.
Pour configurer une nouvelle instance utilisant l'authentification IAM pour les bases de données Cloud SQL, procédez comme suit :
Console
-
Dans Google Cloud Console, accédez à la page Instances Cloud SQL.
- Cliquez sur Create Instance (Créer une instance).
- Cliquez sur Choisir PostgreSQL.
- Entrez un nom pour l'ID d'instance. N'incluez pas d'informations sensibles ou personnelles dans le nom de l'instance, car les utilisateurs externes peuvent le voir. Vous n'avez pas besoin d'indiquer l'ID du projet. L'ID du projet est automatiquement inclus le cas échéant (par exemple, dans les fichiers journaux).
- Indiquez le mot de passe de l'utilisateur admin par défaut.
- Dans le menu déroulant Version de la base de données, sélectionnez une version de base de données.
- Dans la section Sélectionner la disponibilité régionale et zonale, sélectionnez la région et la zone de votre instance. Placez l'instance dans la même région que les ressources qui y accèdent. La région que vous sélectionnez ne peut plus être modifiée. En règle générale, il n'est pas nécessaire de spécifier une zone.
- Dans la section Personnaliser votre instance, cliquez sur Afficher les options de configuration, puis développez Options.
- Cliquez sur Ajouter une option.
- Dans le menu déroulant Sélectionner une option, sélectionnez l'option
cloudsql.iam_authentication
. Assurez-vous que le paramètre Activé est sélectionné comme valeur pour cette option, puis cliquez sur OK. - Configurez d'autres paramètres d'instance, si nécessaire. Pour plus d'informations sur les paramètres, consultez la section Paramètres.
- Cliquez sur Créer une instance.
gcloud
Exécutez gcloud sql instances create
avec le paramètre -database-flags
défini sur cloudsql.iam_authentication=on
.
Remplacez les éléments suivants :
- INSTANCE_NAME : le nom de la nouvelle instance
- POSTGRES_VERSION : la version de PosgreSQL (par exemple, POSTGRES_9_6, POSTGRES_10, POSTGRES_11 ou POSTGRES_12)
- NUMBER_OF_CORES : le nombre de cœurs dans la machine
- AMOUNT_OF_MEMORY : la quantité de mémoire dans la machine. Une unité de taille doit être fournie (par exemple, 3 072 Mio ou 9 Gio).
- ZONE : la zone Compute Engine préférée (telle que us-central1-a ou us-central1-b)
- PASSWORD : créez un mot de passe pour l'utilisateur racine.
gcloud sql instances create INSTANCE_NAME \ --database-version=POSTGRES_VERSION \ --cpu=NUMBER_OF_CORES \ --memory=AMOUNT_OF_MEMORY \ --zone=ZONE_NAME \ --root-password=PASSWORD \ --database-flags=cloudsql.iam_authentication=on
REST v1beta4
N'incluez pas d'informations sensibles ou personnelles dans le nom de l'instance, car les utilisateurs externes peuvent le voir.
Vous n'avez pas besoin d'indiquer l'ID du projet, L'ID du projet est automatiquement inclus le cas échéant (par exemple, dans les fichiers journaux).
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- instance-id : ID de l'instance souhaitée
- region : région souhaitée, telle que us-east-1
- project-id : ID de votre projet
- location-id : ID de l'emplacement
- database-version : chaîne d'énumération de la version de base de données.
Par exemple :
POSTGRES_12
- password : mot de passe de l'utilisateur racine
- machine-type : chaîne d'énumération du type (niveau) de machine, comme suit :
db-custom-[CPUS]-[MEMORY_MBS]
Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/locations/location-id/instances
Corps JSON de la requête :
{ "name": "instance-id", "region": "region", "databaseVersion": "database-version", "rootPassword": "password", "settings": { "tier": "machine-type", "backupConfiguration": { "enabled": true }, "databaseFlags": [ { "name": "cloudsql.iam_authentication", "value": "on" } ] } }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-01T19:13:21.834Z", "operationType": "CREATE", "name": "operation-id", "targetId": "instance-id", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id", "targetProject": "project-id" }
Configurer des instances existantes pour l'authentification IAM pour les bases de données Cloud SQL
Pour configurer l'authentification IAM pour les bases de données sur une instance existante :
Console
-
Dans Google Cloud Console, accédez à la page Instances Cloud SQL.
- Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
- Cliquez sur Modifier.
- Dans la section Personnaliser votre instance, développez la section Options.
- Cliquez sur Ajouter une option.
- Dans le menu déroulant Sélectionner une option, sélectionnez l'option
cloudsql.iam_authentication
. Assurez-vous que le paramètre Activé est sélectionné comme valeur pour cette option, puis cliquez sur OK. - Configurez d'autres paramètres d'instance, si nécessaire. Pour plus d'informations sur les paramètres, consultez la section Paramètres.
- Cliquez sur Enregistrer.
gcloud
Pour en savoir plus sur l'installation et le démarrage avec gcloud CLI, consultez la page Installer gcloud CLI. Pour en savoir plus sur le démarrage de Cloud Shell, consultez la page Utiliser Cloud Shell.
Pour cette procédure, exécutez la commande
gcloud
sql instances patch
.
Remplacez l'élément suivant :
- INSTANCE_NAME : le nom de la nouvelle instance
gcloud sql instances patch INSTANCE_NAME \ --database-flags=cloudsql.iam_authentication=on
Cette action réinitialise tous les autres paramètres d'option de base de données existants. Pour plus d'informations sur la définition des options de base de données, consultez la page Définir une option de base de données.
REST v1beta4
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID de votre projet
- location-id : ID de l'emplacement
- instance-id : ID de l'instance souhaitée
- region : région souhaitée
- database-version : chaîne d'énumération de la version de base de données.
Par exemple :
POSTGRES_12
- password : mot de passe de l'utilisateur racine
- machine-type : chaîne d'énumération du type (niveau) de machine, comme suit :
db-custom-[CPUS]-[MEMORY_MBS]
Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/locations/location-id/instances
Corps JSON de la requête :
{ "name": "instance-id", "region": "region", "databaseVersion": "database-version", "rootPassword": "password", "settings": { "tier": "machine-type", "backupConfiguration": { "enabled": true } "databaseFlags": [ { "name": "cloudsql.iam_authentication", "value": "on" } ] } }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-01T19:13:21.834Z", "operationType": "CREATE", "name": "operation-id", "targetId": "instance-id", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id", "targetProject": "project-id" }
Étape suivante
- Apprenez-en davantage sur l'authentification IAM pour les bases de données.
- Apprenez à configurer des connexions à des instances dupliquées avec accès en lecture pour l'authentification IAM pour les bases de données.
- Apprenez à créer des utilisateurs et des comptes de service qui utilisent l'authentification IAM pour les bases de données Cloud SQL.
- Découvrez comment vous connecter à une base de données Cloud SQL avec l'authentification IAM pour les bases de données.
- Apprenez à gérer les utilisateurs et les comptes de service pour l'authentification IAM pour les bases de données.