ACK マネージドクラスターは、すべてのノードで共有されるデフォルトのワーカー Resource Access Management (RAM) ロールを自動的に作成します。デフォルトのワーカー RAM ロールを使用して権限を付与すると、権限はクラスター内のすべてのノード間で共有されるため、意図せず必要以上の権限が付与される可能性があります。作成時にカスタムワーカー RAM ロールをノードプールに割り当てることができます。異なるノードプールに特定のロールを割り当てることで、各ノードプールの権限を分離し、クラスター内のすべてのノードが同じ権限を共有するリスクを軽減できます。
前提条件
ACK マネージドクラスターが作成されており、クラスターは Kubernetes 1.22 以降を実行していること。
ステップ 1: RAM ロールの作成
コンソール、OpenAPI、または Terraform を使用して、ワーカー RAM ロールを作成できます。
RAM ロールの名前は、KubernetesMasterRole- または KubernetesWorkerRole- で始めることはできません。
RAM ロールの信頼できるサービスは、[Elastic Compute Service] である必要があります。
コンソールでの RAM ロールの作成
コンソールで RAM ロールを作成する方法については、「通常のサービスロールの作成」をご参照ください。
OpenAPI または Terraform を使用した RAM ロールの作成
OpenAPI または Terraform を使用して RAM ロールを作成する際は、信頼ポリシーが次のように構成されていることを確認してください。詳細については、「RAM ロールの信頼ポリシーの編集」をご参照ください。
{
"Statement": [
{
"Action": "sts:AssumeRole",
"Effect": "Allow",
"Principal": {
"Service": [
"ecs.aliyuncs.com"
]
}
}
],
"Version": "1"
}ステップ 2: ノードプール作成時のワーカー RAM ロールの割り当て
カスタムワーカー RAM ロールは、クラスターまたはノードプールの作成時にのみ割り当てることができます。既存のノードプールのワーカー RAM ロールは変更できません。
ACK コンソールでクラスターまたはノードプールを作成する際、ノードプールの [詳細オプション] 構成で、[ワーカー RAM ロール] として「ステップ 1: RAM ロールの作成」で作成したカスタムロールを選択します。
詳細については、「クラスター作成時のノードプールの詳細オプション」および「ノードプール作成時の詳細構成」をご参照ください。
RAM ユーザーまたは RAM ロールへの必要な権限の付与
この機能を RAM ユーザーまたは RAM ロールとして使用する場合、指定された RAM ロールをワーカー RAM ロールとして使用することをユーザーまたはロールに許可するために、ram:PassRole 権限ポリシーも付与される必要があります。詳細については、「カスタムポリシーの作成」、「RAM ユーザーへの権限付与」、および「RAM ロールへの権限付与」をご参照ください。
RAM ユーザーまたは RAM ロールに AliyunCSFullAccess 権限がすでに付与されている場合、追加の ram:PassRole 権限を付与する必要はありません。
RAM 権限ポリシーの例:
特定の RAM ロールの使用を承認する | すべての RAM ロールの使用を承認する |
RAM ロールの ARN を取得するには、「RAM ロールの ARN を表示する方法」をご参照ください。 | |
関連操作
デフォルトでは、RAM ロールは作成後に権限を持ちません。
コンソールでカスタムポリシーを作成して権限を付与するには、「カスタムポリシーの作成」および「RAM ロールへの権限付与」をご参照ください。
OpenAPI を使用してカスタムポリシーを作成し、権限を付与するには、「CreatePolicy - 権限ポリシーの作成」および「AttachPolicyToRole - 指定されたロールへの権限の追加」をご参照ください。
Terraform を使用してカスタムポリシーを作成し、権限を付与するには、「Terraform を使用した RAM ロールの作成と権限の付与」をご参照ください。
不要になった権限は、できるだけ早くワーカー RAM ロールから取り消してください。詳細については、「RAM ロールからの権限の取り消し」をご参照ください。