From 393d9fdce982ffc2ae5b350f0ef9202f8e8a499d Mon Sep 17 00:00:00 2001 From: STeve Huang Date: Mon, 4 Mar 2024 13:31:06 -0500 Subject: [PATCH 1/4] [docs] GCP MySQL IAM authentication support --- .../cloudsql/add-user-account-mysql@2x.png | Bin 0 -> 140377 bytes .../guides/cloudsql/instance-id-mysql@2x.png | Bin 15489 -> 12007 bytes .../database-access/guides/mysql-cloudsql.mdx | 173 ++++++++++++------ .../guides/postgres-cloudsql.mdx | 119 +++--------- .../database-access/aws-troubleshooting.mdx | 12 +- .../cloudsql_create_db_user_account.mdx | 8 + .../cloudsql_download_root_ca.mdx | 10 + .../cloudsql_enable_iam_auth.mdx | 14 ++ .../cloudsql_grant_db_service_account.mdx | 17 ++ .../cloudsql_grant_db_user.mdx | 9 + .../cloudsql_service_account_key.mdx | 13 ++ .../cloudsql_service_credentials.mdx | 19 ++ 12 files changed, 241 insertions(+), 153 deletions(-) create mode 100644 docs/img/database-access/guides/cloudsql/add-user-account-mysql@2x.png create mode 100644 docs/pages/includes/database-access/cloudsql_create_db_user_account.mdx create mode 100644 docs/pages/includes/database-access/cloudsql_download_root_ca.mdx create mode 100644 docs/pages/includes/database-access/cloudsql_enable_iam_auth.mdx create mode 100644 docs/pages/includes/database-access/cloudsql_grant_db_service_account.mdx create mode 100644 docs/pages/includes/database-access/cloudsql_grant_db_user.mdx create mode 100644 docs/pages/includes/database-access/cloudsql_service_account_key.mdx create mode 100644 docs/pages/includes/database-access/cloudsql_service_credentials.mdx diff --git a/docs/img/database-access/guides/cloudsql/add-user-account-mysql@2x.png b/docs/img/database-access/guides/cloudsql/add-user-account-mysql@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9b079bf55a28c8c6c5ee0fe20b420f2d29f3f613 GIT binary patch literal 140377 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 literal 0 HcmV?d00001 diff --git a/docs/img/database-access/guides/cloudsql/instance-id-mysql@2x.png b/docs/img/database-access/guides/cloudsql/instance-id-mysql@2x.png index 35f3850b97b42e2fc17a3f954b87a59c4c0a64ee..29dac1ace8c846740115d6687f8108252243ef5f 100644 GIT binary patch literal 12007 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 diff --git a/docs/pages/database-access/guides/mysql-cloudsql.mdx b/docs/pages/database-access/guides/mysql-cloudsql.mdx index e2b6ee8f8ffe9..78211e9bda58f 100644 --- a/docs/pages/database-access/guides/mysql-cloudsql.mdx +++ b/docs/pages/database-access/guides/mysql-cloudsql.mdx @@ -24,12 +24,47 @@ description: How to configure Teleport database access with GCP Cloud SQL MySQL. Service - (!docs/pages/includes/tctl.mdx!) -## Step 1/5. Create a service account for the Teleport Database Service +## Step 1/7. Enable Cloud SQL IAM authentication -Teleport uses one-time passwords to authenticate with Cloud SQL MySQL. To be -able to authenticate with a database instance, Teleport must run as a service -account that has a few of the "Cloud SQL Admin" role permissions. You can create -a new service account or modify an existing one to add required permissions. +Teleport can access MySQL on GCP Cloud SQL as built-in database users with +passwords or database users with [IAM +authentication](https://cloud.google.com/sql/docs/mysql/iam-authentication) +enabled. + +Teleport generates a one-time password for built-in database users and updates +the database user before each connection. However, this method is only +maintained for legacy reasons and it's highly recommended to use IAM +authentication instead. You can skip this step if only built-in database users +are used. + +(!docs/pages/includes/database-access/cloudsql_enable_iam_auth.mdx type="MySQL" !) + +## Step 2/7. Create a service account to access the MySQL instance + +Teleport uses service accounts to connect to Cloud SQL databases when using IAM +authentication. You can skip this step if only built-in database users are +used. + +(!docs/pages/includes/database-access/cloudsql_create_db_user_account.mdx!) + +(!docs/pages/includes/database-access/cloudsql_grant_db_user.mdx!) + +### Configure authentication for your service account + +Now go back to the Users page of your Cloud SQL instance and add a new user +account. In the sidebar, choose "Cloud IAM" authentication type and add the +service account you've just created: + +![Add Cloud SQL User Account](../../../img/database-access/guides/cloudsql/add-user-account-mysql@2x.png) + +Press "Add". See [Creating and managing IAM +users](https://cloud.google.com/sql/docs/mysql/add-manage-iam-users) in Google +Cloud documentation for more info. + +## Step 3/7. Create a service account for the Teleport Database Service + +The final part of GCP configuration is to create a service account for the +Teleport Database Service. ### Create a service account @@ -41,6 +76,33 @@ page and create another service account: ### Grant permissions +Grant the following permissions to the service account depending on the +how database users are authenticated: + + + + + +(!docs/pages/includes/database-access/cloudsql_grant_db_service_account.mdx!) + + + "Service Account Token Creator", "Cloud SQL Viewer", and "Cloud SQL Admin" + IAM roles include more permissions than the Database Service needs. To further + restrict the service account, you can create a role that includes only the + following permissions: + ```ini + # Used to generate IAM auth tokens when connecting to a database instance. + iam.serviceAccounts.getAccessToken + # Used to check database user type. + cloudsql.users.get + # Used to auto-download the instance's root CA certificate. + cloudsql.instances.get + ``` + + + + + Assign the Service Account the "Cloud SQL Admin" role: ![Grant Cloud SQL Admin to Service Account](../../../img/database-access/guides/cloudsql/service-account-sql-admin-grant@2x.png) @@ -50,9 +112,10 @@ Assign the Service Account the "Cloud SQL Admin" role: Database Service needs to generate one-time user passwords. To further restrict the service account, you can create a role that includes only the following permissions: + ```ini - # Used to download a list of database users. - cloudsql.users.list + # Used to check database user type. + cloudsql.users.get # Used to update a user with a one-time password. cloudsql.users.update # Used to auto-download the instance's root CA certificate. @@ -60,6 +123,10 @@ Assign the Service Account the "Cloud SQL Admin" role: ``` + + + + ### (Optional) Allow only SSL connections (!docs/pages/includes/database-access/cloudsql-ssl.mdx!) @@ -70,20 +137,11 @@ instead of the default `3306` as the default Cloud SQL MySQL listener does not trust generated ephemeral certificates. For this reason, you should make sure to allow port `3307` when using "Allow only SSL connections" with MySQL. -### Create a key for the service account - -Once created, go to that service account's Keys tab and create a new key: - -![Service Account Keys](../../../img/database-access/guides/cloudsql/service-account-keys@2x.png) - -Make sure to choose JSON format: - -![Service Account New Key](../../../img/database-access/guides/cloudsql/service-account-new-key@2x.png) +### (Optional) Create a key for the service account -Save the file. Your Teleport Database Service will need to use it as GCP -application credentials file. +(!docs/pages/includes/database-access/cloudsql_service_account_key.mdx!) -## Step 2/5. Gather Cloud SQL instance information +## Step 4/7. Gather Cloud SQL instance information To connect a Cloud SQL database to Teleport, you'll need to gather a few pieces of information about the instance. @@ -106,15 +164,15 @@ on the "Connect to this instance" panel on the Overview page: ![Instance Public IP](../../../img/database-access/guides/cloudsql/instance-public-ip@2x.png) -- Cloud SQL instance root certificate. +- (Optional) Cloud SQL instance root certificate. -The instance's root certificate is required so Teleport can validate the -certificate presented by the database instance. You can download `server-ca.pem` -file from the Connections tab under Security section: +(!docs/pages/includes/database-access/cloudsql_download_root_ca.mdx!) -![Instance Root Certificate](../../../img/database-access/guides/cloudsql/instance-root-ca@2x.png) +## Step 5/7. Create a Teleport user -## Step 3/5. Set up the Teleport Database Service +(!docs/pages/includes/database-access/create-user.mdx!) + +## Step 6/7. Set up the Teleport Database service (!docs/pages/includes/database-access/token.mdx!) @@ -122,12 +180,6 @@ Install Teleport on the host where you will run the Teleport Database Service: (!docs/pages/includes/install-linux.mdx!) -### Create a user - -(!docs/pages/includes/database-access/create-user.mdx!) - -## Step 4/5. Set up the Teleport Database service - Below is an example of a Database Service configuration file that proxies a single Cloud SQL MySQL database. Save this file as `/etc/teleport.yaml`: @@ -137,12 +189,12 @@ a single Cloud SQL MySQL database. Save this file as `/etc/teleport.yaml`: ```yaml version: v3 teleport: - data_dir: /var/lib/teleport-db + data_dir: /var/lib/teleport nodename: test # Proxy address to connect to. Note that it has to be the proxy address # because the Database Service always connects to the cluster over a reverse # tunnel. - proxy_server: teleport.example.com:3080 + proxy_server: teleport.example.com:443 auth_token: "/tmp/token" db_service: enabled: "yes" @@ -157,7 +209,8 @@ db_service: protocol: "mysql" # Database endpoint. For Cloud SQL use instance's public IP address. uri: "35.1.2.3:3306" - # Path to Cloud SQL instance root certificate you downloaded above. + # (Optional) path to Cloud SQL instance root certificate you downloaded + # manually above. ca_cert_file: /path/to/cloudsql/instance/root.pem # GCP-specific configuration when connecting a Cloud SQL instance. gcp: @@ -182,7 +235,7 @@ proxy_service: ```yaml version: v3 teleport: - data_dir: /var/lib/teleport-db + data_dir: /var/lib/teleport nodename: test # Proxy address to connect to. Use your Teleport Cloud tenant address. proxy_server: mytenant.teleport.sh:443 @@ -200,7 +253,8 @@ db_service: protocol: "mysql" # Database endpoint. For Cloud SQL use instance's public IP address. uri: "35.1.2.3:3306" - # Path to Cloud SQL instance root certificate you downloaded above. + # (Optional) path to Cloud SQL instance root certificate you downloaded + # manually above. ca_cert_file: /path/to/cloudsql/instance/root.pem # GCP-specific configuration when connecting a Cloud SQL instance. gcp: @@ -236,17 +290,7 @@ proxy_service: ### GCP credentials -The Teleport Database Service must have the credentials of `teleport-db-service` GCP -service account we created -[above](#step-15-create-a-service-account-for-the-teleport-database-service) in order to -be able to log in. - -The easiest way to ensure that is to set the `GOOGLE_APPLICATION_CREDENTIALS` -environment variable to point to the JSON credentials file you downloaded -earlier. - -See [Authenticating as a service account](https://cloud.google.com/docs/authentication/production) -in the Google Cloud documentation for more details. +(!docs/pages/includes/database-access/cloudsql_service_credentials.mdx!) ## Step 5/5. Connect @@ -285,12 +329,21 @@ our [RBAC](../rbac.mdx) guide for more details. To retrieve credentials for a database and connect to it: ```code -$ tsh db connect --db-user=alice --db-name=mysql cloudsql +$ tsh db connect --db-user=teleport --db-name=mysql cloudsql ``` - - The `mysql` command-line client should be available in PATH in order to be - able to connect. + + +When connecting as a database user with IAM authentication enabled, use either +the database username or the service account's Email ID. Both the username and +the service account's Email ID are shown on the Users page of your Cloud SQL +instance. + +When connecting as a built-in database user, just use the database username. + To log out of the database and remove credentials: @@ -302,3 +355,21 @@ $ tsh db logout cloudsql $ tsh db logout ``` +## Troubleshooting + +### Error when connecting to a replica instance + +You may encounter the following error when connecting to a replica instance: + +```code +$ tsh db connect --db-user root -n test cloudsql-replica +ERROR 1105 (HY000): Could not update Cloud SQL user "" password: + + The requested operation is not valid for a replica instance. + +... +``` + +Connecting as built-in database users with passwords are not supported for +Cloud SQL replica instances. Please follow this guide to use IAM authentication +instead. diff --git a/docs/pages/database-access/guides/postgres-cloudsql.mdx b/docs/pages/database-access/guides/postgres-cloudsql.mdx index 7891277465d08..bb2019cf5611b 100644 --- a/docs/pages/database-access/guides/postgres-cloudsql.mdx +++ b/docs/pages/database-access/guides/postgres-cloudsql.mdx @@ -31,43 +31,15 @@ videoBanner: br9LZ3ZXqCk Teleport uses [IAM database authentication](https://cloud.google.com/sql/docs/postgres/authentication) with Cloud SQL PostgreSQL instances. -If you're [creating](https://console.cloud.google.com/sql/choose-instance-engine) -a new PostgreSQL instance, make sure to add the `cloudsql.iam_authentication` -database flag under "Customize your instance / Flags" section: +(!docs/pages/includes/database-access/cloudsql_enable_iam_auth.mdx type="PostgreSQL" !) -![Enable IAM Authentication](../../../img/database-access/guides/cloudsql/iam-new-instance@2x.png) - -To check whether IAM authentication is enabled for an existing Cloud SQL instance, -look for the flag on the Configuration panel on the instance's Overview page: - -![Check IAM Authentication](../../../img/database-access/guides/cloudsql/iam-existing-instance@2x.png) - -If it isn't enabled, you can add this flag using the "Edit configuration" dialog -at the bottom of the Configuration panel. Note, changing this setting may -require a database instance reboot. - -## Step 2/7. Create a service account for the database +## Step 2/7. Create a service account to access the PostgreSQL instance Teleport uses service accounts to connect to Cloud SQL databases. -### Create a service account - -Go to the IAM & Admin [Service Accounts](https://console.cloud.google.com/iam-admin/serviceaccounts) -page and create a new service account: - -![Create Service Account](../../../img/database-access/guides/cloudsql/service-account-db@2x.png) - -Press "Create". +(!docs/pages/includes/database-access/cloudsql_create_db_user_account.mdx!) -### Grant permissions - -On the second step grant this service account the "Cloud SQL Instance User" role -which will allow it to connect to Cloud SQL instances using IAM token for -authentication: - -![Grant Cloud SQL Instance User to Service Account](../../../img/database-access/guides/cloudsql/service-account-db-grant@2x.png) - -Press "Done". +(!docs/pages/includes/database-access/cloudsql_grant_db_user.mdx!) ### Configure authentication for your service account @@ -84,7 +56,7 @@ Press "Add" and your Users table should look similar to this: See [Creating and managing IAM users](https://cloud.google.com/sql/docs/postgres/create-manage-iam-users) in Google Cloud documentation for more info. -## Step 3/7. Create a service account for Teleport Database Service +## Step 3/7. Create a service account for the Teleport Database Service The final part of GCP configuration is to create a service account for the Teleport Database Service. @@ -98,23 +70,7 @@ page and create a service account: ### Grant permissions -Assign the Service Account the following IAM roles: - -- "Service Account Token Creator" will allow the Database Service to generate - IAM authentication tokens when connecting to the database as the service account user - we created above. -- Either "Cloud SQL Viewer" or "Cloud SQL Admin": - - "Cloud SQL Viewer" will allow the Database Service to automatically download - your Cloud SQL instance's root CA certificate, but does not support client - certificate authentication. - - "Cloud SQL Admin" will allow the Database Service to automatically download - your Cloud SQL instance's root CA certificate and generate an - ephemeral client certificate when the GCP instance is configured to - "Allow only SSL connections." - -Assign it the "Service Account Token Creator" role: - -![Grant Service Account Token Creator to Service Account](../../../img/database-access/guides/cloudsql/service-account-db-service-grant@2x.png) +(!docs/pages/includes/database-access/cloudsql_grant_db_service_account.mdx!) "Service Account Token Creator", "Cloud SQL Viewer", and "Cloud SQL Admin" @@ -133,18 +89,9 @@ Assign it the "Service Account Token Creator" role: (!docs/pages/includes/database-access/cloudsql-ssl.mdx!) -### Create a key for the service account - -Once created, go to that service account's Keys tab and create a new key: +### (Optional) Create a key for the service account -![Service Account Keys](../../../img/database-access/guides/cloudsql/service-account-keys@2x.png) - -Make sure to choose JSON format: - -![Service Account New Key](../../../img/database-access/guides/cloudsql/service-account-new-key@2x.png) - -Save the file. The Teleport Database Service will need it to be able to generate -IAM auth tokens. +(!docs/pages/includes/database-access/cloudsql_service_account_key.mdx!) ## Step 4/7. Gather Cloud SQL instance information @@ -169,15 +116,15 @@ on the "Connect to this instance" panel on the Overview page: ![Instance Public IP](../../../img/database-access/guides/cloudsql/instance-public-ip@2x.png) -- Cloud SQL instance root certificate. +- (Optional) Cloud SQL instance root certificate. + +(!docs/pages/includes/database-access/cloudsql_download_root_ca.mdx!) -The instance's root certificate is required so Teleport can validate the -certificate presented by the database instance. You can download `server-ca.pem` -file from the Connections tab under Security section: +## Step 5/7. Create a Teleport user -![Instance Root Certificate](../../../img/database-access/guides/cloudsql/instance-root-ca@2x.png) +(!docs/pages/includes/database-access/create-user.mdx!) -## Step 5/7. Set up the Teleport Database Service +## Step 6/7. Set up the Teleport Database service (!docs/pages/includes/database-access/token.mdx!) @@ -185,12 +132,6 @@ Install Teleport on the host where you will run the Teleport Database Service: (!docs/pages/includes/install-linux.mdx!) -### Create a user - -(!docs/pages/includes/database-access/create-user.mdx!) - -## Step 6/7. Set up the Teleport Database service - Below is an example of a Database Service configuration file that proxies a single Cloud SQL PostgreSQL database. Save this to `/etc/teleport.yaml`: @@ -205,7 +146,7 @@ teleport: # Proxy address to connect to. Note that it has to be the proxy address # because the Database Service always connects to the cluster over a reverse # tunnel. - proxy_server: teleport.example.com:3080 + proxy_server: teleport.example.com:443 auth_token: "/tmp/token" db_service: enabled: "yes" @@ -220,7 +161,8 @@ db_service: protocol: "postgres" # Database endpoint. For Cloud SQL use instance's public IP address. uri: "35.1.2.3:5432" - # Path to Cloud SQL instance root certificate you downloaded above. + # (Optional) path to Cloud SQL instance root certificate you downloaded + # manually above. ca_cert_file: /path/to/cloudsql/instance/root.pem # GCP specific configuration when connecting Cloud SQL instance. gcp: @@ -263,7 +205,8 @@ db_service: protocol: "postgres" # Database endpoint. For Cloud SQL use instance's public IP address. uri: "35.1.2.3:5432" - # Path to Cloud SQL instance root certificate you downloaded above. + # (Optional) path to Cloud SQL instance root certificate you downloaded + # manually above. ca_cert_file: /path/to/cloudsql/instance/root.pem # GCP specific configuration when connecting Cloud SQL instance. gcp: @@ -300,23 +243,7 @@ proxy_service: ### GCP credentials -The Teleport Database Service must have credentials of `teleport-db-service` GCP -service account we created -[above](#step-37-create-a-service-account-for-teleport-database-service) in order to be -able to generate IAM auth tokens. - -The easiest way to ensure that is to set the `GOOGLE_APPLICATION_CREDENTIALS` -environment variable to point to the JSON credentials file you downloaded -earlier. - -See [Authenticating as a service account](https://cloud.google.com/docs/authentication/production) -in the Google Cloud documentation for more details. - -If you are using `systemd` to start `teleport`, then you should edit the service's `EnvironmentFile` -to include the following env var: -```code -$ echo 'GOOGLE_APPLICATION_CREDENTIALS=/path/to/credentials.json' | sudo tee -a /etc/default/teleport -``` +(!docs/pages/includes/database-access/cloudsql_service_credentials.mdx!) ## Step 7/7. Connect @@ -365,9 +292,9 @@ $ tsh db connect --db-user=teleport@.iam --db-name=postgres cloudsql When connecting to the database, use the name of the database's service account that you added as an IAM database user - [above](#step-27-create-a-service-account-for-the-database), minus the - `.gserviceaccount.com` suffix. The database user name is shown on the Users - page of your Cloud SQL instance. + [above](#step-27-create-a-service-account-to-access-the-postgresql-instance), + minus the `.gserviceaccount.com` suffix. The database user name is shown on + the Users page of your Cloud SQL instance. diff --git a/docs/pages/includes/database-access/aws-troubleshooting.mdx b/docs/pages/includes/database-access/aws-troubleshooting.mdx index 81e4f7783d136..ac682c2e79050 100644 --- a/docs/pages/includes/database-access/aws-troubleshooting.mdx +++ b/docs/pages/includes/database-access/aws-troubleshooting.mdx @@ -55,7 +55,7 @@ generally required: `role1` or its AWS account should be set as `Principal` in `role2`'s trust policy. - + ```json { "Version": "2012-10-17", @@ -70,8 +70,8 @@ policy. ] } ``` - - + + ```json { "Version": "2012-10-17", @@ -86,8 +86,8 @@ policy. ] } ``` - - + + ```json { "Version": "2012-10-17", @@ -107,7 +107,7 @@ policy. ] } ``` - + diff --git a/docs/pages/includes/database-access/cloudsql_create_db_user_account.mdx b/docs/pages/includes/database-access/cloudsql_create_db_user_account.mdx new file mode 100644 index 0000000000000..7da9176edf26c --- /dev/null +++ b/docs/pages/includes/database-access/cloudsql_create_db_user_account.mdx @@ -0,0 +1,8 @@ +### Create a service account + +Go to the IAM & Admin [Service Accounts](https://console.cloud.google.com/iam-admin/serviceaccounts) +jage and create a new service account: + +![Create Service Account](../../../img/database-access/guides/cloudsql/service-account-db@2x.png) + +Press "Create". diff --git a/docs/pages/includes/database-access/cloudsql_download_root_ca.mdx b/docs/pages/includes/database-access/cloudsql_download_root_ca.mdx new file mode 100644 index 0000000000000..260fe858aa62c --- /dev/null +++ b/docs/pages/includes/database-access/cloudsql_download_root_ca.mdx @@ -0,0 +1,10 @@ +The instance's root certificate is required so Teleport can validate the +certificate presented by the database instance. + +The Database Service can automatically download the instance's root certificate +if the service is granted the `cloudsql.instances.get` permission. + +Alternatively, you can download `server-ca.pem` file from the Connections tab +under Security section: + +![Instance Root Certificate](../../../img/database-access/guides/cloudsql/instance-root-ca@2x.png) diff --git a/docs/pages/includes/database-access/cloudsql_enable_iam_auth.mdx b/docs/pages/includes/database-access/cloudsql_enable_iam_auth.mdx new file mode 100644 index 0000000000000..3def112df022b --- /dev/null +++ b/docs/pages/includes/database-access/cloudsql_enable_iam_auth.mdx @@ -0,0 +1,14 @@ +If you're [creating](https://console.cloud.google.com/sql/choose-instance-engine) +a new {{ type }} instance, make sure to add the `cloudsql.iam_authentication` +database flag under "Customize your instance / Flags" section: + +![Enable IAM Authentication](../../../img/database-access/guides/cloudsql/iam-new-instance@2x.png) + +To check whether IAM authentication is enabled for an existing Cloud SQL instance, +look for the flag on the Configuration panel on the instance's Overview page: + +![Check IAM Authentication](../../../img/database-access/guides/cloudsql/iam-existing-instance@2x.png) + +If it isn't enabled, you can add this flag using the "Edit configuration" dialog +at the bottom of the Configuration panel. Note, changing this setting may +require a database instance reboot. diff --git a/docs/pages/includes/database-access/cloudsql_grant_db_service_account.mdx b/docs/pages/includes/database-access/cloudsql_grant_db_service_account.mdx new file mode 100644 index 0000000000000..619ddc10c46cb --- /dev/null +++ b/docs/pages/includes/database-access/cloudsql_grant_db_service_account.mdx @@ -0,0 +1,17 @@ +Assign the Service Account the following IAM roles: + +- "Service Account Token Creator" will allow the Database Service to generate + IAM authentication tokens when connecting to the database as the service account user + we created above. +- Either "Cloud SQL Viewer" or "Cloud SQL Admin": + - "Cloud SQL Viewer" will allow the Database Service to automatically download + your Cloud SQL instance's root CA certificate, but does not support client + certificate authentication. + - "Cloud SQL Admin" will allow the Database Service to automatically download + your Cloud SQL instance's root CA certificate and generate an + ephemeral client certificate when the GCP instance is configured to + "Allow only SSL connections." + +Assign it the "Service Account Token Creator" role: + +![Grant Service Account Token Creator to Service Account](../../../img/database-access/guides/cloudsql/service-account-db-service-grant@2x.png) diff --git a/docs/pages/includes/database-access/cloudsql_grant_db_user.mdx b/docs/pages/includes/database-access/cloudsql_grant_db_user.mdx new file mode 100644 index 0000000000000..9b72778736f1d --- /dev/null +++ b/docs/pages/includes/database-access/cloudsql_grant_db_user.mdx @@ -0,0 +1,9 @@ +### Grant permissions + +On the second step grant this service account the "Cloud SQL Instance User" role +which will allow it to connect to Cloud SQL instances using IAM token for +authentication: + +![Grant Cloud SQL Instance User to Service Account](../../../img/database-access/guides/cloudsql/service-account-db-grant@2x.png) + +Press "Done". diff --git a/docs/pages/includes/database-access/cloudsql_service_account_key.mdx b/docs/pages/includes/database-access/cloudsql_service_account_key.mdx new file mode 100644 index 0000000000000..a84b5ad957b06 --- /dev/null +++ b/docs/pages/includes/database-access/cloudsql_service_account_key.mdx @@ -0,0 +1,13 @@ +You can directly [attach the service account to a +VM](https://cloud.google.com/compute/docs/instances/change-service-account). + +Alternatively, go to that service account's Keys tab and create a new key: + +![Service Account Keys](../../../img/database-access/guides/cloudsql/service-account-keys@2x.png) + +Make sure to choose JSON format: + +![Service Account New Key](../../../img/database-access/guides/cloudsql/service-account-new-key@2x.png) + +Save the file. Your Teleport Database Service will need to use it as GCP +application credentials file. diff --git a/docs/pages/includes/database-access/cloudsql_service_credentials.mdx b/docs/pages/includes/database-access/cloudsql_service_credentials.mdx new file mode 100644 index 0000000000000..84d723e89db7b --- /dev/null +++ b/docs/pages/includes/database-access/cloudsql_service_credentials.mdx @@ -0,0 +1,19 @@ +The Teleport Database Service must have credentials of `teleport-db-service` +GCP service account we created in step 3 in order to be able to generate IAM auth +tokens. + +If the Teleport Database Service is hosted on a VM, you can [change the +attached service +account](https://cloud.google.com/compute/docs/instances/change-service-account). + +Alternatively, set the `GOOGLE_APPLICATION_CREDENTIALS` environment variable to +point to the JSON credentials file you downloaded earlier. If you are using +`systemd` to start `teleport`, then you should edit the service's +`EnvironmentFile` to include the following env var: +```code +$ echo 'GOOGLE_APPLICATION_CREDENTIALS=/path/to/credentials.json' | sudo tee -a /etc/default/teleport +``` + +See [Authenticating as a service +account](https://cloud.google.com/docs/authentication/production) in the Google +Cloud documentation for more details. From 249de080df91c2be7ceeff146753164323299a60 Mon Sep 17 00:00:00 2001 From: STeve Huang Date: Tue, 5 Mar 2024 09:49:08 -0500 Subject: [PATCH 2/4] review comments --- docs/pages/database-access/guides/mysql-cloudsql.mdx | 3 +-- docs/pages/database-access/guides/postgres-cloudsql.mdx | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/pages/database-access/guides/mysql-cloudsql.mdx b/docs/pages/database-access/guides/mysql-cloudsql.mdx index 78211e9bda58f..060b17cdf3061 100644 --- a/docs/pages/database-access/guides/mysql-cloudsql.mdx +++ b/docs/pages/database-access/guides/mysql-cloudsql.mdx @@ -28,8 +28,7 @@ description: How to configure Teleport database access with GCP Cloud SQL MySQL. Teleport can access MySQL on GCP Cloud SQL as built-in database users with passwords or database users with [IAM -authentication](https://cloud.google.com/sql/docs/mysql/iam-authentication) -enabled. +authentication](https://cloud.google.com/sql/docs/mysql/iam-authentication). Teleport generates a one-time password for built-in database users and updates the database user before each connection. However, this method is only diff --git a/docs/pages/database-access/guides/postgres-cloudsql.mdx b/docs/pages/database-access/guides/postgres-cloudsql.mdx index bb2019cf5611b..5e224d10cec42 100644 --- a/docs/pages/database-access/guides/postgres-cloudsql.mdx +++ b/docs/pages/database-access/guides/postgres-cloudsql.mdx @@ -124,7 +124,7 @@ on the "Connect to this instance" panel on the Overview page: (!docs/pages/includes/database-access/create-user.mdx!) -## Step 6/7. Set up the Teleport Database service +## Step 6/7. Set up the Teleport Database Service (!docs/pages/includes/database-access/token.mdx!) From 2a53398c6778b6f4d1f95287c9bb89282cd4dcc7 Mon Sep 17 00:00:00 2001 From: STeve Huang Date: Tue, 5 Mar 2024 10:40:44 -0500 Subject: [PATCH 3/4] remove legacy OTP flow --- .../database-access/guides/mysql-cloudsql.mdx | 59 +++---------------- 1 file changed, 7 insertions(+), 52 deletions(-) diff --git a/docs/pages/database-access/guides/mysql-cloudsql.mdx b/docs/pages/database-access/guides/mysql-cloudsql.mdx index 060b17cdf3061..efaa607d352f7 100644 --- a/docs/pages/database-access/guides/mysql-cloudsql.mdx +++ b/docs/pages/database-access/guides/mysql-cloudsql.mdx @@ -26,23 +26,15 @@ description: How to configure Teleport database access with GCP Cloud SQL MySQL. ## Step 1/7. Enable Cloud SQL IAM authentication -Teleport can access MySQL on GCP Cloud SQL as built-in database users with -passwords or database users with [IAM -authentication](https://cloud.google.com/sql/docs/mysql/iam-authentication). - -Teleport generates a one-time password for built-in database users and updates -the database user before each connection. However, this method is only -maintained for legacy reasons and it's highly recommended to use IAM -authentication instead. You can skip this step if only built-in database users -are used. +Teleport uses [IAM +authentication](https://cloud.google.com/sql/docs/mysql/iam-authentication) +with Cloud SQL MySQL instances. (!docs/pages/includes/database-access/cloudsql_enable_iam_auth.mdx type="MySQL" !) ## Step 2/7. Create a service account to access the MySQL instance -Teleport uses service accounts to connect to Cloud SQL databases when using IAM -authentication. You can skip this step if only built-in database users are -used. +Teleport uses service accounts to connect to Cloud SQL databases. (!docs/pages/includes/database-access/cloudsql_create_db_user_account.mdx!) @@ -75,13 +67,6 @@ page and create another service account: ### Grant permissions -Grant the following permissions to the service account depending on the -how database users are authenticated: - - - - - (!docs/pages/includes/database-access/cloudsql_grant_db_service_account.mdx!) @@ -99,33 +84,6 @@ how database users are authenticated: ``` - - - -Assign the Service Account the "Cloud SQL Admin" role: - -![Grant Cloud SQL Admin to Service Account](../../../img/database-access/guides/cloudsql/service-account-sql-admin-grant@2x.png) - - - The default "Cloud SQL Admin" IAM role includes more permissions than the - Database Service needs to generate one-time user passwords. To further restrict - the service account, you can create a role that includes only the following - permissions: - - ```ini - # Used to check database user type. - cloudsql.users.get - # Used to update a user with a one-time password. - cloudsql.users.update - # Used to auto-download the instance's root CA certificate. - cloudsql.instances.get - ``` - - - - - - ### (Optional) Allow only SSL connections (!docs/pages/includes/database-access/cloudsql-ssl.mdx!) @@ -336,12 +294,9 @@ $ tsh db connect --db-user=teleport --db-name=mysql cloudsql title="What database user name to use?" > -When connecting as a database user with IAM authentication enabled, use either -the database username or the service account's Email ID. Both the username and -the service account's Email ID are shown on the Users page of your Cloud SQL -instance. - -When connecting as a built-in database user, just use the database username. +When connecting to the database, use either the database user name or the +service account's Email ID. Both the user name and the service account's Email +ID are shown on the Users page of your Cloud SQL instance. From 23a6e2ab34c84291992015e296db323522f1860d Mon Sep 17 00:00:00 2001 From: STeve Huang Date: Wed, 6 Mar 2024 16:27:54 -0500 Subject: [PATCH 4/4] address review comments --- docs/pages/database-access/guides/mysql-cloudsql.mdx | 12 ++++++++++-- .../database-access/guides/postgres-cloudsql.mdx | 12 ++++++++++-- .../cloudsql_create_db_user_account.mdx | 2 +- .../database-access/cloudsql_enable_iam_auth.mdx | 4 ++-- .../database-access/cloudsql_service_credentials.mdx | 9 ++------- 5 files changed, 25 insertions(+), 14 deletions(-) diff --git a/docs/pages/database-access/guides/mysql-cloudsql.mdx b/docs/pages/database-access/guides/mysql-cloudsql.mdx index efaa607d352f7..e86d6537c22eb 100644 --- a/docs/pages/database-access/guides/mysql-cloudsql.mdx +++ b/docs/pages/database-access/guides/mysql-cloudsql.mdx @@ -32,7 +32,7 @@ with Cloud SQL MySQL instances. (!docs/pages/includes/database-access/cloudsql_enable_iam_auth.mdx type="MySQL" !) -## Step 2/7. Create a service account to access the MySQL instance +## Step 2/7. Create a service account for a database user Teleport uses service accounts to connect to Cloud SQL databases. @@ -249,7 +249,7 @@ proxy_service: (!docs/pages/includes/database-access/cloudsql_service_credentials.mdx!) -## Step 5/5. Connect +## Step 7/7. Connect Once the Database Service has joined the cluster, log in to see the available databases: @@ -327,3 +327,11 @@ ERROR 1105 (HY000): Could not update Cloud SQL user "" password: Connecting as built-in database users with passwords are not supported for Cloud SQL replica instances. Please follow this guide to use IAM authentication instead. + +## Next steps + +(!docs/pages/includes/database-access/guides-next-steps.mdx!) + +- Learn more about [authenticating as a service + account](https://cloud.google.com/docs/authentication#service-accounts) in + Google Cloud. diff --git a/docs/pages/database-access/guides/postgres-cloudsql.mdx b/docs/pages/database-access/guides/postgres-cloudsql.mdx index 5e224d10cec42..485252ffe2cf3 100644 --- a/docs/pages/database-access/guides/postgres-cloudsql.mdx +++ b/docs/pages/database-access/guides/postgres-cloudsql.mdx @@ -33,7 +33,7 @@ with Cloud SQL PostgreSQL instances. (!docs/pages/includes/database-access/cloudsql_enable_iam_auth.mdx type="PostgreSQL" !) -## Step 2/7. Create a service account to access the PostgreSQL instance +## Step 2/7. Create a service account for a database user Teleport uses service accounts to connect to Cloud SQL databases. @@ -292,7 +292,7 @@ $ tsh db connect --db-user=teleport@.iam --db-name=postgres cloudsql When connecting to the database, use the name of the database's service account that you added as an IAM database user - [above](#step-27-create-a-service-account-to-access-the-postgresql-instance), + [above](#step-27-create-a-service-account-for-a-database-user), minus the `.gserviceaccount.com` suffix. The database user name is shown on the Users page of your Cloud SQL instance. @@ -310,3 +310,11 @@ $ tsh db logout ## Troubleshooting (!docs/pages/includes/database-access/pg-cancel-request-limitation.mdx!) + +## Next steps + +(!docs/pages/includes/database-access/guides-next-steps.mdx!) + +- Learn more about [authenticating as a service + account](https://cloud.google.com/docs/authentication#service-accounts) in + Google Cloud. diff --git a/docs/pages/includes/database-access/cloudsql_create_db_user_account.mdx b/docs/pages/includes/database-access/cloudsql_create_db_user_account.mdx index 7da9176edf26c..bbada541926ba 100644 --- a/docs/pages/includes/database-access/cloudsql_create_db_user_account.mdx +++ b/docs/pages/includes/database-access/cloudsql_create_db_user_account.mdx @@ -1,7 +1,7 @@ ### Create a service account Go to the IAM & Admin [Service Accounts](https://console.cloud.google.com/iam-admin/serviceaccounts) -jage and create a new service account: +page and create a new service account: ![Create Service Account](../../../img/database-access/guides/cloudsql/service-account-db@2x.png) diff --git a/docs/pages/includes/database-access/cloudsql_enable_iam_auth.mdx b/docs/pages/includes/database-access/cloudsql_enable_iam_auth.mdx index 3def112df022b..42a7498084426 100644 --- a/docs/pages/includes/database-access/cloudsql_enable_iam_auth.mdx +++ b/docs/pages/includes/database-access/cloudsql_enable_iam_auth.mdx @@ -10,5 +10,5 @@ look for the flag on the Configuration panel on the instance's Overview page: ![Check IAM Authentication](../../../img/database-access/guides/cloudsql/iam-existing-instance@2x.png) If it isn't enabled, you can add this flag using the "Edit configuration" dialog -at the bottom of the Configuration panel. Note, changing this setting may -require a database instance reboot. +at the bottom of the Configuration panel. Changing this setting may require a +database instance reboot. diff --git a/docs/pages/includes/database-access/cloudsql_service_credentials.mdx b/docs/pages/includes/database-access/cloudsql_service_credentials.mdx index 84d723e89db7b..8c5641039d774 100644 --- a/docs/pages/includes/database-access/cloudsql_service_credentials.mdx +++ b/docs/pages/includes/database-access/cloudsql_service_credentials.mdx @@ -1,6 +1,5 @@ -The Teleport Database Service must have credentials of `teleport-db-service` -GCP service account we created in step 3 in order to be able to generate IAM auth -tokens. +The Teleport Database Service must have credentials for the +`teleport-db-service` GCP service account we created in step 3. If the Teleport Database Service is hosted on a VM, you can [change the attached service @@ -13,7 +12,3 @@ point to the JSON credentials file you downloaded earlier. If you are using ```code $ echo 'GOOGLE_APPLICATION_CREDENTIALS=/path/to/credentials.json' | sudo tee -a /etc/default/teleport ``` - -See [Authenticating as a service -account](https://cloud.google.com/docs/authentication/production) in the Google -Cloud documentation for more details.