きめ細かいアクセス制御のための IAM Conditions
このページでは、IAM Conditions を使用して接続へのアクセスを制限する方法について説明します。
IAM 条件を使用すると、Integration Connectors リソースをきめ細かく制御できます。デフォルトでは、Integration Connectors ユーザーまたはロールで、接続に対してサポートされているすべての操作を実行できます。IAM Conditions を使用すると、特定のユーザーまたはロールが接続に対して選択したオペレーションのみを実行するように制限できます。たとえば、ユーザーが test-connection
で始まる名前の接続のみを変更できるように制限し、イベントへの登録やスキーマのメタデータの表示など、接続に対するその他の権限を持たないようにすることができます。
準備
Integration Connectors は、Google Cloud の Identity and Access Management(IAM)を使用して、Integration Connectors リソースのロールと権限を管理します。したがって、Integration Connectors リソースに対する IAM の条件を指定または変更する前に、次の IAM コンセプトをよく理解してください。
IAM 条件の追加
Integration Connectors リソースに IAM 条件を追加するには、次の情報が必要です。
- 名前付きリソース URI - Integration Connectors 内のすべてのリソースに一意のリソース URI があります。たとえば、接続リソースの URI は
projects/PROJECT_ID/locations/CONNECTION_LOCATION/connections/{connection_name}
です。 使用可能なすべての URI の一覧については、Integration Connectors REST リソースをご覧ください。 リソースに対するアクセス権限をきめ細かいレベルで制御するには、命名規則に従ってリソースに名前を付ける必要があります。要件に基づいて、使用する命名規則を決定できます。たとえば、マーケティング チームが所有するすべての接続には、接頭辞marketing-
を付けることができます。この例では、マーケティング チームの接続のリソース URI は、projects/PROJECT_ID/locations/CONNECTION_LOCATION/connections/marketing-
で始まります。 - 親のみの権限 - リソースまたはその子リソースに親のみの権限が必要であるかどうかを確認します。詳細については、親のみの権限をご覧ください。
- リソースタイプ: 条件でリソースタイプをフィルタリングすることで、リソースの範囲をさらに絞り込むことができます。Integration Connectors は、次のリソースの条件をサポートしています。
リソース名 リソースの種類 接続 connectors.googleapis.com/Connection ManagedZone connectors.googleapis.com/ManagedZone EndpointAttachment connectors.googleapis.com/EndpointAttachment EventSubscription connectors.googleapis.com/EventSubscription ConnectionSchemaMetadata connectors.googleapis.com/ConnectionSchemaMetadata
例
次の表は、Integration Connectors ユーザーまたはロールに適用できるサンプル リソース条件の一覧です。
IAM リソースの条件 | 説明 |
---|---|
(resource.name.startsWith
("projects/PROJECT_ID/locations/CONNECTION_LOCATION/
connections/marketing-") && resource.type == "connectors.googleapis.com/Connection"))
|| resource.type != "connectors.googleapis.com/Connection" |
この条件を適用するユーザーまたはロールは、次のオペレーションのみを実行できます。
|
(resource.name.startsWith ("projects/PROJECT_ID/locations/CONNECTION_LOCATION/ connections/marketing-") && resource.type == "connectors.googleapis.com/Connection") || (resource.name.startsWith ("projects/PROJECT_ID/locations/CONNECTION_LOCATION/ connections/marketing-") && resource.type == "connectors.googleapis.com/ConnectionSchemaMetadata") || (resource.type != "connectors.googleapis.com/Connection" && resource.type != "connectors.googleapis.com/ConnectionSchemaMetadata") |
この条件を適用するユーザーまたはロールは、次のオペレーションのみを実行できます。
|
Application Integration サービス アカウント用の IAM Conditions の追加
Application Integration サービス アカウントに IAM Conditions を適用できます。これにより、統合の実行中にサービス アカウントでアクセスできる接続を制限できます。たとえば、名前が marketing-
で始まる接続のみにアクセスできるようにサービス アカウントを制限できます。
詳細については、IAM 条件をサービス アカウントに適用するをご覧ください。
次の表に、Application Integration サービス アカウントに適用できるサンプル リソース条件を示します。
IAM リソースの条件 | 説明 |
---|---|
resource.name.startsWith ("projects/PROJECT_ID/locations/CONNECTION_LOCATION/ connections/marketing-") |
この条件が適用されるサービス アカウントでは、名前が marketing- で始まる接続のみを実行できます。 |
次のステップ
IAM のドキュメントで次の情報を確認します。