Para restringir ainda mais as permissões da função RAM worker em clusters gerenciados do Container Service for Kubernetes (ACK), o ACK liberará gradualmente o componente aliyun-acr-credential-helper em 3 de abril de 2023. A nova versão desse componente deixará de depender da política de permissões associada à função RAM worker dos clusters gerenciados. Para garantir o funcionamento adequado da nova versão, atribua a função de sistema AliyunCSManagedAcrRole ao ACK.
Escopo do impacto
A alteração afeta apenas clusters gerenciados do ACK (incluindo ACK standard e ACK Pro) criados a partir de 3 de abril de 2023 que utilizam o aliyun-acr-credential-helper.
Clusters do ACK criados antes de 3 de abril de 2023 podem continuar usando o aliyun-acr-credential-helper normalmente, sem alterações.
Impacto
Caso você não Atribua a função AliyunCSManagedAcrRole ao ACK até 3 de abril de 2023, não será possível instale ou atualize o componente aliyun-acr-credential-helper em clusters gerenciados criados nessa data ou posteriormente.
Nesse cenário, o console exibirá a mensagem Failed to pass the precheck. para o componente. Clique em View Report e siga as instruções na página para Atribuir a função AliyunCSManagedAcrRole ao ACK.
Essa mudança não afeta os clusters criados antes de 3 de abril de 2023, que continuam operando com o aliyun-acr-credential-helper como antes. No entanto, para clusters criados em 3 de abril de 2023 ou depois, o pull de imagens via aliyun-acr-credential-helper sofre impacto. A tabela a seguir detalha os efeitos e apresenta recomendações.
| Cenário de pull de imagem | Implementação | Status da política de permissões da função RAM worker | Impacto e sugestão |
| Pull de imagens na mesma conta | A política não foi modifique. | Sem impacto. Use o método padrão para instale e utilizar a nova versão do componente. | |
| A política foi modifique para permitir a personalização de políticas de permissão do Container Registry. | Por padrão, a nova versão do componente não suporta a personalização de políticas de permissão do Container Registry. Se desejar personalizar essa política, considere as seguintes sugestões:
| ||
| Pull de imagens de uma conta diferente | Assumir a função RAM worker | A política foi modifique. Neste caso, altere a função RAM worker. | Para fazer o pull de imagens de outra conta, atente-se às recomendações abaixo:
|
| Usar o modo RRSA | A política não foi modifique. Não é preciso alterar a função RAM worker. | Sem impacto. Continue utilizando este método para puxar imagens. | |
| Utilizar o AccessKey ID e o AccessKey secret de um usuário RAM | A política não foi modifique. Não é preciso alterar a função RAM worker. | Sem impacto. Continue utilizando este método para puxar imagens. | |
| Pull de imagens entre regiões | A política não foi modifique. | Sem impacto. Use o método padrão para instale e utilizar a nova versão do componente. | |
| A política foi modifique para permitir a personalização de políticas de permissão do Container Registry. | Por padrão, a nova versão do componente não suporta a personalização de políticas de permissão do Container Registry. Se desejar personalizar essa política, considere as seguintes sugestões:
| ||
Atribuir a função AliyunCSManagedAcrRole ao ACK
Você ainda pode atribuir a função de sistema AliyunCSManagedAcrRole ao ACK após 3 de abril de 2023. Contudo, para assegurar a instale e atualize do componente aliyun-acr-credential-helper em clusters criados a partir dessa data assim que a nova versão for lançada, recomendamos atribuir a função AliyunCSManagedAcrRole ao ACK antes de 3 de abril de 2023. Esta seção explica como proceder.
Execute essa autorização apenas uma vez por conta Alibaba Cloud.
Procedimento
Faça login no console de Autorização de Acesso a Recursos na Nuvem usando uma conta Alibaba Cloud ou um usuário RAM com a permissão AdministratorAccess.
Na página Cloud Resource Access Authorization, clique em Confirm Authorization Policy para atribuir a função AliyunCSManagedAcrRole ao ACK.
Política de permissões
Por padrão, o componente aliyun-acr-credential-helper depende da seguinte política de permissões:
{
"Action": [
"cr:GetAuthorizationToken",
"cr:ListInstanceEndpoint",
"cr:PullRepository"
],
"Resource": [
"*"
],
"Effect": "Allow"
}