※ 本記事は、Simone Traversariによる”Maintain strong security posture with Oracle Enterprise Management Agent Cloud Management Gateway setup“を翻訳したものです。
2023年3月2日
これまでの投稿では、OCIでOracle Enterprise Manager(OEM)データを使用して新しいインサイトを引き出す方法について説明しました。このブログでは、OCIでOEMデータを使用して、より多くのインサイトを引き出すというトピックについて詳しく説明します。OEMエージェントとOCI間のプロキシとしてCloud Management Gatewayを使用するようにOEMを構成する方法について説明します。このアプローチは、アウトバウンド・インターネット接続が特定のサブネットまたはホストからのみ許可される複雑な環境で役立ちます。このように、OCI Observability & Management(O&M)機能が採用され、オンプレミス・インフラストラクチャの強力なセキュリティ体制を維持するために使用されます。
複数のデータベース・サーバーがオンプレミス設定でOEMによって監視されるシナリオについて考えてみます。前述のブログ・リファレンスで説明されているように、Oracle Cloud O&Mプラットフォーム・サービスと共有することで、このデータへのインサイトを有効にできます。
Cloud Management Gatewayを使用するOEMの構成
各OEMエージェントからの接続に対するOCIアウトバウンドを回避するには、OCIサービスにアクセスするための一意のエントリ・ポイントとしてCloud Management Gatewayを使用します。エントリ・ポイントを有効にするには、ネットワーク内の単一ホストからOCIへのアウトバウンドHTTPSポートを開きます。これは、OEMホストまたはCloud Management Gateway用の専用VMです。
これは、次のようにオンプレミス・ホストからOCI API RESTエンドポイントへのアウトバウンド・ネットワーク接続要件に対処するのに役立ちます:
https://loganalytics.<OCI_REGION>.oci.oraclecloud.com
https://objectstorage.<OCI_REGION>.oraclecloud.com
https://auth.<OCI_REGION>.oraclecloud.com
https://telemetry-ingestion.<OCI_REGION>.oraclecloud.com
https://certificates.<OCI_REGION>.oci.oraclecloud.com
https://certificatesmanagement.<OCI_REGION>.oci.oraclecloud.com
https://management-agent.<OCI_REGION>.oci.oraclecloud.com
構成は単純で、2つのステップが必要です。:
- 選択したオンプレミス・ホストにCloud Management Gatewayをインストールします
- Cloud Management Gatewayを使用するOEMエージェントの構成
Cloud Management Gatewayのインストール
ゲートウェイとOCI間の通信には証明書が必要です。証明書を手動で作成するか、自動方式を使用するかを選択します。次の例では、「自動証明書作成」が使用されます。
Cloud Management Gatewayに必要なリソースを作成するコンパートメントを選択し、コンパートメント名とOCIDを書き留めます:
- Name: <SAMPLECOMPARTMENT>
- OCID: <SAMPLECOMPARTMENT_OCID>
次に、次の動的グループおよびポリシーを作成します:
Name = SAMPLECOMPARTMENT_Credential_Dynamic_Group
Definition =
ALL {resource.type=’certificateauthority’, resource.compartment.id=’SAMPLECOMPARTMENT_OCID’}
Name = SAMPLECOMPARTMENT_Management_Gateway_Dynamic_Group
Definition =
ALL {resource.type=’managementagent’, resource.compartment.id=’SAMPLECOMPARTMENT_OCID’}
Name = SAMPLECOMPARTMENT-Mgmt-Gw-Policy
Description = Policy to allow deploy of Management Gateway on compartment SAMPLECOMPARTMENT
Statements =
Allow DYNAMIC-GROUP SAMPLECOMPARTMENT_Credential_Dynamic_Group to USE certificate-authority-delegates in compartment SAMPLECOMPARTMENT
Allow DYNAMIC-GROUP SAMPLECOMPARTMENT_Credential_Dynamic_Group to USE vaults in compartment SAMPLECOMPARTMENT
Allow DYNAMIC-GROUP SAMPLECOMPARTMENT_Credential_Dynamic_Group to USE keys in compartment SAMPLECOMPARTMENT
Allow DYNAMIC-GROUP SAMPLECOMPARTMENT_Management_Gateway_Dynamic_Group to READ certificate-authority-bundle in compartment SAMPLECOMPARTMENT
Allow DYNAMIC-GROUP SAMPLECOMPARTMENT_Management_Gateway_Dynamic_Group to READ leaf-certificate-bundle in compartment SAMPLECOMPARTMENT
Allow DYNAMIC-GROUP SAMPLECOMPARTMENT_Management_Gateway_Dynamic_Group to MANAGE certificate-authorities in compartment SAMPLECOMPARTMENT where any{request.permission=’CERTIFICATE_AUTHORITY_CREATE’, request.permission=’CERTIFICATE_AUTHORITY_INSPECT’, request.permission=’CERTIFICATE_AUTHORITY_READ’}
Allow DYNAMIC-GROUP SAMPLECOMPARTMENT_Management_Gateway_Dynamic_Group to MANAGE leaf-certificates in compartment SAMPLECOMPARTMENT where any{request.permission=’CERTIFICATE_CREATE’, request.permission=’CERTIFICATE_INSPECT’, request.permission =’CERTIFICATE_UPDATE’, request.permission=’CERTIFICATE_READ’}
Allow DYNAMIC-GROUP SAMPLECOMPARTMENT_Management_Gateway_Dynamic_Group to MANAGE vaults in compartment SAMPLECOMPARTMENT where any{request.permission=’VAULT_CREATE’, request.permission=’VAULT_INSPECT’, request.permission=’VAULT_READ’, request.permission=’VAULT_CREATE_KEY’, request.permission=’VAULT_IMPORT_KEY’, request.permission=’VAULT_CREATE_SECRET’}
Allow DYNAMIC-GROUP SAMPLECOMPARTMENT_Management_Gateway_Dynamic_Group to MANAGE keys in compartment SAMPLECOMPARTMENT where any{request.permission=’KEY_CREATE’, request.permission=’KEY_INSPECT’, request.permission=’KEY_READ’}
Allow DYNAMIC-GROUP SAMPLECOMPARTMENT_Management_Gateway_Dynamic_Group to USE certificate-authority-delegates in compartment SAMPLECOMPARTMENT
Allow DYNAMIC-GROUP SAMPLECOMPARTMENT_Management_Gateway_Dynamic_Group to USE key-delegate in compartment SAMPLECOMPARTMENT
sshを使用して、オンプレミス・ゲートウェイ・ホストに接続し、Java 8をインストールします(存在しない場合)。予想される出力は、次のようになります。:
[root@stlabgw01 ~]# java -version
java version “1.8.0_361”
Java(TM) SE Runtime Environment (build 1.8.0_361-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.361-b09, mixed mode)
OCIコンソールからゲートウェイ・ソフトウェアRPMをダウンロードし、「監視および管理」、「管理エージェント」および「ダウンロードとキー」にナビゲートします。:
RPMをインストールします。:
[root@stlabgw01 ~]# rpm -ivh oracle.mgmt_gateway.rpm
Verifying… ################################# [100%]
Preparing… ################################# [100%]
Checking pre-requisites
Checking if any previous gateway service exists
Checking if OS has systemd or initd
Checking available disk space for gateway install
Checking if /opt/oracle/mgmt_agent directory exists
Checking if ‘mgmt_agent’ user exists
Checking Java version
JAVA_HOME is not set or not readable to root
Trying default path /usr/bin/java
Java version: 1.8.0_361 found at /usr/bin/java
Checking agent version
Updating / installing…
1:oracle.mgmt_gateway-221214.2318.1################################# [100%]
Executing install
Unpacking software zip
Copying files to destination dir (/opt/oracle/mgmt_agent)
Initializing software from template
Checking if JavaScript engine is available to use
Creating ‘mgmt_gateway’ daemon
Gateway Install Logs: /opt/oracle/mgmt_agent/installer-logs/installer.log.0
Setup gateway using input response file (run as any user with ‘sudo’ privileges)
Usage:
sudo /opt/oracle/mgmt_agent/agent_inst/bin/setupGateway.sh opts=[FULL_PATH_TO_INPUT.RSP]
Gateway install successful
[root@stlabgw01 ~]#
現在、ゲートウェイはインストールされていますが、構成されていません。構成をファイナライズするには、レスポンス・ファイルを作成する必要があります。次の例を参照してください。
[root@stlabgw01 ~]# sudo -u mgmt_agent sh
sh-4.4$
sh-4.4$ cd $HOME
sh-4.4$ pwd
/usr/share/mgmt_agent
sh-4.4$ vi input.rsp
sh-4.4$ cat input.rsp
ManagementAgentInstallKey = ***
CredentialWalletPassword = ***
GatewayPort = 4480
インストール・キーは、OCIコンソールから作成(およびダウンロード)して、「監視および管理」、「管理エージェント」および「ダウンロードとキー」にナビゲートできます。:
ゲートウェイ・ホストのOSファイアウォール構成を確認します(OEMエージェントからの接続を受け入れるには、ポート4480をイングレスで開く必要があります)。この例では、ファイアウォールが無効になっています(個々のネットワークポリシーに依存)。:
[root@stlabgw01 ~]# systemctl stop firewalld
[root@stlabgw01 ~]# systemctl disable firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
次に、次のリソース(管理ゲートウェイと同じコンパートメント内)をOCIに自動的に作成するsetupGateway.shコマンドを実行します:
- OCI Vault OCI_MGMT_GATEWAY_VAULT
- Certificate CA OCI_MGMT_GATEWAY_ROOT_CA
- Certificate ocid1.managementagent.oc1.***
次の実行を参照してください。:
[root@stlabgw01 ~]# sudo /opt/oracle/mgmt_agent/agent_inst/bin/setupGateway.sh opts=/usr/share/mgmt_agent/input.rsp
/opt/oracle/mgmt_agent/agent_inst/bin/setupAgent.sh opts=/usr/share/mgmt_agent/input.rsp
Executing configure
Parsing input response file
Validating install key
Generating communication wallet
Generating security artifacts
Registering Management Gateway
Found service plugin(s): [GatewayProxy]
Starting gateway…
Gateway started successfully
Starting plugin deployment for: [GatewayProxy]
Deploying service plugin(s)…Done.
GatewayProxy : Successfully deployed external plugin
Gateway setup completed and the gateway is running.
In the future gateway can be started by directly running: sudo systemctl start mgmt_gateway
Please make sure that you delete /usr/share/mgmt_agent/input.rsp or store it in secure location.
Creating gateway system properties file
Creating properties file
Creating or validating certificates
Waiting for Management Gateway to create or validate certificates…
Waiting for Management Gateway to create or validate certificates…
Waiting for Management Gateway to create or validate certificates…
Waiting for Management Gateway to create or validate certificates…
Waiting for Management Gateway to create or validate certificates…
Waiting for Management Gateway to create or validate certificates…
Waiting for Management Gateway to create or validate certificates…
Waiting for Management Gateway to create or validate certificates…
Waiting for Management Gateway to create or validate certificates…
Waiting for Management Gateway to create or validate certificates…
Waiting for Management Gateway to create or validate certificates…
Waiting for Management Gateway to create or validate certificates…
Waiting for Management Gateway to create or validate certificates…
Waiting for Management Gateway to create or validate certificates…
Waiting for Management Gateway to create or validate certificates…
Waiting for Management Gateway to create or validate certificates…
Waiting for Management Gateway to create or validate certificates…
Waiting for Management Gateway to create or validate certificates…
Waiting for Management Gateway to create or validate certificates…
Waiting for Management Gateway to create or validate certificates…
Waiting for Management Gateway to create or validate certificates…
Waiting for Management Gateway to create or validate certificates…
Waiting for Management Gateway to create or validate certificates…
Waiting for Management Gateway to create or validate certificates…
Waiting for Management Gateway to create or validate certificates…
Waiting for Management Gateway to create or validate certificates…
Waiting for Management Gateway to create or validate certificates…
Waiting for Management Gateway to create or validate certificates…
Creating wallets
Skipping update of wallets as credentials are empty
Waiting for Management Gateway to start…
Management Gateway Plugin set up successfully.
[root@stlabgw01 ~]#
数分後、ゲートウェイはOCIコンソールで「アクティブ」状態になります:
OEM Agentの構成
ゲートウェイが正しく構成されると、それを使用してOEM AgentからOCI REST APIコールを転送します。
ホストごとに、OCI Observability & Managementとの統合を有効にし、次のプロパティを適用します。:
export ORACLE_HOME=/u01/app/oracle/agent_base/agent_13.5.0.0.0
$ORACLE_HOME/bin/emctl setproperty agent -allow_new -name oci_http_proxy_host -value stlabgw01
$ORACLE_HOME/bin/emctl setproperty agent -allow_new -name oci_http_proxy_port -value 4480
エージェントを再起動します。:
$ORACLE_HOME/bin/emctl stop agent
$ORACLE_HOME/bin/emctl start agent
確認するには、emd.propertiesファイルをチェックします:
cat ${AGENT_INSTANCE_DIRECTORY}/sysman/config/emd.properties | grep ^oci
予想される出力は次のようになります。:
oci_http_proxy_host=stlabgw01
oci_http_proxy_port=4480
このブログでは、OCIブリッジを有効にし、OCI Operations InsightおよびOCI Logging AnalyticsをオンプレミスOEMターゲットに使用するために必要な設定を完了する方法について説明します。Oracle EMデータをOCI Object Storageに取り込む方法の詳細は、シリーズのパート2およびパート3を参照してください。
リソース
Enterprise Manager 13cからのOCI Operations Insightsサービス設定のトラブルシューティング (Doc ID 2913953.1)
EM13c: HTTPプロキシを介してOCI REST接続を構成する方法 (Doc ID 2852014.1)
