この記事はGustavo Saurez、Kasey ParkerによるHow to Customize Oracle Database@Azure RBAC Integrationを日本語に翻訳したものです。
2025年4月23日
🎯 概要
Oracle Database@Azure(ODBAA)は、企業がクラウド環境全体でOracleワークロードを管理する方法を大きく変えつつあります。しかし、大きな力には大きな責任が伴います。特にアクセス制御についてはなおさらです。
ODBAAをオンボーディングする際に、デフォルトを超えるきめ細かな権限が必要な場合、たとえばAzureサブスクリプション・レベルで権限を付与したい場合、本ガイドでは、それを実現するためにEntra IDグループと対応するOCIポリシーをカスタマイズする方法を説明します。
この記事は、オンボーディング時に対応する場合でも、デプロイ後に調整する場合でも利用できる成功のためのランブックです。
🔧 前提条件
開始する前に、以下が整っていることを確認してください。
- ✅ ODBAAのオンボーディング手順1〜4が完了していること
- ✅ Azureオペレータが以下の権限を持っていること
- Entra IDグループを作成 / 管理する権限
- 該当するサブスクリプション内の該当グループにロールを割り当てる権限
- ✅ OCIオペレータがTenancy AdminまたはIdentity Domain Admin権限を持っていること
👥 カスタムEntra IDグループ: なぜ必要で、どのように作成するか
ドキュメントに従ってODBAA用に設定されるEntra IDグループは、デフォルトでは厳密な命名規則に従います。これは、マルチクラウド・リンクの確立時に自動化によって作成されるOCIポリシーに、それらの名前が直接マッピングされるためです。これらのデフォルトOCIポリシーは、Azure Private Offer / OCIテナンシ・レベルで該当するODBAAグループにアクセス権を付与します。つまり、そのアクセス権は、テナンシ内にプロビジョニングされたすべてのODBAA環境に適用されます。
しかし、もう少し細かく制御したい場合はどうでしょうか。たとえば、ドキュメントに従って複数のAzureサブスクリプションをODBAAサービスにリンクしており、Azureサブスクリプションにリンクされた新しいOCIサブコンパートメントで、新しいOCIポリシーを作成してユーザー・アクセスを制御したい場合です。より詳細な手順を探しているなら、本記事がその答えになります。
🎯 目標: Azureサブスクリプション / OCIコンパートメントのような細かいスコープで、特定の権限をユーザーに割り当てることです。
✅ 実施方法:
- Entra IDグループ名にカスタム接頭辞を使用します。例: acmeco-finance
- この命名パターンを使用してEntra IDグループを作成します。下の表1を参照してください
- オンボーディングドキュメントのタスク7に従って、組込みAzureロールを割り当てます
- オンボーディングドキュメントのタスク8に従って、アイデンティティ・フェデレーションを完了または更新し、グループをOCIアイデンティティ同期に追加します
- OCIポリシーをカスタマイズして、適切に権限を割り当てます。詳細は下記セクションを参照してください
🧠 プロのヒント: Azureサブスクリプションごとに個別のEntra IDグループを作成します。
⏳ 注: グループが最初にOCIへ同期されていない場合、そのグループを参照するOCIポリシーは失敗します。
表1
| Azure / OCIグループ名 | サービス | 説明 |
|---|---|---|
| <prefix>-odbaa-exa-infra-administrators | ExaDB-D | Exadata InfrastructureおよびVM Clusterリソースへのフル・アクセス。 |
| <prefix>-odbaa-vm-cluster-administrators | ExaDB-D | すべてのExadata VM Clusterリソースへのフル・アクセス |
| <prefix>-odbaa-db-family-administrators | ExaDB-D、ADB-S | ExaDBおよびADB全体のすべてのOraDB@Azureリソースに対するフルの所有者アクセス。 |
| <prefix>-odbaa-db-family-readers | ExaDB-D、ADB-S | すべてのOraDB@Azureリソースへの読取り専用アクセス |
| <prefix>-odbaa-exa-cdb-administrators | ExaDB-D | OCI内のContainer Database(CDB)への管理者アクセス |
| <prefix>-odbaa-exa-pdb-administrators | ExaDB-D | OCI内のPluggable Database(PDB)への管理者アクセス |
| <prefix>-odbaa-network-administrators | ExaDB-D、ADB-S | OCI内のOraDB@Azureネットワーク・リソースへの管理者アクセス |
| <prefix>-odbaa-costmgmt-administrators | ExaDB-D、ADB-S | OCI内のコスト・ガバナンス機能への管理者アクセス |
| <prefix>-odbaa-adbs-db-administrators | ADB-S | ADB-Sリソースへの管理者アクセス |
🔐 OCIポリシーのカスタマイズ: ステップ・バイ・ステップ
追加のAzureサブスクリプションをOCIテナンシにリンクすると、プライマリAzureサブスクリプション・コンパートメントの直下に新しいサブコンパートメントが作成されます。

