マネージドKubernetesクラスターのワーカーロールにアタッチされているデフォルトの権限ポリシーWorkerRolePolicyには、過剰な権限があります。 マルチテナントシナリオでのデータセキュリティとリソースの分離を改善するために、Container Service for Kubernetes (ACK) は、マネージドKubernetesクラスターのワーカーノードに割り当てられたRAMロールの権限を減らします。
RAMロールの割り当て
ACKは、アドオン管理に必要な権限をワーカーRAMロールから削除し、さまざまなアドオンの権限を管理するための新しいシステムロールを導入します。 権限を減らした後、ACKコンソールで新しいマネージドKubernetesクラスターを作成すると、次のメッセージが表示されます。 Alibaba Cloudアカウントでログインするか、AliyunRAMFullAccessまたはAdministratorAccessポリシーが付与されたRAMユーザーとしてログインし、[RAMコンソールに移動] をクリックして権限付与を実行します。
APIを呼び出してACKクラスターを作成する場合は、[RAMアクセス制御] をクリックして必要なRAMロールを割り当てます。
[クラウドリソースアクセス権限付与] ページの下部にある [権限付与ポリシーの確認] をクリックします。 次に、[ACKコンソール] に再度ログインし、ACKクラスターを作成します。
上記の操作では、次のシステムロールがアカウントに割り当てられます。 これらのロールは、APIを呼び出してアドオンを管理するために必要です。
AliyunCSManagedLogRole
AliyunCSManagedCmsRole
AliyunCSManagedCsiRole
AliyunCSManagedVKRole
AliyunCSManagedNetworkRole
AliyunCSManagedArmsRole
次のコードブロックは、権限を減らした後にACKクラスターのワーカーRAMロールにアタッチされるデフォルトのRAMポリシーを示しています
{
"Version": "1",
"Statement": [{
"Action": [
"ecs:DescribeInstanceAttribute",
"ecs:DescribeInstanceTypesNew",
"ecs:DescribeInstances"
],
"Resource": [
"*"
],
"Effect": "Allow"
},
{
"Action": [
"log:GetProject",
"log:GetLogStore",
"log:GetConfig",
"log:GetMachineGroup",
"log:GetAppliedMachineGroups",
"log:GetAppliedConfigs",
"log:GetIndex",
"log:GetSavedSearch",
"log:GetDashboard",
"log:GetJob"
],
"Resource": [
"*"
],
"Effect": "Allow"
},
{
"Action": [
"cr:GetAuthorizationToken",
"cr:ListInstanceEndpoint",
"cr:PullRepository"
],
"Resource": [
"*"
],
"Effect": "Allow"
}
]
}