原文链接:https://thesubtlepath.com/mysql-authentication_oci-plugin-for-oracle-cloud/
作者:Andrew Grimo
开始使用身份认证oci插件
有一种新方法可以无缝连接到 Oracle 云基础设施中的 MySQL 数据库服务实例。这是一种不需要密码的方法,可以利用 OCI 用户帐户配置文件中的公钥,无需任何人直接访问该配置文件。它基于其帐户配置文件以及它可能关联的任何 OCI 组派生其访问权限。代理用户的使用也是一个设计选项,但不是必需的。
老实说,这是最简单的身份验证,因为它的设计是隐含的!
一种使 OCI 用户能够访问由用户启用的 MySQL 数据库服务实例的方法,该用户完成了 OCI 配置设置(从此处开始为 MDS),以及 OCI 租户中的完整 OCI 用户配置,特别是他们在“[默认]配置文件”。此默认配置位于任何 OCI 用户的 Web 浏览器会话的右上角,是使用 Oracle 云的关键,特别是此 authentication_oci 功能。
策略设置以使其运行
在下面的示例中,我为此功能配置了一个基于租户的策略(根据需要)以在租户中使用,并且隔离专区名称用引号引起来。
首先,我们需要在租户级别创建一个策略(所以我在根隔间中定义了策略。对于策略更改,从菜单中,我们转到“身份和安全”,然后是“策略”)。
从这里,我们现在可以定义一个策略来启用此功能,如下所示。请注意,此政策根据要求在“TENANCY”处完成。基于租户的配置文件可能最好放在 OCI 根隔间中。这样,只有高级用户才能更改它,而现在是其他用户。
任何用户的默认用户配置文件视图始终在屏幕右上角可用。
如果您还没有为您的 OCI 配置文件设置提供您的私钥,那么现在是时候了!
下面显示的我的个人资料显示将包含***许多编辑***,以免损害我自己的帐户。
列出 OCI 配置 的各个部分
- API 密钥指纹
- OCI 用户的 OCID,它以唯一的方式识别任何用户
- 租赁的 OCID
- 关联的 OCI 区域
- 一个抽象条目显示:“key_file=
# TODO” - 最后,有一个参考指示用户
“Paste the contents of the text box into your” -> ” ~/.oci/config file.”
复制
注意:OCID 是 OCI 中每个可识别组件的唯一 ID 值
一个基本但相关的 MySQL 用户帐户作为此功能的示例!
- 创建用户帐户的租户 OCID
- 用户 OCID
- API RSA 公钥指纹上传到您的 OCI 用户配置文件。
新 MySQL 示例
当您的 MySQL 实例希望允许来自 OCI 子网范围的流量时,请注意 CIDR 块表示法,以最好地在云中启用您的应用程序。
MySQL 10.1.2.64:33060+ ssl SQL > CREATE USER 'andrew1'@'10.1.2.0/24' IDENTIFIED WITH 'authentication_oci' -> AS '{"tenancy" : "ocid1.tenancy.oc1..aaaaaaaa4yet###########qhozb7rja2cwomj4zvpxvqgusrnojr3t5#####", -> "user" : "ocid1.user.oc1..aaaaaaaai77juynho###########2aitvoefvcvcouoto3x3oguvk2hs#####"}'; MySQL 10.1.2.64:33060+ ssl SQL > GRANT USAGE ON *.* TO 'andrew1'@'10.1.2.0/24'; Query OK, 0 rows affected (0.0020 sec)
复制