デフォルトでは、プライマリAzureサブスクリプションの既存ポリシーが、この新しいコンパートメント(サブスクリプション)にも適用されます。
OCIポリシーをカスタマイズし、上で作成したカスタム・グループを使用して新しいコンパートメントのみにアクセスを付与するには、OCIコンソールでIdentity & Security → Policiesに移動し、ルート・コンパートメントでMulticloudLink_ODBAA_*のような名前を持ち、デフォルトのodbaa-グループを参照しているポリシーを検索します。
⏳ 注: テナンシ内の具体的なポリシー名は、OraDB@Azureをオンボーディングした時期によって異なるため、ここでは明記していません。例として下のスクリーンショットを参照してください。

✍️ カスタム・ポリシーの作成:
- 既存の各ポリシーについて、上記のグループ名に使用したものと同じ接頭辞を持つ新しいポリシーを作成します。例: acmeco-finance-MulticloudLink_ODBAA_YYYYMMDDHHMMSS-ODBAADbFamilyPolicy
- 元のポリシー文をコピーし(advanced editorを使用)、新しいポリシーに貼り付けます
- 各ポリシー文を編集して、以下を行います。
- 対応するカスタム・グループ名と一致させる
- MultiCloudLinkコンパートメントではなく、Azureサブスクリプションにリンクされた適切なコンパートメントを参照する
- 構文例:
- allow group acmeco-finance-odbaa-exa-infra-administrators to manage <resource> in compartment <multicloudlink compartment name>:<subscription sub-compartment name>
🔐 Default以外のアイデンティティ・ドメインを使用する場合
OCIテナンシには、ユーザー、グループ、フェデレーションなどを管理するためのDefaultという名前のアイデンティティ・ドメインが含まれています。ユースケースによっては、サブスクリプションごとに別々のアイデンティティと構成を維持するために、新しいアイデンティティ・ドメインを使用したい場合があります。この場合、新しいアイデンティティ・ドメインを参照するポリシーでは、各文でドメイン名を指定する必要があります。たとえば、Devという名前のアイデンティティ・ドメインを使用する場合は、次のようになります。
allow group ‘Dev’/’acmeco-finance-odbaa-db-family-administrators’ to manage database-family in…
また、新しいアイデンティティ・ドメインに対して、Entra IDフェデレーションと同期が構成されていることも確認してください。
🧩 まとめ
Entra IDグループとOCIポリシーをカスタマイズすることで、次のことが可能になります。
- 組織にきめ細かなアクセス制御を提供する
- OraDB@Azureに対するマルチサブスクリプションの柔軟性を実現する
- ユーザー・アクセスをクリーンで、スコープが明確で、安全な状態に保つ
🧠 参考リソース
Oracle ODBAA Onboarding Guide
Microsoft Entra Group Management
Add Members to an Entra Group
Oracle Guide for Multiple Subscriptions
Overview of Working with OCI Policies
Set Up Role Based Access Control for OraDB@Azure
OCI Identity Domains
