A partir de 18 de agosto de 2021, o Container Service for Kubernetes (ACK) implementa autenticação aprimorada quando usuários e funções do Resource Access Management (RAM) fazem chamadas de API. Para evitar erros de autenticação devido a chamadas não autorizadas, verifique as políticas de RAM associadas aos usuários e funções da sua conta Alibaba Cloud e adicione as permissões necessárias conforme sua demanda.
Impacto
Com a autenticação aprimorada, se um usuário ou função do RAM tentar executar uma operação não autorizada, o console do ACK ou a API retornará uma mensagem de erro contendo RAM policy Forbidden ou STSToken policy Forbidden. A mensagem também incluirá a ação do RAM necessária para realizar a operação.
A mensagem de erro a seguir contém a ação do RAM denominada
cs:DescribeEvents
:
RAM policy Forbidden for action cs:DescribeEvents
A tabela a seguir lista as operações de API e as respectivas ações do RAM necessárias para chamá-las. Se seu usuário ou função do RAM não tiver autorização para chamar as operações listadas, acesse o console do RAM e conceda as permissões adequadas.
|
Operação |
Ação do RAM |
Descrição |
|
DescribeEvents |
cs:DescribeEvents |
|
|
StartAlert |
cs:StartAlert |
|
|
StopAlert |
cs:StopAlert |
|
|
DeleteAlertContact |
cs:DeleteAlertContact |
|
|
DeleteAlertContactGroup |
cs:DeleteAlertContactGroup |
|
|
OpenAckService |
cs:OpenAckService |
|
|
DescribeClusterResources |
cs:DescribeClusterResources |
|
|
DescribeUserQuota |
cs:DescribeUserQuota |
|
|
DescribeClustersV1 |
cs:DescribeClustersV1 |
|
|
DescribeExternalAgent |
cs:DescribeExternalAgent |
|
|
DescribeKubernetesVersionMetadata |
cs:DescribeKubernetesVersionMetadata |
|
|
DescribeClusterAddonUpgradeStatus |
cs:DescribeClusterAddonUpgradeStatus |
Consulta o progresso de atualização dos complementos do cluster |
|
DescribeClusters |
cs:DescribeClusters |
Consulta todos os clusters da conta, incluindo clusters Kubernetes e Swarm |
|
DescribeClusterNamespaces |
cs:DescribeClusterNamespaces |
|
|
ModifyCluster |
cs:ModifyCluster |
|
|
MigrateCluster |
cs:MigrateCluster |
|
|
UpdateK8sClusterUserConfigExpire |
cs:UpdateK8sClusterUserConfigExpire |
Atualiza o tempo de expiração das configurações personalizadas |
|
DescribeClusterNodes |
cs:DescribeClusterNodes |
Consulta detalhes de todos os nós de um cluster pelo ID do cluster |
|
DescribeClusterAttachScripts |
cs:DescribeClusterAttachScripts |
Consulta o script usado para adicionar instâncias a um cluster |
|
GetUpgradeStatus |
cs:GetUpgradeStatus |
Consulta o progresso de atualização de um cluster pelo ID do cluster |
|
UpgradeCluster |
cs:UpgradeCluster |
|
|
PauseClusterUpgrade |
cs:PauseClusterUpgrade |
|
|
CancelClusterUpgrade |
cs:CancelClusterUpgrade |
|
|
CreateTemplate |
cs:CreateTemplate |
|
|
DescribeTemplates |
cs:DescribeTemplates |
|
|
DescribeTemplateAttribute |
cs:DescribeTemplateAttribute |
Consulta detalhes de um modelo de orquestração pelo ID do modelo |
|
UpdateTemplate |
cs:UpdateTemplate |
|
|
DeleteTemplate |
cs:DeleteTemplate |
|
|
CreateKubernetesTrigger |
cs:CreateKubernetesTrigger |
|
|
GetKubernetesTrigger |
cs:GetKubernetesTrigger |
Consulta os gatilhos de uma aplicação pelo nome da aplicação |
|
DeleteKubernetesTrigger |
cs:DeleteKubernetesTrigger |
|
|
InstallClusterAddons |
cs:InstallClusterAddons |
|
|
DescribeAddons |
cs:DescribeAddons |
|
|
DescribeClusterAddonsUpgradeStatus |
cs:DescribeClusterAddonsUpgradeStatus |
Consulta o progresso de atualização de um componente pelo nome do componente |
|
DescribeClusterAddonsVersion |
cs:DescribeClusterAddonsVersion |
Consulta detalhes de todos os componentes de um cluster pelo ID do cluster |
|
ModifyClusterConfiguration |
cs:ModifyClusterConfiguration |
|
|
UpgradeClusterAddons |
cs:UpgradeClusterAddons |
Atualiza um componente para uma versão especificada pelo nome do componente |
|
PauseComponentUpgrade |
cs:PauseComponentUpgrade |
|
|
ResumeComponentUpgrade |
cs:ResumeComponentUpgrade |
|
|
CancelComponentUpgrade |
cs:CancelComponentUpgrade |
|
|
UnInstallClusterAddons |
cs:UnInstallClusterAddons |
|
|
CreateAutoscalingConfig |
cs:CreateAutoscalingConfig |
Modificar uma política do RAM
O exemplo a seguir mostra como modificar a política do RAM associada a um usuário ou função. Para mais informações sobre autorização no RAM, consulte Conceder acesso a clusters e recursos de nuvem com o RAM.
Scenario 1: A RAM user can perform only the cs:Get* action on a cluster and requires permissions on all read-only operations related to the cluster
O bloco de código a seguir mostra a política do RAM quando um usuário tem permissão para executar somente a ação
cs:Get*
em um cluster:
{
"Statement": [
{
"Action": "cs:Get*",
"Effect": "Allow",
"Resource": [
"acs:cs:*:*:cluster/c2e63856bcd714197****"
]
}
],
"Version": "1"
}
Se o usuário do RAM precisar de permissões para todas as operações de leitura relacionadas ao cluster, modifique a política do RAM conforme o bloco de código a seguir:
{
"Statement": [
{
"Action": [
"cs:Get*",
"cs:List*",
"cs:Describe*"
],
"Effect": "Allow",
"Resource": [
"acs:cs:*:*:cluster/c2e63856bcd714197****"
]
}
],
"Version": "1"
}
A ação
cs:Get*
não abrange todas as operações de leitura. Para conceder ao usuário do RAM permissões completas de leitura, adicione as ações
cs:List*
e
cs:Describe*
à política do RAM.
Scenario 2: Grant a RAM user the permissions on an individual operation related to a cluster
Para conceder a um usuário do RAM permissões para uma operação específica relacionada a um cluster, basta adicionar a ação do RAM correspondente à operação na política.
O bloco de código a seguir mostra a política do RAM atual:
{
"Statement": [
{
"Action": [
"cs:Get*",
"cs:List*",
"cs:Describe*"
],
"Effect": "Allow",
"Resource": [
"acs:cs:*:*:cluster/c2e63856bcd714197****"
]
}
],
"Version": "1"
}
Para conceder permissões para a operação
ModifyCluster
, adicione a ação do RAM correspondente
cs:ModifyCluster
à política, conforme mostrado no bloco de código a seguir:
{
"Statement": [
{
"Action": [
"cs:Get*",
"cs:List*",
"cs:Describe*",
"cs:ModifyCluster"
],
"Effect": "Allow",
"Resource": [
"acs:cs:*:*:cluster/c2e63856bcd714197****"
]
}
],
"Version": "1"
}
Scenario 3: Grant a RAM user permissions on operations that are not specific to individual clusters
Algumas operações de API não são específicas de clusters individuais, como CreateCluster, DescribeClusters e DescribeEvents. Para conceder a um usuário do RAM permissões para essas operações, não especifique IDs de cluster na seção Resource.
O bloco de código a seguir mostra a política do RAM atual:
{
"Statement": [
{
"Action": [
"cs:Get*",
"cs:List*",
"cs:Describe*"
],
"Effect": "Allow",
"Resource": [
"acs:cs:*:*:cluster/c2e63856bcd714197****"
]
}
],
"Version": "1"
}
Para conceder permissões para a operação
DescribeEvents
, adicione a ação do RAM correspondente
cs:DescribeEvents
à política, conforme mostrado no bloco de código a seguir:
{
"Statement": [
{
"Action": [
"cs:DescribeEvents"
],
"Effect": "Allow",
"Resource": [
"*"
]
},
{
"Action": [
"cs:Get*",
"cs:List*",
"cs:Describe*"
],
"Effect": "Allow",
"Resource": [
"acs:cs:*:*:cluster/c2e63856bcd714197****"
]
}
],
"Version": "1"
}