コネクタ・ハブの保護
このトピックでは、Oracle Cloud Infrastructure Connector Hubサービスのセキュリティ情報および推奨事項について説明します。
セキュリティの責任
Connector Hubを安全に使用するには、セキュリティとコンプライアンスの責任について学びます。
Oracleは、次のセキュリティ要件に対して責任を負います:
- 物理セキュリティ: Oracleは、Oracle Cloud Infrastructureで提供されるすべてのサービスを実行するグローバル・インフラストラクチャを保護する責任を負います。このインフラストラクチャは、Oracle Cloud Infrastructureサービスを実行するハードウェア、ソフトウェア、ネットワーキングおよび設備で構成されます。
お客様のセキュリティの責任についてこのページで説明します。次のような領域があります:
- アクセス制御: 可能なかぎり権限を制限します。ユーザーが作業を行うために必要なアクセス権のみを付与する必要があります。
初期セキュリティ・タスク
このチェックリストを使用して、新しいOracle Cloud Infrastructureテナンシでコネクタ・ハブを保護するために実行するタスクを識別します。
タスク | 詳細情報 |
---|---|
IAMポリシーを使用したユーザーおよびリソースへのアクセス権の付与 | IAMポリシー |
定期的なセキュリティ・タスク
Connector Hubの開始後、このチェックリストを使用して、定期的に実行することが推奨されるセキュリティ・タスクを識別します。
コネクタ・ハブには、定期的に実行する必要があるセキュリティ・タスクはありません。
IAMポリシー
コネクタ・ハブへのアクセスを制限するには、ポリシーを使用します。
ポリシーは、Oracle Cloud Infrastructureリソースに誰がどのようにアクセスできるかを指定します。詳細は、ポリシーの仕組みを参照してください。
グループに、その職責を実行するために必要な最小限の権限を割り当てます。各ポリシーには、グループに許可されるアクションを記述する動詞があります。使用可能な動詞は、アクセス・レベルが低い方から順にinspect
、read
、use
、manage
です。
ユーザー・アクセス・ポリシー
コネクタを操作するには、ユーザーがグループに属している必要があり、ポリシーはそのグループにコンパートメントまたはテナンシ内の適切な認可を付与する必要があります。
コネクタの作成、更新および削除(キューまたはストリームなし)
指定されたグループに、指定されたコンパートメント内のコネクタの作成、更新および削除を許可します。
Allow group <group-name> to manage serviceconnectors in compartment <compartment-name>
コネクタのみの更新(キューまたはストリームなし)
指定したグループによって、指定したコンパートメント内のコネクタのみが更新されるようにします。グループはコネクタを作成または削除できません。
Allow group <group-name> to use serviceconnectors in compartment <compartment-name>
キューを含むコネクタの作成、更新および削除
指定されたグループが、指定されたコンパートメント内のキューを読み取り、キュー・ソースまたはキュー・ターゲットを使用するコネクタを作成および更新できるようにします。また、指定したコンパートメントのコネクタをグループから削除します。
Allow group <group-name> to manage serviceconnectors in compartment <compartment-name>
Allow group <group-name> to read queues in compartment <compartment-name>
ストリームを使用したコネクタの作成、更新および削除
指定されたグループが、指定されたコンパートメント内のストリームおよびストリーム・プールを読み取り、ストリーミング・ソースまたはストリーミング・ターゲットを使用するコネクタを作成および更新できるようにします。また、指定したコンパートメントのコネクタをグループから削除します。
Allow group <group-name> to manage serviceconnectors in compartment <compartment-name>
Allow group <group-name> to read stream-family in compartment <compartment-name>
コネクタ・ハブ・ポリシーの詳細は、コネクタ・ハブの詳細を参照してください。
サービス・アクセス・ポリシー
作成するすべてのポリシーが会社のガイドラインに準拠することを確認します。
データを移動するには、ソース、タスクおよびターゲット・サービス内の指定されたリソースにアクセスするための認可が必要です。一部のリソースにはポリシーなしでアクセスできます。コンソールを使用してコネクタを定義すると、必要な認可が用意されたデフォルト・ポリシーが提供されます。これらのポリシーは、コネクタのコンテキストに限定されます。デフォルト・ポリシーを受け入れるか、ユーザーおよびサービス・アクセス用のカスタム・ポリシーに適切な認可があることを確認できます。
たとえば、ロギングからモニタリングにデータを移動するコネクタを作成または編集するときに、次のデフォルト・ポリシーが提供されます。
allow any-user to use metrics in compartment id <target_metric_compartment_OCID>
where all {
request.principal.type='serviceconnector',
target.metrics.namespace='<metric_namespace>',
request.principal.compartment.id='<serviceconnector_compartment_OCID>'
}
デフォルト・ポリシーなどの詳細は、「ソース、タスクおよびターゲット・サービスへのアクセス」を参照してください。
クロステナンシ・コネクタ・アクセス
クロステナンシ・コネクタ・アクセスを使用して、独自のテナンシを持つ別の組織とコネクタを共有します。たとえば、会社内の別のビジネス・ユニット、会社の顧客または会社にサービスを提供する会社とコネクタを共有します。
他のテナンシのリソースにアクセスするコネクタを作成するには、OCI SDK、CLIまたはAPIを使用する必要があります。(コンソールのポリシー・ビルダーは、他のテナンシからの情報を提供したり、文の承認、許可または定義を提案したりしません。)CLIおよびAPIの手順については、コネクタの作成を参照してください。
リソースにアクセスして共有するには、両方のテナンシの管理者は、アクセスと共有が可能なリソースを明示的に示す特別なポリシー・ステートメントを作成する必要があります。これらの特別なステートメントは、定義、承認および許可という語句を使用します。これらの文の詳細は、クロステナンシ・アクセス・ポリシーを参照してください。
ソース・テナント・ポリシー・ステートメント
ソース・テナンシでポリシー・ステートメントを使用して、次のことを行います:
- 宛先テナンシからコネクタを許可して、(ソース)テナンシのリソースにアクセスします
- 接続先テナンシのリソースにアクセスするためのコネクタの承認
- 宛先テナンシのリソースにアクセスするためのグループの承認
次のポリシー・ステートメントの例は、読みやすくするためにフォーマットされています。これらの文のコピーを使用する前に、新しい行、タブおよびスペースを削除します。
- 宛先テナンシから任意のコネクタを許可して、(ソース)テナンシの特定の種類のリソースにアクセスします
-
Define tenancy DestinationTenancy as <destination_tenancy_OCID> Admit any-user of tenancy DestinationTenancy to <permissions_for_resource_kind> in compartment id <compartment_OCID_in_source_tenancy> where all { request.principal.type='serviceconnector', request.principal.compartment.id=<compartment_OCID_in_destination_tenancy>' }
- テナンシ内の任意のコネクタに対してなんらかのコネクタを実行するように(ソース)テナンシのグループを承認します
-
Endorse group <group_name> to manage serviceconnectors in any-tenancy
- 宛先テナンシ内の任意のコネクタのみに対して行うように(ソース)テナンシのグループを承認します
- テナンシ・アクセスの範囲を狭くするポリシーを記述するには、ソース管理者が、宛先管理者によって指定された宛先テナンシのOCIDを参照する必要があります。
宛先テナンシのポリシー・ステートメント
宛先テナンシでポリシー・ステートメントを使用して、次のことを行います:
- ソース・テナンシのリソースにアクセスするためのコネクタの承認
- ソース・テナンシからコネクタを許可して、(宛先)テナンシのリソースにアクセスします
- ソース・テナンシからグループまたは動的グループを許可して、(宛先)テナンシのリソースにアクセスします
次のポリシー・ステートメントの例は、読みやすくするためにフォーマットされています。これらの文のコピーを使用する前に、新しい行、タブおよびスペースを削除します。
- (宛先)テナンシ内の任意のコネクタを承認して、ソース・テナンシの特定の種類のリソースにアクセスします
-
Define tenancy SourceTenancy as <source_tenancy_OCID> Endorse any-user to <permissions_for_resource_kind> in tenancy SourceTenancy where all { request.principal.type='serviceconnector' }
- ソース・テナンシからグループを許可して、(宛先)テナンシ内の任意のコネクタで何でもします
-
Define tenancy SourceTenancy as <source_tenancy_OCID> Define group <group_name> as <group_OCID> Admit group <group_name> of tenancy SourceTenancy to manage serviceconnectors in tenancy
- (宛先テナンシ内の)
SharedConnectors
コンパートメント内のコネクタのみを読み取るために、ソース・テナンシからグループを許可します -
Define tenancy SourceTenancy as <source_tenancy_OCID> Define group <group_name> as <group_OCID> Admit group <group_name> of tenancy SourceTenancy to read serviceconnectors in compartment SharedConnectors
- (宛先テナンシ内の)
SharedConnectors
コンパートメント内のコネクタのみを読み取るために、ソース・テナンシから動的グループを許可します -
Define tenancy SourceTenancy as <source_tenancy_OCID> Define dynamic-group <dynamic_group_name> as <group_OCID> Admit dynamic-group <dynamic_group_name> of tenancy SourceTenancy to read serviceconnectors in compartment SharedConnectors
サンプル
- コネクタを作成する前に、クロステナンシ・ポリシーを記述します。クロステナンシ・コネクタを作成するには、OCI SDK、CLIまたはAPIを使用する必要があります。
- 次のポリシー・ステートメントの例は、読みやすくするためにフォーマットされています。これらの文のコピーを使用する前に、新しい行、タブおよびスペースを削除します。
- これらの例で説明されていないソース、ターゲットまたはタスク・リソースにアクセスするためのコネクタを承認または許可するには、デフォルト・ポリシーのリソース権限を使用します。
別のテナンシのストリーム・ソース
異なるテナンシのストリームからコネクタのテナンシのバケットにデータを移動するコネクタのポリシーを記述します。
コールアウト | 説明 |
---|---|
1 | コネクタ・ソースとして使用されるストリーム |
2 | ストリームからバケットにデータを移動するコネクタ |
3 | コネクタ・ターゲットとして使用されるバケット |
次に、テナンシBのコネクタを使用して、テナンシAのストリームからテナンシBのバケットにこのデータを移動するポリシーを示します。
- テナンシA
- テナンシBの指定されたコンパートメントのコネクタを許可して、このテナンシの指定されたコンパートメント内のストリームにアクセスします。
- テナンシB
- テナンシAのストリームにアクセスするために、このテナンシ内のすべてのコネクタを承認します。
別のテナンシのログ・ソース
コネクタが別のテナンシのログからコネクタのテナンシのログ・グループにデータを移動するポリシーを記述します。
コールアウト | 説明 |
---|---|
1 | コネクタ・ソースとして使用されるログ |
2 | ログからログ・グループにデータを移動するコネクタ |
3 | コネクタ・ターゲットとして使用されるログ・グループ |
- テナンシA
- テナンシBの指定されたコンパートメント内のコネクタを許可して、このテナンシの指定されたコンパートメント内のログにアクセスします。
- テナンシB
- テナンシーAにおける一切のログインにアクセスするために、このテナンシーにおける一切のコネクターを承認すること。
別のテナンシ内のファンクション・ターゲット
コネクタのテナンシのログから別のテナンシのファンクションにデータを移動するコネクタのポリシーを記述します。
コールアウト | 説明 |
---|---|
1 | コネクタ・ソースとして使用されるログ |
2 | ログから関数にデータを移動するコネクタ |
3 | コネクタ・ターゲットとして使用される機能 |
- テナンシA
- テナンシBの指定されたコンパートメント内のファンクションにアクセスするには、このテナンシの指定されたコンパートメント内のコネクタを承認します。
- テナンシB
- テナンシAのすべてのコネクタを許可して、このテナンシの任意の機能にアクセスします。
他のテナンシのソース・メトリックおよびターゲット・バケット
異なるテナンシ(A)のメトリックから別のテナンシ(C)のファンクションにデータを移動するコネクタのポリシーを記述します。
コールアウト | 説明 |
---|---|
1 | コネクタ・ソースとして使用されるメトリック |
2 | メトリックからバケットにデータを移動するコネクタ |
3 | コネクタ・ターゲットとして使用されるバケット |
- テナンシA
- テナンシBの指定されたコンパートメント内のコネクタを認め、このテナンシの指定されたコンパートメント内のメトリックにアクセスします。
- テナンシB
- テナンシAのメトリックにアクセスするために、このテナンシ内のすべてのコネクターを承認すること。
- テナンシC
- テナンシBの指定されたコンパートメントのコネクタを許可して、このテナンシの指定されたコンパートメント内の任意のバケットにデータを移動します。