Oracle Cloudリソースの作成
コンパートメントの作成
コンパートメントにより、クラウド・リソースへのアクセス権を整理および制御できます。これは、関連するクラウド・リソースをグループ化し、特定のユーザー・グループによるアクセスを許可するために使用できる論理コンテナです。
Oracle Cloud Infrastructureにサインアップすると、Oracleによってテナンシ(すべてのクラウド・リソースを保持するルート・コンパートメント)が作成されます。次に、テナンシ内に追加のコンパートメントを作成し、対応するポリシーを作成して各コンパートメント内のリソースへのアクセスを制御します。
コンパートメントを作成するには:仮想クラウド・ネットワークおよびサブネットの作成
仮想クラウド・ネットワーク(VCN)は、特定のリージョンのOracle Cloud Infrastructureデータ・センターで設定するネットワークです。サブネットは、VCNの下位区分です。
- Oracle Cloudコンソールのナビゲーション・メニューを開き、「ネットワーキング」、「仮想クラウド・ネットワーク」の順に選択します。
- 「Virtual Cloud Networks」ページで、コンパートメントの選択を確認するか、別のコンパートメントを選択します。
- 「アクション」メニューから、「VCNウィザードの起動」を選択します。
- 「VCNウィザードの起動」パネルで、「インターネット接続性を持つVCNの作成」を選択し、「VCNウィザードの起動」をクリックします。
- 「構成」ページの「基本情報」で、VCN名に名前を入力します。
- 「コンパートメント」で、このVCNを作成するコンパートメントを選択します。
- 「次へ」をクリックしてください。
- 「確認および作成」ページで、構成の詳細を確認し、「作成」をクリックします。
パブリック・サブネットとプライベート・サブネットの作成を確認するには、「VCN詳細の表示」をクリックします。
ユーザーの作成
OCI GoldenGateリソースにアクセスできるグループに追加するユーザーを作成します。
ユーザーを作成する前に、次を理解してください:
- OCI GoldenGateデプロイメント・ユーザー管理は、テナンシがアイデンティティ・ドメインでOCI IAMを使用するかどうかによって異なります。デプロイメント・ユーザーの管理を参照してください。
- ユーザー名は、テナンシ内のすべてのユーザーで一意である必要があります
- ユーザー名は変更できません
- ユーザーは、グループに配置されるまで権限を持ちません
- Oracle Cloudコンソールのナビゲーション・メニューを開き、「アイデンティティおよびセキュリティ」をクリックし、「アイデンティティ」で「ドメイン」をクリックします。
- 「ドメイン」ページで、「コンパートメント」の選択を確認するか、別のコンパートメントに変更します。
- 「ドメイン」リストで、「デフォルト」をクリックしてデフォルト・ドメインにアクセスするか、「ドメインの作成」をクリックして新しいドメインを作成します。
- ドメインをリストから選択します。
- ドメインの詳細ページで、「ユーザー管理」をクリックします。
- 「ユーザー」ページで、「ユーザーの作成」をクリックします。
- 「ユーザーの作成」ページで、次のようにフィールドに入力します:
- 「作成」をクリックします。
グループの作成
グループは、リソースまたはコンパートメントのセットに対して同じアクセス・タイプを必要とするユーザーのコレクションです。
- グループ名は、テナンシ内で一意である必要があります。
- グループ名は作成後に変更できません。
- グループは、テナンシまたはコンパートメントに対する権限をグループに付与する1つ以上の権限を記述しないかぎり、権限を持ちません。
- Oracle Cloudコンソールのナビゲーション・メニューを開き、「アイデンティティおよびセキュリティ」をクリックし、「アイデンティティ」で「ドメイン」をクリックします。
- 「ドメイン」ページで、「コンパートメント」の選択を確認するか、コンパートメントを変更します。
- リストからドメインを選択してください。
- ドメインの詳細ページで、「ユーザー管理」をクリックします。
- 「グループ」で、「グループの作成」をクリックします。
- 「グループの作成」ページで、次の操作を行います。
- このグループに対するユーザーがアクセスをリクエストできるかどうかを選択します。
- 「ユーザー」リストから、このグループに割り当てるユーザーを選択します。
- 「作成」をクリックします。
ポリシーの作成
ポリシーでは、グループのメンバーが実行できるアクションとそのコンパートメントを定義します。
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ポリシーを参照してください。