2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[OCI]OCI Vaultのシークレットを使用してAutonomous Databaseのadminユーザのパスワードを設定してみた

Posted at

はじめに

OCI Vaultのシークレットを使用してAutonomous Databaseのadminユーザのパスワードを設定することができるようになったので、試してみました。

これにより、OCI CLIやAPIを使用してAutonomous Databaseをデプロイするスクリプトを作成する際に、スクリプトにadminユーザのパスワードを埋め込む必要がなくなるため、セキュリティが向上します。

1.ボールトの作成

ボールト「DemoVault」を作成します。
スクリーンショット 2023-03-02 12.59.56.png

スクリーンショット 2023-03-02 12.27.08.png

スクリーンショット 2023-03-02 12.27.30.png

2.マスター暗号化キーの作成

1.で作成したボールト「DemoVault」内にAES256ビットのマスター暗号化キー「MyMasterEncryptionKey」を作成します。

スクリーンショット 2023-03-02 12.28.04.png

スクリーンショット 2023-03-02 12.28.44.png

スクリーンショット 2023-03-02 12.29.43.png

3.シークレットの作成

1.で作成したボールト「DemoVault」内にシークレット「MySecretForADBadmin」を作成します。
暗号化キーとして2.で作成した「MyMasterEncryptionKey」を、シークレット・タイプとして「プレーン・テキスト」を指定し、シークレット・コンテンツとしてadminユーザのパスワードとして設定する文字列(ここではDemo#1Demo#1)を入力します。

スクリーンショット 2023-03-02 12.29.54.png

スクリーンショット 2023-03-02 12.30.09.png

スクリーンショット 2023-03-02 12.32.08.png

スクリーンショット 2023-03-02 12.36.15.png

作成したシークレットの名前をクリックして、シークレットの詳細画面に移動します。

スクリーンショット 2023-03-02 12.36.15のコピー.png

シークレットのOCIDをコピーしてメモしておきます。

スクリーンショット 2023-03-02 12.36.50.png

4.Autonomous Databaseの作成

OCI CLIを使用して、Autonomous Databaseを作成します。
adminユーザのパスワードをシークレットを使用して指定する際は、パラメータ"--secret-id"に、3.で作成したシークレットのOCIDを指定します。

[opc@ocicli ~]$ oci db autonomous-database create --db-workload DW --compartment-id ocid1.compartment.oc1..aXXXXXXXXXXXXXXXXXXXXXXXXXXXXq --display-name secrettest --db-name secrettest --cpu-core-count 1 --data-storage-size-in-tbs 1 --secret-id ocid1.vaultsecret.oc1.ap-tokyo-1.axxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxa
{
  "data": {
    "actual-used-data-storage-size-in-tbs": null,
    "allocated-storage-size-in-tbs": null,
    "apex-details": null,
    "are-primary-whitelisted-ips-used": null,
    "autonomous-container-database-id": null,
    "autonomous-maintenance-schedule-type": "REGULAR",
    "available-upgrade-versions": null,
    "backup-config": {
      "manual-backup-bucket-name": null,
      "manual-backup-type": "NONE"
    },
    "backup-retention-period-in-days": null,
    "character-set": null,
    "compartment-id": "ocid1.compartment.oc1..aXXXXXXXXXXXXXXXXXXXXXXXXXXXXq",
    "compute-count": 1.0,
    "compute-model": "OCPU",
    "connection-strings": {
      "all-connection-strings": null,
      "dedicated": null,
      "high": null,
      "low": null,
      "medium": null,
      "profiles": null
    },
    "connection-urls": {
      "apex-url": null,
      "database-transforms-url": null,
      "graph-studio-url": null,
      "machine-learning-notebook-url": null,
      "machine-learning-user-management-url": null,
      "mongo-db-url": null,
      "ords-url": null,
      "sql-dev-web-url": null
    },
    "cpu-core-count": 1,
    "customer-contacts": null,
    "data-safe-status": "NOT_REGISTERED",
    "data-storage-size-in-gbs": 1024,
    "data-storage-size-in-tbs": 1,
    "database-edition": "ENTERPRISE_EDITION",
    "database-management-status": null,
    "dataguard-region-type": null,
    "db-name": "secrettest",
    "db-tools-details": [
      {
        "compute-count": null,
        "is-enabled": true,
        "max-idle-time-in-minutes": null,
        "name": "APEX"
      },
      {
        "compute-count": null,
        "is-enabled": true,
        "max-idle-time-in-minutes": null,
        "name": "DATA_TRANSFORMS"
      },
      {
        "compute-count": null,
        "is-enabled": true,
        "max-idle-time-in-minutes": null,
        "name": "DATABASE_ACTIONS"
      },
      {
        "compute-count": null,
        "is-enabled": true,
        "max-idle-time-in-minutes": null,
        "name": "GRAPH_STUDIO"
      },
      {
        "compute-count": null,
        "is-enabled": false,
        "max-idle-time-in-minutes": null,
        "name": "MONGODB_API"
      },
      {
        "compute-count": null,
        "is-enabled": true,
        "max-idle-time-in-minutes": null,
        "name": "OML"
      },
      {
        "compute-count": null,
        "is-enabled": true,
        "max-idle-time-in-minutes": null,
        "name": "ORDS"
      }
    ],
    "db-version": null,
    "db-workload": "DW",
    "defined-tags": {},
    "display-name": "secrettest",
    "failed-data-recovery-in-seconds": null,
    "freeform-tags": {},
    "id": "ocid1.autonomousdatabase.oc1.ap-tokyo-1.axxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxq",
    "infrastructure-type": null,
    "is-access-control-enabled": null,
    "is-auto-scaling-enabled": false,
    "is-auto-scaling-for-storage-enabled": false,
    "is-data-guard-enabled": false,
    "is-dedicated": false,
    "is-free-tier": false,
    "is-local-data-guard-enabled": false,
    "is-mtls-connection-required": true,
    "is-preview": false,
    "is-reconnect-clone-enabled": null,
    "is-refreshable-clone": null,
    "is-remote-data-guard-enabled": false,
    "key-history-entry": null,
    "key-store-id": null,
    "key-store-wallet-name": null,
    "kms-key-id": "ORACLE_MANAGED_KEY",
    "kms-key-lifecycle-details": null,
    "kms-key-version-id": null,
    "license-model": "BRING_YOUR_OWN_LICENSE",
    "lifecycle-details": null,
    "lifecycle-state": "PROVISIONING",
    "local-standby-db": null,
    "max-cpu-core-count": null,
    "memory-per-oracle-compute-unit-in-gbs": null,
    "ncharacter-set": null,
    "nsg-ids": null,
    "ocpu-count": null,
    "open-mode": null,
    "operations-insights-status": "NOT_ENABLED",
    "peer-db-ids": null,
    "permission-level": null,
    "private-endpoint": null,
    "private-endpoint-ip": null,
    "private-endpoint-label": null,
    "provisionable-cpus": null,
    "refreshable-mode": null,
    "refreshable-status": null,
    "role": null,
    "scheduled-operations": null,
    "service-console-url": null,
    "source-id": null,
    "standby-db": null,
    "standby-whitelisted-ips": null,
    "subnet-id": null,
    "supported-regions-to-clone-to": null,
    "system-tags": {},
    "time-created": "2023-03-02T03:46:14.980000+00:00",
    "time-data-guard-role-changed": null,
    "time-deletion-of-free-autonomous-database": null,
    "time-local-data-guard-enabled": null,
    "time-maintenance-begin": null,
    "time-maintenance-end": null,
    "time-of-last-failover": null,
    "time-of-last-refresh": null,
    "time-of-last-refresh-point": null,
    "time-of-last-switchover": null,
    "time-of-next-refresh": null,
    "time-reclamation-of-free-autonomous-database": null,
    "time-until-reconnect-clone-enabled": null,
    "total-backup-storage-size-in-gbs": null,
    "used-data-storage-size-in-tbs": null,
    "vault-id": null,
    "whitelisted-ips": null
  },
  "etag": "3543d6e5",
  "opc-work-request-id": "ocid1.coreservicesworkrequest.oc1.ap-tokyo-1.abxhiljrgwqh2md52v5scklpduw2d7vxm2cedwwkjqcnogrgrwzr4ga3di4a"
}
[opc@ocicli ~]$ 

コンソールを確認すると、Autonomous Databaseのプロビジョニングが開始されたことが確認できます。
スクリーンショット 2023-03-02 12.46.34.png
しばらく待つと、Autonomous Databaseが使用可能になります。
スクリーンショット 2023-03-02 12.47.51.png
Autonomous Databaseの名前をクリックして、Autonomous Databaseの詳細画面に移動します。
スクリーンショット 2023-03-02 12.48.05.png

4.Autonomous Databaseへの接続

Autonomous Databaseの詳細画面から接続文字列を取得します。

スクリーンショット 2023-03-02 12.48.05.png

SQL*PlusからAutonomous Databaseにadminユーザとして接続します。
パスワードとして、シークレットのコンテンツとして入力した"Demo#1Demo#1"を入力します。

[opc@ocicli ~]$ sqlplus admin/Demo#1Demo#1@(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1521)(host=adb.ap-tokyo-1.oraclecloud.com))(connect_data=(service_name=**************_secrettest_medium.adb.oraclecloud.com))(security=(ssl_server_dn_match=yes)))

SQL*Plus: Release 21.0.0.0.0 - Production on Thu Mar 2 03:55:24 2023
Version 21.9.0.0.0

Copyright (c) 1982, 2022, Oracle.  All rights reserved.

Last Successful login time: Thu Mar 02 2023 03:48:31 +00:00

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.18.0.1.0

SQL>

OCI Vaultのシークレットを使用して設定したパスワードを使用して、Autonomous Databaseにadminユーザとして接続できることが確認できました。
なお、adminユーザのパスワードを変更する際にもOCI Vaultのシークレットを利用することが可能です。

参考資料

Use Oracle Cloud Infrastructure Vault Secret for ADMIN Password

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?