ノート:
- このチュートリアルでは、Oracle Cloudへのアクセスが必要です。無料アカウントにサインアップするには、Oracle Cloud Infrastructure Free Tierの開始を参照してください。
- Oracle Cloud Infrastructureの資格証明、テナンシおよびコンパートメントの値の例を使用します。演習を完了するときに、これらの値をクラウド環境に固有の値に置き換えます。
Oracle Cloud Infrastructure AuditからのIdentity and Access Managementレポートの生成
イントロダクション
Oracle Cloud Infrastructure (OCI)アイデンティティ・ドメインは、Oracle Identity Cloud Serviceの後継者であり、Oracle Identity Cloud Serviceのすべての機能をコアOracle Cloud Infrastructureサービスに取り込みます。Oracle Identity Cloud Serviceは、自己完結型のSaaSのような製品であり、ユーザー・アクティビティなどのレポートがサービス内で提供されます。
Oracle Identity Cloud Serviceとは異なり、OCIアイデンティティ・ドメインはより大きなOCIコンテキスト内に存在します。OCI設計の原則は、可能な場合は共通サービス機能を使用することです。その結果、Oracle Identity Cloud Service内で使用可能になったレポートの一部は非推奨になりました。使用したデータは、OCI Auditが提供する共通サービス機能を介して利用可能になったためです。
このチュートリアルでは、OCI監査データから非推奨のレポートを作成し、それらのレポートをOCIダッシュボードで使用できるようにする方法を示します。
目的
-
OCI IAMレポートのOCIロギングでの保存済検索の作成。
-
オフライン処理のためにOCI IAMレポートをエクスポートします。
-
これらの検索をOCIダッシュボードに追加します。
前提条件
- OCI IAMドメイン(デフォルト・ドメインのテナンシ・ルート)を含むコンパートメントの監査データを読み取る権限。
タスク1: OCI Identity and Access Management監査イベントの確認
すべてのOCIサービスはユーザーまたはサービス・アクションに監査レコードを作成します。OCI IAMは例外ではなく、ユーザー・アクセスおよびOCI IAM内で発生する変更またはイベントに監査レコードを作成します。
-
OCIコンソール内の可観測性と管理機能でロギング・サービスにアクセスし、「検索」セクションを選択します。
-
「検索するログの選択」をクリックして、ログ検索のコンテキストを、レポートを生成するOCI IAMアイデンティティ・ドメインを含むコンパートメントに設定します。
関連するコンパートメントを選択すると、ユーザーまたはサービス・アクティビティに複数のエントリが表示され、特定のエントリはテナンシの使用方法によって異なります。自分または他のログイン・イベントが表示される場合もあります。エントリが表示されない場合は、「詳細検索オプション」を展開して正しいリージョンが選択されていることを確認するか、「時間によるフィルタ」設定を変更して時間ウィンドウを展開します。
-
「拡張モードの表示」をクリックして、フリーテキスト問合せを入力する機能を表示し、デフォルト問合せの最後に次のいずれかを追加して(日時降順でソートした後)、Oracle Identity Cloud Serviceレポートに含まれていた同じコンテンツを生成します。
レポート 問合せ 成功したログインのレポート | data.additionalDetails.eventId = 'sso.session.create.success' |ドメインとしてdata.additionalDetails.domainDisplayName、ログインとしてdata.additionalDetails.actorName、結果としてdata.additionalDetails.eventId、プロバイダとしてdata.additionalDetails.ssoRp、日付としてtime_format(datetime、 'yyyy-MM-dd hh:mm:ss z')を選択します 失敗したログイン・レポート | data.additionalDetails.eventId='sso.authentication.failure' |ドメインとしてdata.additionalDetails.domainDisplayName、ユーザーとしてdata.additionalDetails.actorName、結果としてdata.additionalDetails.eventId、コメントとしてdata.message、日付としてtime_format(datetime、 'yyyy-MM-dd hh:mm:ss z')を選択します アプリケーションのアクセス・レポート |ここで、data.additionalDetails.eventId = 'sso.session.create.success'またはdata.additionalDetails.eventId = 'sso.authentication.failure'またはdata.additionalDetails.eventId = 'sso.session.modify.success' |ドメインとしてdata.additionalDetails.domainDisplayName、ユーザーとしてdata.additionalDetails.actorDisplayName、ログインとしてdata.additionalDetails.actorName、ログインとしてdata.additionalDetails.eventId、"成功/失敗"、アプリケーションとしてdata.additionalDetails.ssoRp、日付としてtime_format(日時、'yyyy-MM-dd hh:mm:ss z')を選択します 監査ログ・レポート | where data.additionalDetails.eventId = ‘sso.app.access.success’ or data.additionalDetails.eventId = ‘sso.app.access.failure’ or data.additionalDetails.eventId = ‘sso.session.create.success’ or data.additionalDetails.eventId = ‘sso.authentication.failure’ or data.additionalDetails.eventId = ‘sso.session.delete.success’ or data.additionalDetails.eventId = ‘admin.user.create.success’ or data.additionalDetails.eventId = ‘admin.user.activated.success’ or data.additionalDetails.eventId = ‘admin.user.deactivated.success’ or data.additionalDetails.eventId = ‘admin.user.update.success’ or data.additionalDetails.eventId = ‘admin.user.delete.success’ or data.additionalDetails.eventId = ‘admin.user.password.reset.success’ or data.additionalDetails.eventId = ‘admin.me.password.reset.success’ or data.additionalDetails.eventId = ‘admin.me.password.change.success’ or data.additionalDetails.eventId = ‘admin.policy.create.success’ or data.additionalDetails.eventId = ‘admin.rule.create.success’ or data.additionalDetails.eventId = ‘admin.policy.update.success’ or data.additionalDetails.eventId = ‘admin.rule.update.success’ or data.additionalDetails.eventId = ‘admin.passwordpolicy.create.success’ or data.additionalDetails.eventId = ‘admin.passwordpolicy.update.success’ or data.additionalDetails.eventId = ‘admin.grant.create.success’ or data.additionalDetails.eventId = ‘admin.grant.delete.success’ or data.additionalDetails.eventId = ‘admin.group.create.success’ or data.additionalDetails.eventId = ‘admin.group.add.member.success’ or data.additionalDetails.eventId = ‘admin.group.remove.member.success’ or data.additionalDetails.eventId = ‘admin.group.delete.success’ or data.additionalDetails.eventId = ‘admin.app.create.success’ or data.additionalDetails.eventId = ‘admin.app.update.success’ or data.additionalDetails.eventId = ‘admin.app.delete.success’ or data.additionalDetails.eventId = ‘admin.app.activated.success’ or data.additionalDetails.eventId = ‘admin.app.deactivated.success’ or data.additionalDetails.eventId = ‘notification.delivery.success’ or data.additionalDetails.eventId = ‘notification.delivery.failure’ or data.additionalDetails.eventId = ‘sso.auth.factor.initiated’ or data.additionalDetails.eventId = ‘sso.bypasscode.create.success’ | select time_format(datetime, ‘yyyy-MM-dd hh:mm:ss z’) as Date, data.additionalDetails.domainDisplayName as Domain, data.additionalDetails.actorName as Actor, data.additionalDetails.eventId as “Event Id”, data.message as “Event Description”, data.additionalDetails.adminResourceName as Target アプリケーション・ロール割当てレポート |ここで、data.additionalDetails.eventId = 'admin.approle.add.member.success'またはdata.additionalDetails.eventId = 'admin.approle.remove.member.success' |ドメインとしてdata.additionalDetails.domainDisplayName、承認者としてdata.additionalDetails.actorDisplayName、受取人としてdata.additionalDetails.adminAppRoleAppName、受取人としてdata.additionalDetails.adminRefResourceName、ユーザー/グループとしてdata.additionalDetails.adminRefResourceType、アプリケーション・ロール名としてdata.additionalDetails.adminResourceName、日付としてtime_format(日時、'yyyy-MM-dd hh:mm:ss z')、"追加/削除済"としてdata.additionalDetails.eventIdを選択します たとえば、
Successful Logins
レポートの場合、問合せは次のようになります。 -
更新された問合せを使用するには、「検索」をクリックします。結果が返されない場合は、時間フィルタの変更が必要になることがあります。
-
返される結果は、結果の上にある「アクション」ドロップダウンから「ログ・データのエクスポート(JSON)」をクリックしてエクスポートできます。
ノート: Oracle Identity Cloud Serviceレポートでは
CSV
ファイルとしてダウンロードがサポートされますが、このエクスポートではJSON
エクスポートのみがサポートされます。ただし、前述の問合せで使用されるSELECT文は、JSON
を属性を持つ単一のオブジェクトにフラット化します。これにより、必要に応じてJSON
エクスポートとCSV
の間で変換できます。
タスク2: レポートの保存済検索の作成
これらのレポートにアクセスするたびに問合せが再入力されないようにするには、OCIロギングの保存検索機能を活用します。
-
問合せを検証したら、「検索の保存」をクリックして、問合せを再利用してダッシュボードに埋め込むことができます。
-
「Successful_Login_Report」などの検索の名前と説明を入力し、「保存」をクリックします。
-
保存済検索インタフェースから、検索に戻り、最新のデータ・セットを取得できます。
ノート:保存済検索インタフェースから結果を直接エクスポートすることはできません。かわりに、「アクション」ドロップダウンから「ログ検索で探索」を使用して、検索結果を検索ビューからエクスポートする必要があります。
タスク3: OCIダッシュボードへのレポートの追加
OCIロギング・サービス内からレポートにアクセスするだけでなく、OCIのダッシュボード機能を介してレポートを使用できるようにすることもでき、OCI IAMイベントを一元的に確認できます。
-
OCIコンソールのランディング・ページに移動し、上部バナーで「Oracle Cloud」をクリックし、「ダッシュボード」ビューにスワップします。
-
「新規ダッシュボード」をクリックして、OCI IAMレポートの新規ダッシュボードを作成します。
-
「最初から作成」を選択し、適切な名前と説明を追加します。
-
新しいダッシュボード・グループを作成するか、必要に応じてこのダッシュボードを既存のグループに割り当てます。
-
「ウィジェットの追加」をクリックし、「ロギング・データ表」を選択して、新しいウィジェットの「構成」をクリックします。
-
適切な名前を指定し、保存済検索を選択します。適切なデフォルト期間を追加します。
-
レイアウトを変更し、必要に応じて他の保存済検索を追加します。
レポート・データの抽出の自動化
上記のアプローチでは、IAMデータに関するアドホック・レポートを実行できます。ただし、進行中の操作では、このデータの抽出を自動化する必要がある場合があります。そのためには、OCI API、OCI CLI、またはOCI SDKのいずれかを利用できます。
SearchLogs APIは、次のようなリクエストを使用して起動し、時間範囲を調整して、最初のログ検索から問合せを追加できます。
POST https://logging.<region>.oci.oraclecloud.com/20190909/search?limit=1000
Body:
{
"timeStart": "2025-01-01T00:00:00.000Z",
"timeEnd": "2025-01-02T00:00:00.000Z",
"searchQuery": "<log search query from Task #1>",
"isReturnFieldInfo": false
}
同等のOCI CLIコマンドは次のとおりです。
oci logging-search search-logs --search-query "<log search query from Task #1>" --time-start "2025-01-01T00:00:00.000Z" --time-end "2025-01-02T00:00:00.000Z" --is-return-field-info false
ノート: バックスラッシュ(
\
)を使用した検索問合せで二重引用符("
)をエスケープします。つまり、as "Success/Failure"
はas \"Success/Failure\"
になります。
監査イベントを代替システムにプッシュする場合は、OCI Connector HubまたはOCI Eventsを使用してログ転送を容易にできます。たとえば、Azure Sentinelへの監査転送をカバーするOCI Auditを使用したマルチクラウド・セキュリティの実装によるOCI Identity and Access Managementからのイベントの取得などです。
関連リンク
承認
- 著者 - Manoj Gaddam (プリンシパル・プロダクト・マネージャ- OCI Identity/IDCS)、Callan Howell-Pavia (テクニカル・スタッフのプリンシパル・メンバー- OCI Identity/IDCS)
その他の学習リソース
docs.oracle.com/learnの他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。
製品ドキュメントについては、Oracle Help Centerを参照してください。
Generate Identity and Access Management Reports from Oracle Cloud Infrastructure Audit
F89548-02
January 2025