create-alter-iam-connection.td 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. # Copyright Materialize, Inc. and contributors. All rights reserved.
  2. #
  3. # Use of this software is governed by the Business Source License
  4. # included in the LICENSE file at the root of this repository.
  5. #
  6. # As of the Change Date specified in that file, in accordance with
  7. # the Business Source License, use of this software will be governed
  8. # by the Apache License, Version 2.0.
  9. > CREATE SECRET mysqlpass AS '${arg.mysql-root-password}'
  10. > CREATE CONNECTION aws_conn TO AWS (
  11. ENDPOINT "https://localhost:8080",
  12. REGION "us-east-1",
  13. ASSUME ROLE ARN "arn:aws:iam::123456789012:user/johndoe"
  14. );
  15. > CREATE CONNECTION mysql_conn TO MYSQL (
  16. HOST mysql,
  17. USER root,
  18. AWS CONNECTION aws_conn,
  19. SSL MODE required
  20. ) WITH (VALIDATE false);
  21. > SELECT name, type from mz_connections WHERE id LIKE 'u%'
  22. aws_conn aws
  23. mysql_conn mysql
  24. > SHOW CREATE CONNECTION mysql_conn
  25. materialize.public.mysql_conn "CREATE CONNECTION materialize.public.mysql_conn TO MYSQL (AWS CONNECTION = materialize.public.aws_conn, HOST = mysql, SSL MODE = required, USER = root);"
  26. ! ALTER CONNECTION mysql_conn SET (PASSWORD SECRET mysqlpass);
  27. contains:IAM authentication is not supported with password
  28. ! ALTER CONNECTION mysql_conn DROP (SSL MODE);
  29. contains:IAM authentication requires SSL to be enabled
  30. > DROP CONNECTION mysql_conn;
  31. #
  32. # Error checking
  33. #
  34. ! CREATE CONNECTION iam_or_password_not_both TO MYSQL (
  35. HOST mysql,
  36. USER root,
  37. PASSWORD SECRET mysqlpass,
  38. SSL MODE "required",
  39. AWS CONNECTION aws_conn
  40. );
  41. contains:IAM authentication is not supported with password
  42. ! CREATE CONNECTION iam_requires_ssl TO MYSQL (
  43. HOST mysql,
  44. USER root,
  45. AWS CONNECTION aws_conn
  46. );
  47. contains:IAM authentication requires SSL to be enabled