このページは機械翻訳したものです。

コネクタ・ハブの保護

このトピックでは、Oracle Cloud Infrastructure Connector Hubサービスのセキュリティ情報および推奨事項について説明します。

セキュリティの責任

Connector Hubを安全に使用するには、セキュリティとコンプライアンスの責任について学びます。

通常、Oracleはクラウド・インフラストラクチャおよび操作のセキュリティ(クラウド・オペレータのアクセス制御やインフラストラクチャ・セキュリティ・パッチ適用など)を提供します。クラウド・リソースをセキュアに構成する責任はユーザーにあります。クラウドのセキュリティは、ユーザーとOracleの共同責任です。

Oracleは、次のセキュリティ要件に対して責任を負います:

  • 物理セキュリティ: Oracleは、Oracle Cloud Infrastructureで提供されるすべてのサービスを実行するグローバル・インフラストラクチャを保護する責任を負います。このインフラストラクチャは、Oracle Cloud Infrastructureサービスを実行するハードウェア、ソフトウェア、ネットワーキングおよび設備で構成されます。

お客様のセキュリティの責任についてこのページで説明します。次のような領域があります:

  • アクセス制御: 可能なかぎり権限を制限します。ユーザーが作業を行うために必要なアクセス権のみを付与する必要があります。

初期セキュリティ・タスク

このチェックリストを使用して、新しいOracle Cloud Infrastructureテナンシでコネクタ・ハブを保護するために実行するタスクを識別します。

タスク 詳細情報
IAMポリシーを使用したユーザーおよびリソースへのアクセス権の付与 IAMポリシー

定期的なセキュリティ・タスク

Connector Hubの開始後、このチェックリストを使用して、定期的に実行することが推奨されるセキュリティ・タスクを識別します。

コネクタ・ハブには、定期的に実行する必要があるセキュリティ・タスクはありません。

IAMポリシー

コネクタ・ハブへのアクセスを制限するには、ポリシーを使用します。

ポリシーは、Oracle Cloud Infrastructureリソースに誰がどのようにアクセスできるかを指定します。詳細は、ポリシーの仕組みを参照してください。

グループに、その職責を実行するために必要な最小限の権限を割り当てます。各ポリシーには、グループに許可されるアクションを記述する動詞があります。使用可能な動詞は、アクセス・レベルが低い方から順にinspectreadusemanageです。

ユーザー・アクセス・ポリシー

このポリシーを作成して、グループConnectorUsersABCコンパートメント内のコネクタを作成、更新および削除できるようにします。

Allow group ConnectorUsers to manage serviceconnectors in compartment ABC

このポリシーを作成して、グループConnectorUsersABCコンパートメント内の(グループによるコネクタの作成または削除を許可しない)コネクタのみを更新できるようにします。

Allow group ConnectorUsers to use serviceconnectors in compartment ABC

コネクタ・ハブ・ポリシーの詳細は、コネクタ・ハブの詳細を参照してください。

サービス・アクセス・ポリシー

ノート

作成するすべてのポリシーが会社のガイドラインに準拠することを確認します。

データを移動するには、ソースタスクおよびターゲット・サービス内の指定されたリソースにアクセスするための認可が必要です。一部のリソースにはポリシーなしでアクセスできます。コンソールを使用してコネクタを定義すると、必要な認可が用意されたデフォルト・ポリシーが提供されます。これらのポリシーは、コネクタのコンテキストに限定されます。デフォルト・ポリシーを受け入れるか、ユーザーおよびサービス・アクセス用のカスタム・ポリシーに適切な認可があることを確認できます。

たとえば、ロギングからモニタリングにデータを移動するコネクタを作成または編集するときに、次のデフォルト・ポリシーが提供されます。

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 DestinationTenancy as <destination_tenancy_OCID>
Endorse group <group_name> to read serviceconnectors in tenancy DestinationTenancy

宛先テナンシのポリシー・ステートメント

宛先テナンシでポリシー・ステートメントを使用して、次のことを行います:

  • ソース・テナンシのリソースにアクセスするためのコネクタの承認
  • ソース・テナンシからコネクタを許可して、(宛先)テナンシのリソースにアクセスします
  • ソース・テナンシからグループまたは動的グループを許可して、(宛先)テナンシのリソースにアクセスします
ノート

次のポリシー・ステートメントの例は、読みやすくするためにフォーマットされています。これらの文のコピーを使用する前に、新しい行、タブおよびスペースを削除します。
(宛先)テナンシ内の任意のコネクタを承認して、ソース・テナンシの特定の種類のリソースにアクセスします
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の指定されたコンパートメントのコネクタを許可して、このテナンシの指定されたコンパートメント内のストリームにアクセスします。
Define tenancy ConnectorTenancy as <tenancy_b_OCID>
Admit any-user of tenancy ConnectorTenancy to {STREAM_READ, STREAM_CONSUME} in compartment id <compartment_OCID_in_tenancy_a>
    where all 
    { 
        request.principal.type='serviceconnector', 
        request.principal.compartment.id=<compartment_OCID_in_tenancy_b>' 
    }
