IAM の条件を追加する
Identity and Access Management(IAM)条件を使用すると、Application Integration リソースを含めて、Google Cloud リソースに条件付きの属性ベースのアクセス制御を定義して適用できます。IAM Conditions の詳細については、IAM Conditions の概要をご覧ください。
Application Integration では、次の属性に基づいて条件付きアクセスを適用できます。
- 日時属性: Application Integration リソースに対する一時的な(有効期限のある)アクセス権、スケジュールに基づくアクセス権、または期間限定のアクセス権を設定するために使用します。たとえば、指定した日付までユーザーが Integration にアクセスできるようにすることができます。詳細については、一時アクセスの構成をご覧ください。
- リソース属性: リソース名、リソースタイプ、リソース サービス属性に基づいて条件付きアクセスを構成するために使用します。たとえば、特定のリージョンで作成された Integration をユーザーが管理できるようにすることが可能です。 サポートされている値の一覧の詳細については、リソースベースのアクセスの構成をご覧ください。
IAM の条件を追加
IAM 条件を既存のプリンシパル(ユーザー、グループ、またはサービス アカウント)に追加するには、次の手順を行います。
- Google Cloud コンソールで、[IAM] ページに移動します。
IAM に移動します。
- プロジェクト、フォルダ、または組織を選択します。
- プリンシパルのリストから、IAM 条件を追加するプリンシパルを見つけて、[(プリンシパルの編集)] をクリックします。
[アクセス権の編集] ペインが表示されます。
- IAM 条件を追加するロールを見つけ、[+ IAM 条件を追加] をクリックします。
- [条件の追加] ペインで、次の情報を入力します。
- タイトル: ロールに追加する条件の名前を入力します。
- 説明: (省略可)条件の説明を入力します。
- 条件ビルダーまたは条件エディタを使用して条件を追加できます。
条件ビルダーには、目的の条件タイプ、演算子、その他の式に関する適用可能な詳細を選択するインタラクティブなインターフェースが用意されています。条件エディタには、CEL 構文を使用して条件式を手動で入力するテキストベースのインターフェースが用意されています。
条件ビルダーまたは条件エディタの使用方法の詳細については、リソースベースのアクセスを構成するをご覧ください。
- [保存] をクリックして条件を適用します。
Application Integration でサポートされているリソース属性については、リソース属性値をご覧ください。
- プリンシパルを更新するには、[アクセス権の編集] ペインからもう一度 [保存] をクリックします。
リソースの属性値
次のテーブルに、Application Integration のリソースタイプ属性に含めることができる値を示します。
| リソース名 | リソースの種類 | 関連資料 |
|---|---|---|
| ロケーション | integrations.googleapis.com/Location
|
API リファレンス |
| Integration | integrations.googleapis.com/Integration
|
API リファレンス |
| IntegrationVersion | integrations.googleapis.com/IntegrationVersion
|
API リファレンス |
| Execution | integrations.googleapis.com/Execution
|
API リファレンス |
| Suspension | integrations.googleapis.com/Suspension
|
API リファレンス |
| AuthConfig | integrations.googleapis.com/AuthConfig
|
API リファレンス |
Application Integration に IAM Condtions を使用する例
例 1: リージョン内の任意の IntegrationVersion リソースへのアクセスを制限する
条件エディタで次の条件式を使用して、IntegrationVersion リソースへのアクセスを制限できます。アクセスの制限には、リージョン内の Integration のバージョンに対する、create、delete、download、get、list、patch、publish、unpublish、upload オペレーションの制限が含まれます。
(resource.name.startsWith("projects/PROJECT_ID/locations/LOCATION/integrations/INTEGRATION_NAME")) ||
resource.type == "integrations.googleapis.com/Location" ||resource.type == "cloudresourcemanager.googleapis.com/Project"次のように置き換えます。
PROJECT_ID: Google Cloud プロジェクトの ID。LOCATION: インテグレーションのロケーション。Application Integration のロケーションをご覧ください。INTEGRATION_NAME: インテグレーションの名前。
例 2: リージョン内の任意の IntegrationVersion リソースへのアクセスを許可する
条件エディタで次の条件式を使用して、IntegrationVersion リソースへのアクセスを許可できます。
resource.name.startsWith("projects/PROJECT_ID/locations/LOCATION/") ||
resource.type == "integrations.googleapis.com/Location" ||
resource.type == "cloudresourcemanager.googleapis.com/Project"次のように置き換えます。
PROJECT_ID: Google Cloud プロジェクトの ID。LOCATION: インテグレーションのロケーション。サポートされているロケーションについては、Application Integration のロケーションをご覧ください。