このドキュメントでは、セキュアタグを作成して Managed Service for Apache Spark クラスタに接続し、タグを使用してクラスタ ネットワーキングを保護する方法について説明します。
セキュアタグを使用するメリット
セキュアタグには、Identity and Access Management アクセス制御、タグの継承、単一の VPC ネットワーク バインディングなど、ネットワーク タグとは主な違いがあります。これにより、次の主なメリットがもたらされます。
IAM ポリシーでセキュアタグを使用すると、条件付きアクセス制御が有効になり、タグの有無に基づいてロールを付与または拒否することでセキュリティが強化されます。
VPC ファイアウォール ルールとは異なり、セキュアタグによって強化されたネットワーク ファイアウォール ポリシーでは、複数のルールを効率的にグループ化して同時に更新できます。これらのルールはすべて IAM アクセス制御によって管理されます。ネットワーク タグを使用する VPC ファイアウォール ルールと比較して、セキュアタグはネットワーク ファイアウォール ポリシー内のセキュリティと管理機能を強化します。
Resource Manager タグとネットワーク タグの違いについては、タグとネットワーク タグの比較をご覧ください。
Resource Manager タグとラベルの違いについては、タグとラベルをご覧ください。
始める前に
このページの例を実行するには、特定の IAM ロールが必要です。組織のポリシーによっては、これらのロールがすでに付与されている場合があります。ロール付与を確認するには、ロールを付与する必要がありますか?をご覧ください。
ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。
ユーザー ロール
タグの作成に必要な権限を取得するには、Resource Manager タグに対する タグ管理者(roles/resourcemanager.tagAdmin)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
サービス アカウント ロール
Managed Service for Apache Spark サービス エージェント サービス アカウント に、Managed Service for Apache Spark クラスタに安全なタグを適用するために必要な権限が付与されるようにするには、プロジェクトに対する Managed Service for Apache Spark サービス エージェント ロール(roles/dataproc.serviceAgent)IAM ロールを Managed Service for Apache Spark サービス エージェント サービス アカウント に付与するよう管理者に依頼してください。
制限事項
- セキュアタグをクラスタに適用できるのは、クラスタの作成時のみです。
- セキュアタグの更新と削除はサポートされていません。
セキュアタグを作成する
セキュアタグを Managed Service for Apache Spark クラスタに適用するには、まず、指定されたキーと 1 つ以上の値を使用して Resource Manager タグを作成する必要があります。
Managed Service for Apache Spark クラスタにセキュアタグを適用する
セキュアタグ TAG_KEY:TAG_VALUE ペアを指定して、Managed Service for Apache Spark クラスタを作成します。
Google Cloud CLI
Managed Service for Apache Spark クラスタを作成してクラスタにセキュアタグを追加するには、--resource-manager-tags フラグを指定して gcloud Managed Service for Apache Spark clusters create コマンドを実行します。
gcloud dataproc clusters create CLUSTER_NAME \
--region REGION \
--resource-manager-tags=TAG_KEY=TAG_VALUE
次のように置き換えます。
- CLUSTER_NAME: 新しいクラスタの名前。
- REGION: クラスタを配置する Compute Engine のリージョン。
- TAG_KEY と TAG_VALUE: 作成した Resource Manager タグのキーと値。タグキーは、次のように名前空間形式または非名前空間形式で指定できます。
- 名前空間の形式:
PROJECT-ID/KEY_NAME=PROJECT-ID/KEY_NAME/KEY_VALUE。例:
--resource-manager-tags="test-project/testkey"=test-project/testkey/testvalue
- Namespace なしの形式:
tagKeys/TAG_KEY_ID=tagValues/TAG_VALUE_ID例:
--resource-manager-tags=tagKeys/123456789012=tagValues/987654321098
- 名前空間の形式:
REST
Managed Service for Apache Spark クラスタを作成してクラスタにセキュアタグを追加するには、"TAG_KEY":"TAG_VALUE" セキュアタグをクラスタに接続する clusters.create リクエストの一部として resourceManagerTags フィールドを含めます。
{
"clusterName": "CLUSTER_NAME",
"config": {
"gceClusterConfig": {
"resourceManagerTags": {
"TAG_KEY":"TAG_VALUE"
}
}
}
}
次のように置き換えます。
- CLUSTER_NAME: 新しいクラスタの名前。
- TAG_KEY と TAG_VALUE: 作成した Resource Manager タグのキーと値。タグキーは、次のように名前空間形式または非名前空間形式で指定できます。
- 名前空間の形式:
PROJECT-ID/KEY_NAME:PROJECT-ID/KEY_NAME/KEY_VALUE。例:
"test-project/testkey":"test-project/testkey/testvalue"
- 名前空間なしの形式:
tagKeys/TAG_KEY_ID:tagValues/TAG_VALUE_ID例:
"tagKeys/123456789012":"tagValues/987654321098"
- 名前空間の形式:
クラスタ ネットワーキングにセキュアタグを使用する
セキュアタグをクラスタに接続したら、セキュアタグを使用してクラスタ ネットワーキングを構成します。
- セキュアタグを使用してファイアウォール ルールを定義します。