Oracle Cloud Infrastructure GoldenGateポリシー
Oracle Cloud Infrastructure GoldenGateへのアクセスと各ユーザー・グループのアクセス権のタイプを制御するには、ポリシーを作成する必要があります。
たとえば、メンバーがすべてのOCI GoldenGateリソースにアクセスできる管理者グループを作成できます。その後、OCI GoldenGateに関係するすべてのユーザーについて個別のグループを作成し、異なるコンパートメントのOCI GoldenGateリソースへのアクセスを制限するポリシーを作成できます。
Oracle Cloud Infrastructureポリシーの完全なリストは、ポリシー・リファレンスを参照してください。
ポリシーの作成
ポリシーでは、グループのメンバーが実行できるアクションとそのコンパートメントを定義します。
Oracle Cloudコンソールを使用してポリシーを作成します。Oracle Cloudコンソールのナビゲーション・メニューで、「アイデンティティとセキュリティ」、「アイデンティティ」の順に選択し、「ポリシー」を選択します。ポリシーは次の構文で記述されます:
allow group <identity-domain>/<group-name> to <verb> <resource-type> in <location> where <condition>
パラメータの定義は次のとおりです。
<identity-domain>
: (オプション)アイデンティティ管理にOCI IAMを使用する場合は、ユーザー・グループのアイデンティティ・ドメインを含めます。省略すると、OCIではデフォルト・ドメインが使用されます。<group-name>
: 権限を付与するユーザー・グループの名前<verb>
: リソース・タイプへの特定のレベルのアクセス権をグループに付与します。動詞がinspect
、read
、use
、manage
と進むにつれて、アクセス権のレベルが高くなり、付与された権限は累積します。.権限と動詞の関係についてさらに学習します。
<resource-type>
: 付与するグループ権限で作業できるリソースのタイプ。goldengate-deployments
、goldengate-pipelines
、goldengate-connections
などの個別のリソースがあり、前述した個々のリソースを含むgoldengate-family
などのリソース・ファミリがあります。詳細は、リソース・タイプを参照してください。
<location>
: ポリシーをコンパートメントまたはテナンシにアタッチします。名前またはOCIDで単一のコンパートメントまたはコンパートメント・パスを指定するか、tenancy
を指定してテナンシ全体を対象とします。<condition>
: オプション。このポリシーが適用される1つ以上の条件。
ポリシー構文の詳細を参照してください。
最小限の推奨ポリシー
ヒント :
共通ポリシー・テンプレートを使用して必要なすべてのポリシーを追加するには:- 「ポリシー・ユース・ケース」で、ドロップダウンからGoldenGateサービスを選択します。
- 「一般的なテンプレートの使用」で、ドロップダウンから「ユーザーがGoldenGateリソースを管理できるようにするために必要なポリシー」を選択します。
少なくとも、次のポリシーが必要です:
- GoldenGateリソースの使用または管理をユーザーに許可し、ユーザーがデプロイメントおよび接続を操作できるようにします。たとえば次のようにします。
allow group <identity-domain>/<group-name> to manage goldengate-family in <location>
- ユーザーにネットワーク・リソースの管理を許可し、ユーザーがGoldenGateリソースの作成時にコンパートメントとサブネットを表示および選択し、プライベート・エンドポイントを作成および削除できるようにする。たとえば次のようにします。
allow group <identity-domain>/<group-name> to manage virtual-network-family in <location>
オプションで、粒度の細かいポリシーの組合せを使用して、ネットワーク・リソースをさらに保護できます。ネットワーク・リソースを保護するためのポリシーの例を参照してください。
- 動的グループの作成: 定義されたルールに基づいてリソースに権限を付与し、GoldenGateデプロイメントまたはパイプライン(あるいはその両方)がテナンシ内のリソースにアクセスできるようにします。
<dynamic-group-name>
を任意の名前に置き換えます。動的グループは必要な数だけ作成できます。たとえば、様々なコンパートメントまたはテナンシにわたるデプロイメントの権限を制御できます。name: <dynamic-group-name> Matching rule: ALL {resource.type = 'goldengatedeployment', resource.compartment.id = '<location>'}
ヒント :
このリストに続くポリシーは、
<dynamic-group-name>
を参照します。複数の動的グループを作成する場合は、後続のポリシーを追加するときに、正しい動的グループ名を参照していることを確認してください。 - パスワード・シークレットとの接続を使用する場合、接続に割り当てているデプロイメントは、接続のパスワード・シークレットにアクセスできる必要があります。ポリシーをコンパートメントまたはテナンシに追加してください:
allow dynamic-group <identity-domain>/<dynamic-group-name> to read secret-bundles in <location>
- IAM対応テナンシーでの検証のために、ユーザーがIdentity and Access Management (IAM)ユーザーおよびグループを読むことを許可します。
allow service goldengate to {idcs_user_viewer, domain_resources_viewer} in <location>
allow dynamic-group <identity-domain>/<dynamic-group-name> to {idcs_user_viewer, domain_resources_viewer} in <location>
- 顧客管理暗号化キーおよびパスワード・シークレットにアクセスするためのOracle Vault。たとえば:
allow group <identity-domain>/<group-name> to manage secret-family in <location> allow group <identity-domain>/<group-name> to use keys in <location> allow group <identity-domain>/<group-name> to use vaults in <location> allow dynamic-group <identity-domain>/<dynamic-group-name> to use keys in <location> allow dynamic-group <identity-domain>/<dynamic-group-name> to use vaults in <location> allow dynamic-group <identity-domain>/<dynamic-group-name> to read secret-bundles in <location>
次のサービスを使用するかどうかに応じて、次のポリシーの追加が必要になる場合があります:
- ソース・データベースまたはターゲット・データベース(あるいはその両方)用のOracle Database。たとえば次のようにします。
allow group <identity-domain>/<group-name> to read database-family in <location>
allow group <identity-domain>/<group-name> to read autonomous-database-family in <location>
- 手動のOCI GoldenGateバックアップを格納するためのOracle Object Storage。たとえば次のようにします。
allow group <identity-domain>/<group-name> to manage objects in <location> allow dynamic-group <identity-domain>/<dynamic-group-name> to manage objects in <location> allow group <identity-domain>/<group-name> to inspect buckets in <location>
- OCIロギング。ログ・グループにアクセスします。たとえば次のようにします。
allow group <identity-domain>/<group-name> to read log-groups in <location> allow group <identity-domain>/<group-name> to read log-content in <location>
- ロード・バランサ(デプロイメント・コンソールへのパブリック・アクセスを有効にした場合):
allow group <identity-domain>/<group-name> to manage load-balancers in <location> allow group <identity-domain>/<group-name> to manage public-ips in <location> allow group <identity-domain>/<group-name> to manage network-security-groups in <location> allow group <identity-domain>/<group-name> to manage vcns in <location> where ANY {request.operation = 'CreateNetworkSecurityGroup', request.operation = 'DeleteNetworkSecurityGroup'}
- 作業リクエスト:
allow group <identity-domain>/<group-name> to inspect work-requests in <location>
次のステートメントは、ワークスペースのタグ・ネームスペースおよびタグを管理するためのグループ権限を付与します:
allow group <identity-domain>/<group-name> to manage tag-namespaces in <location>
定義済のタグを追加するには、タグ・ネームスペースを使用する権限が必要です。タグ付けの詳細は、リソース・タグを参照してください。
詳細および追加のポリシーの例は、OCI GoldenGateポリシーを参照してください。
ネットワーク・リソースを保護するためのポリシーの例
ポリシーを使用して、コンパートメント内のネットワーク・リソースへのユーザー・アクセスを簡単に許可できます:
allow group <group-name> to use virtual-network-family in compartment <compartment-name>
または、次のポリシーを使用して、より詳細なレベルでネットワーク・リソースを保護することもできます:
操作 | 基礎となるリソースへの必要なアクセス |
---|---|
プライベート・エンドポイントの作成 | プライベート・エンドポイント・コンパートメントの場合:
サブネット・コンパートメントの場合:
|
プライベート・エンドポイントの更新 | プライベート・エンドポイント・コンパートメントの場合:
|
プライベート・エンドポイントの削除 | プライベート・エンドポイント・コンパートメントの場合:
サブネット・コンパートメントの場合:
|
プライベート・エンドポイント・コンパートメントの変更 | あるコンパートメントから別のコンパートメントに移動する場合、元のコンパートメントのすべての権限が新しいコンパートメントにも存在する必要があります。 |
リソース・タイプ
Oracle Cloud Infrastructure GoldenGateには、ポリシーを記述するための集約リソース・タイプと個別リソース・タイプの両方が用意されています。
集約リソース・タイプ | 個々のリソース・タイプ |
---|---|
goldengate-family |
|
集約リソース・タイプgoldengate-family
でカバーされるAPIは、個別リソース・タイプのそれぞれのAPIもカバーします。例
allow group gg-admins to manage goldengate-family in compartment <compartment-name>
は、次のポリシーを記述することと同じです:
allow group gg-admins to manage goldengate-deployments in compartment <compartment-name>
allow group gg-admins to manage goldengate-connections in compartment <compartment-name>
allow group gg-admins to manage goldengate-connection-assignments in compartment <compartment-name>
allow group gg-admins to manage goldengate-deployment-upgrades in compartment <compartment-name>
allow group gg-admins to manage goldengate-deployment-backups in compartment <compartment-name>
allow group gg-admins to manage goldengate-pipeline in compartment <compartment-name>
サポートされる変数
ポリシーに条件を追加する場合、Oracle Cloud Infrastructureの一般変数またはサービス固有変数を使用できます。
Oracle Cloud Infrastructure GoldenGateでは、すべての一般的な変数がサポートされます。詳細は、すべてのリクエストの一般的な変数を参照してください。
動詞+リソース・タイプの組合せの詳細
ポリシーの作成時に使用できるOracle Cloud Infrastructureの様々な動詞とリソース・タイプがあります。
次の表に、Oracle Cloud Infrastructure GoldenGateの各動詞でカバーされる権限およびAPI操作を示します。アクセスのレベルは、inspect
からread
、use
、manage
の順に累積します。
goldengate-deployments
権限 | 全部カバーされるAPI |
---|---|
INSPECT | |
GOLDENGATE_DEPLOYMENT_INSPECT | ListDeployments |
読取り | |
INSPECT + | INSPECT+ |
GOLDENGATE_DEPLOYMENT_READ | GetDeployment |
使用 | |
READ + | READ + |
GOLDENGATE_DEPLOYMENT_UPDATE | UpdateDeployment |
StartDeployment | |
StopDeployment | |
RestoreDeployment | |
管理 | |
USE + | USE + |
GOLDENGATE_DEPLOYMENT_CREATE | CreateDeployment |
GetWorkRequest | |
ListWorkRequests | |
ListWorkRequestErrors | |
ListWorkRequestLogs | |
GOLDENGATE_DEPLOYMENT_DELETE | DeleteDeployment |
GOLDENGATE_DEPLOYMENT_MOVE | ChangeDeploymentCompartment |
goldengate-connections
権限 | 全部カバーされるAPI |
---|---|
INSPECT | |
GOLDENGATE_CONNECTION_INSPECT | ListConnections |
読取り | |
INSPECT + | INSPECT+ |
GOLDENGATE_CONNECTION_READ | GetConnection |
使用 | |
READ + | READ + |
GOLDENGATE_CONNECTION_UPDATE | UpdateConnection |
管理 | |
USE + | USE + |
GOLDENGATE_CONNECTION_CREATE | CreateConnection |
GOLDENGATE_CONNECTION_DELETE | DeleteConnection |
GOLDENGATE_CONNECTION_MOVE | ChangeConnectionCompartment |
goldengate-connection-assignments
権限 | 全部カバーされるAPI |
---|---|
INSPECT | |
GOLDENGATE_CONNECTION_ASSIGNMENT_INSPECT | ListConnectionAssignments |
読取り | |
INSPECT + | INSPECT+ |
GOLDENGATE_CONNECTION_ASSIGNMENT_READ | GetConnectionAssignment |
使用 | |
READ + | READ + |
なし | なし |
管理 | |
USE + | USE + |
GOLDENGATE_CONNECTION_ASSIGNMENT_CREATE | CreateConnectionAssignment |
GOLDENGATE_CONNECTION_ASSIGNMENT_DELETE | DeleteConnectionAssignment |
goldengate-deployment-backups
権限 | 全部カバーされるAPI |
---|---|
INSPECT | |
GOLDENGATE_DEPLOYMENT_BACKUP_INSPECT | ListDeploymentBackups |
読取り | |
INSPECT + | INSPECT+ |
GOLDENGATE_DEPLOYMENT_BACKUP_READ | GetDeploymentBackup |
RestoreDeployment | |
使用 | |
READ + | READ + |
GOLDENGATE_DEPLOYMENT_BACKUP_UPDATE | UpdateDeploymentBackup |
管理 | |
USE + | USE + |
GOLDENGATE_DEPLOYMENT_BACKUP_CREATE | CreateDeploymentBackup |
GOLDENGATE_DEPLOYMENT_BACKUP_DELETE | DeleteDeploymentBackup |
GOLDENGATE_DEPLOYMENT_BACKUP_MOVE | ChangeDeploymentBackupCompartment |
API操作ごとに必要な権限
Oracle Cloud Infrastructure GoldenGateのAPI操作を論理的な順序でリソース・タイプ別にグループ化したリストを次に示します。
リソース・タイプは、goldengate-deployments
、goldengate-connections
およびgoldengate-deployment-backups
です。
API操作 | 権限 |
---|---|
ListDeployments |
GOLDENGATE_DEPLOYMENT_INSPECT |
CreateDeployment |
GOLDENGATE_DEPLOYMENT_CREATE |
GetDeployment |
GOLDENGATE_DEPLOYMENT_READ |
UpdateDeployment |
GOLDENGATE_DEPLOYMENT_UPDATE |
DeleteDeployment |
GOLDENGATE_DEPLOYMENT_DELETE |
StartDeployment |
GOLDENGATE_DEPLOYMENT_UPDATE |
StopDeployment |
GOLDENGATE_DEPLOYMENT_UPDATE |
RestoreDeployment |
GOLDENGATE_DEPLOYMENT_BACKUP_READおよびGOLDENGATE_DEPLOYMENT_UPDATE |
ChangeDeploymentCompartment |
GOLDENGATE_DEPLOYMENT_MOVE |
UpgradeDeployment |
GOLDENGATE_DEPLOYMENT_UPDATE |
ListConnections |
GOLDENGATE_CONNECTION_INSPECT |
CreateConnection |
GOLDENGATE_CONNECTION_CREATE |
GetConnection |
GOLDENGATE_CONNECTION_READ |
UpdateConnection |
GOLDENGATE_CONNECTION_UPDATE |
DeleteConnection |
GOLDENGATE_CONNECTION_DELETE |
ChangeConnectionCompartment |
GOLDENGATE_CONNECTION_MOVE |
ListConnectionAssignments |
GOLDENGATE_CONNECTION_ASSIGNMENT_INSPECT |
CreateConnectionAssignment |
GOLDENGATE_CONNECTION_ASSIGNMENT_CREATE, GOLDENGATE_DEPLOYMENT_UPDATE, GOLDENGATE_CONNECTION_UPDATE |
GetConnectionAssignment |
GOLDENGATE_CONNECTION_ASSIGNMENT_READ |
DeleteConnectionAssignment |
GOLDENGATE_CONNECTION_ASSIGNMENT_DELETE, GOLDENGATE_DEPLOYMENT_UPDATE, GOLDENGATE_CONNECTION_UPDATE |
ListDeploymentBackups |
GOLDENGATE_DEPLOYMENT_BACKUP_INSPECT |
GetDeploymentBackup |
GOLDENGATE_DEPLOYMENT_BACKUP_READ |
CreateDeploymentBackup |
GOLDENGATE_DEPLOYMENT_BACKUP_CREATE, GOLDENGATE_DEPLOYMENT_READ |
UpdateDeploymentBackup |
GOLDENGATE_DEPLOYMENT_BACKUP_UPDATE |
CancelDeploymentBackup |
GOLDENGATE_DEPLOYMENT_BACKUP_UPDATE |
DeleteDeploymentBackup |
GOLDENGATE_DEPLOYMENT_BACKUP_DELETE |
ChangeDeploymentBackupCompartment |
GOLDENGATE_DEPLOYMENT_BACKUP_MOVE |
GetDeploymentUpgrade |
GOLDENGATE_DEPLOYMENT_UPGRADE_READ |
ListDeploymentUpgrades |
GOLDENGATE_DEPLOYMENT_UPGRADE_INSPECT |
GetWorkRequest |
GOLDENGATE_DEPLOYMENT_CREATE |
ListWorkRequests |
GOLDENGATE_DEPLOYMENT_CREATE |
ListWorkRequestErrors |
GOLDENGATE_DEPLOYMENT_CREATE |
ListWorkRequestLogs |
GOLDENGATE_DEPLOYMENT_CREATE |