mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
MSSQL: Configuration of certificate verification for TLS connection (#31865)
Fixes #24589 Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
This commit is contained in:
committed by
GitHub
parent
50fabe8a87
commit
9e4aafa719
@@ -255,6 +255,17 @@ datasources:
|
||||
secureJsonData:
|
||||
password: Password!
|
||||
|
||||
- name: gdev-mssql-tls
|
||||
type: mssql
|
||||
url: localhost:1434
|
||||
database: grafana
|
||||
user: grafana
|
||||
jsonData:
|
||||
encrypt: "true"
|
||||
tlsSkipVerify: true
|
||||
secureJsonData:
|
||||
password: Password!
|
||||
|
||||
- name: gdev-mssql-ds-tests
|
||||
type: mssql
|
||||
url: localhost:1433
|
||||
|
||||
@@ -42,7 +42,7 @@ datasources:
|
||||
version: Flux
|
||||
organization: myorg
|
||||
defaultBucket: mybucket
|
||||
|
||||
|
||||
- name: gdev-influxdb-influxql
|
||||
type: influxdb
|
||||
access: proxy
|
||||
@@ -220,6 +220,17 @@ datasources:
|
||||
secureJsonData:
|
||||
password: Password!
|
||||
|
||||
- name: gdev-mssql-tls
|
||||
type: mssql
|
||||
url: localhost:1434
|
||||
database: grafana
|
||||
user: grafana
|
||||
jsonData:
|
||||
encrypt: "true"
|
||||
tlsSkipVerify: true
|
||||
secureJsonData:
|
||||
password: Password!
|
||||
|
||||
- name: gdev-mssql-ds-tests
|
||||
type: mssql
|
||||
url: mssqltests:1433
|
||||
@@ -259,4 +270,4 @@ datasources:
|
||||
type: loki
|
||||
access: proxy
|
||||
url: http://loki:3100
|
||||
editable: false
|
||||
editable: false
|
||||
|
||||
21
devenv/docker/blocks/mssql_tls/build/Dockerfile
Normal file
21
devenv/docker/blocks/mssql_tls/build/Dockerfile
Normal file
@@ -0,0 +1,21 @@
|
||||
FROM mcr.microsoft.com/mssql/server:2019-CU8-ubuntu-18.04
|
||||
|
||||
WORKDIR /usr/setup
|
||||
COPY setup.sh setup.sql.template entrypoint.sh ./
|
||||
COPY mssql.conf /var/opt/mssql/mssql.conf
|
||||
|
||||
USER root
|
||||
|
||||
RUN chmod +x setup.sh
|
||||
RUN chown -R mssql ./
|
||||
RUN mkdir -p /home/mssql
|
||||
RUN chown -R mssql /home/mssql
|
||||
|
||||
USER mssql
|
||||
|
||||
RUN touch ~/.rnd
|
||||
RUN openssl req -x509 -nodes -newkey rsa:2048 -subj '/CN=mssql_tls' -keyout /var/opt/mssql/mssql.key -out /var/opt/mssql/mssql.pem -days 365
|
||||
RUN chmod 440 /var/opt/mssql/mssql.key
|
||||
RUN chmod 440 /var/opt/mssql/mssql.pem
|
||||
|
||||
CMD /bin/bash ./entrypoint.sh
|
||||
2
devenv/docker/blocks/mssql_tls/build/entrypoint.sh
Normal file
2
devenv/docker/blocks/mssql_tls/build/entrypoint.sh
Normal file
@@ -0,0 +1,2 @@
|
||||
#start SQL Server and run setup script
|
||||
/usr/setup/setup.sh & /opt/mssql/bin/sqlservr
|
||||
5
devenv/docker/blocks/mssql_tls/build/mssql.conf
Normal file
5
devenv/docker/blocks/mssql_tls/build/mssql.conf
Normal file
@@ -0,0 +1,5 @@
|
||||
[network]
|
||||
tlscert = /var/opt/mssql/mssql.pem
|
||||
tlskey = /var/opt/mssql/mssql.key
|
||||
tlsprotocols = 1.2
|
||||
forceencryption = 1
|
||||
13
devenv/docker/blocks/mssql_tls/build/setup.sh
Normal file
13
devenv/docker/blocks/mssql_tls/build/setup.sh
Normal file
@@ -0,0 +1,13 @@
|
||||
#/bin/bash
|
||||
set -eo pipefail
|
||||
|
||||
#wait for the SQL Server to come up
|
||||
sleep 15s
|
||||
|
||||
cat /usr/setup/setup.sql.template | awk '{
|
||||
gsub(/%%DB%%/,"'$MSSQL_DATABASE'");
|
||||
gsub(/%%USER%%/,"'$MSSQL_USER'");
|
||||
gsub(/%%PWD%%/,"'$MSSQL_PASSWORD'")
|
||||
}1' > /usr/setup/setup.sql
|
||||
|
||||
/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P $MSSQL_SA_PASSWORD -d master -i /usr/setup/setup.sql
|
||||
26
devenv/docker/blocks/mssql_tls/build/setup.sql.template
Normal file
26
devenv/docker/blocks/mssql_tls/build/setup.sql.template
Normal file
@@ -0,0 +1,26 @@
|
||||
CREATE LOGIN %%USER%% WITH PASSWORD = '%%PWD%%'
|
||||
GO
|
||||
|
||||
CREATE DATABASE %%DB%%
|
||||
ON
|
||||
( NAME = %%DB%%,
|
||||
FILENAME = '/var/opt/mssql/data/%%DB%%.mdf',
|
||||
SIZE = 500MB,
|
||||
MAXSIZE = 1000MB,
|
||||
FILEGROWTH = 100MB )
|
||||
LOG ON
|
||||
( NAME = %%DB%%_log,
|
||||
FILENAME = '/var/opt/mssql/data/%%DB%%_log.ldf',
|
||||
SIZE = 500MB,
|
||||
MAXSIZE = 1000MB,
|
||||
FILEGROWTH = 100MB );
|
||||
GO
|
||||
|
||||
USE %%DB%%;
|
||||
GO
|
||||
|
||||
CREATE USER %%USER%% FOR LOGIN %%USER%%;
|
||||
GO
|
||||
|
||||
EXEC sp_addrolemember 'db_owner', '%%USER%%';
|
||||
GO
|
||||
18
devenv/docker/blocks/mssql_tls/docker-compose.yaml
Normal file
18
devenv/docker/blocks/mssql_tls/docker-compose.yaml
Normal file
@@ -0,0 +1,18 @@
|
||||
mssql_tls:
|
||||
build:
|
||||
context: docker/blocks/mssql_tls/build
|
||||
environment:
|
||||
ACCEPT_EULA: Y
|
||||
MSSQL_SA_PASSWORD: Password!
|
||||
MSSQL_PID: Developer
|
||||
MSSQL_DATABASE: grafana
|
||||
MSSQL_USER: grafana
|
||||
MSSQL_PASSWORD: Password!
|
||||
ports:
|
||||
- "1434:1433"
|
||||
|
||||
fake-mssql-tls-data:
|
||||
image: grafana/fake-data-gen
|
||||
environment:
|
||||
FD_DATASOURCE: mssql_tls
|
||||
FD_PORT: 1434
|
||||
Reference in New Issue
Block a user