テナンシB
テナンシAのストリームにアクセスするために、このテナンシ内のすべてのコネクタを承認します。
Define tenancy StreamTenancy as <tenancy_a_OCID>
Endorse any-user to {STREAM_READ, STREAM_CONSUME} in tenancy StreamTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
このテナンシの指定されたコンパートメントのコネクタで、バケット(同じテナンシ)にデータを移動できるようにします。
Allow any-user to manage objects in compartment id <target_bucket_compartment_OCID> 
    where all {
        request.principal.type='serviceconnector',
        target.bucket.name='<bucket_name>',          
        request.principal.compartment.id='<serviceconnector_compartment_OCID>'
    }
別のテナンシのログ・ソース

コネクタが別のテナンシのログからコネクタのテナンシのログ・グループにデータを移動するポリシーを記述します。


別のテナンシのログ・ソース
コールアウト 説明
1 コネクタ・ソースとして使用されるログ
2 ログからログ・グループにデータを移動するコネクタ
3 コネクタ・ターゲットとして使用されるログ・グループ
テナンシA
テナンシBの指定されたコンパートメント内のコネクタを許可して、このテナンシの指定されたコンパートメント内のログにアクセスします。
Define tenancy ConnectorTenancy as <tenancy_b_OCID>
Admit any-user of tenancy ConnectorTenancy to read log-content in compartment id <compartment_OCID_in_tenancy_a>
    where all 
    { 
        request.principal.type='serviceconnector', 
        request.principal.compartment.id=<compartment_OCID_in_tenancy_b>' 
    }
テナンシB
テナンシーAにおける一切のログインにアクセスするために、このテナンシーにおける一切のコネクターを承認すること。
Define tenancy LogTenancy as <tenancy_a_OCID>
Endorse any-user to read log-content in tenancy LogTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
このテナンシの指定されたコンパートメント内のコネクタが、データをログ・グループ(同じテナンシ)に移動できるようにします。
Allow any-user to use loganalytics-log-group in compartment id <target_log_group_compartment_OCID> 
    where all {
        request.principal.type='serviceconnector', 
        target.loganalytics-log-group.id=<log_group_OCID>, 
        request.principal.compartment.id=<serviceconnector_compartment_OCID>
    }
別のテナンシ内のファンクション・ターゲット

コネクタのテナンシのログから別のテナンシのファンクションにデータを移動するコネクタのポリシーを記述します。


別のテナンシ内のファンクション・ターゲット
コールアウト 説明
1 コネクタ・ソースとして使用されるログ
2 ログから関数にデータを移動するコネクタ
3 コネクタ・ターゲットとして使用される機能
テナンシA
テナンシBの指定されたコンパートメント内のファンクションにアクセスするには、このテナンシの指定されたコンパートメント内のコネクタを承認します。
Define tenancy FunctionTenancy as <tenancy_b_OCID>
Endorse any-user to use fn-function in tenancy FunctionTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
Define tenancy FunctionTenancy as <tenancy_b_OCID>
Endorse any-user to use fn-invocation in tenancy FunctionTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
このテナンシの指定されたコンパートメント内のコネクタがすべてのログ(同じテナンシ)にアクセスできるようにします。
Allow any-user to read log-content in compartment id <source_log_compartment_OCID>

    where all {
        request.principal.type='serviceconnector',         
        request.principal.compartment.id='<serviceconnector_compartment_OCID>'
    }
テナンシB
テナンシAのすべてのコネクタを許可して、このテナンシの任意の機能にアクセスします。
Define tenancy ConnectorTenancy as <tenancy_a_OCID>
Admit any-user to use fn-function in tenancy ConnectorTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
Define tenancy ConnectorTenancy as <tenancy_a_OCID>
Admit any-user to use fn-invocation in tenancy ConnectorTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
他のテナンシのソース・メトリックおよびターゲット・バケット

異なるテナンシ(A)のメトリックから別のテナンシ(C)のファンクションにデータを移動するコネクタのポリシーを記述します。


他のテナンシのソース・メトリックおよびターゲット・バケット
コールアウト 説明
1 コネクタ・ソースとして使用されるメトリック
2 メトリックからバケットにデータを移動するコネクタ
3 コネクタ・ターゲットとして使用されるバケット
テナンシA
テナンシBの指定されたコンパートメント内のコネクタを認め、このテナンシの指定されたコンパートメント内のメトリックにアクセスします。
Define tenancy ConnectorTenancy as <tenancy_b_OCID>
Admit any-user of tenancy ConnectorTenancy to read metrics in compartment id <compartment_OCID_in_tenancy_a>
    where all 
    { 
        request.principal.type='serviceconnector', 
        request.principal.compartment.id=<compartment_OCID_in_tenancy_b>' 
    }
テナンシB
テナンシAのメトリックにアクセスするために、このテナンシ内のすべてのコネクターを承認すること。
Define tenancy MetricTenancy as <tenancy_a_OCID>
Endorse any-user to read metrics in tenancy MetricTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
テナンシCの任意のバケットにアクセスするために、このテナンシ内のすべてのコネクターを承認すること。
Define tenancy BucketTenancy as <tenancy_c_OCID>
Endorse any-user to manage objects in tenancy BucketTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
テナンシC
テナンシBの指定されたコンパートメントのコネクタを許可して、このテナンシの指定されたコンパートメント内の任意のバケットにデータを移動します。
Define tenancy ConnectorTenancy as <tenancy_b_OCID>
Admit any-user of tenancy ConnectorTenancy to manage objects in compartment id <compartment_OCID_in_tenancy_c>
    where all 
    { 
        request.principal.type='serviceconnector', 
        request.principal.compartment.id=<compartment_OCID_in_tenancy_b>' 
    }