Este é o Guia do Desenvolvedor AWS CDK v2. O CDK v1 antigo entrou em manutenção em 1º de junho de 2022 e encerrou o suporte em 1º de junho de 2023.
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Solucione problemas comuns ao implantar aplicativos. AWS Cloud Development Kit (AWS CDK)
As entidades principais de serviço incorretas estão sendo criadas na implantação
Ao implantar aplicativos CDK que contêm funções AWS Identity and Access Management (IAM) com entidades de serviço, você descobre que domínios incorretos para as entidades de serviço estão sendo criados.
A seguir está um exemplo básico da criação de uma função do IAM que pode ser assumida pela Amazon CloudWatch Logs usando seu principal de serviço:
import * as cdk from 'aws-cdk-lib';
import * as iam from 'aws-cdk-lib/aws-iam';
import { Construct } from 'constructs';
export class MyCdkProjectStack extends cdk.Stack {
constructor(scope: Construct, id: string, props?: cdk.StackProps) {
super(scope, id, props);
// Create an IAM role for CloudWatch Logs to assume
const cloudWatchLogsRole = new iam.Role(this, 'CloudWatchLogsRole', {
assumedBy: new iam.ServicePrincipal('logs.amazonaws.com'), // This is for CloudWatch Logs
managedPolicies: [
iam.ManagedPolicy.fromAwsManagedPolicyName('service-role/AWSCloudWatchLogsFullAccess')
]
});
// You can then use this role in other constructs or configurations where CloudWatch Logs needs to assume a role
}
}
Quando você implanta essa pilha, uma entidade principal de serviço chamada logs.amazonaws.com
deve ser criada. Na maioria dos casos, Serviços da AWS use a seguinte nomenclatura para diretores de serviço:. service
.amazonaws.com
Causas comuns
Se você estiver usando uma versão AWS CDK anterior à v2.150.0, poderá encontrar esse bug. Nas AWS CDK versões mais antigas, a nomenclatura dos diretores de serviço não era padronizada, o que poderia levar à criação de diretores de serviço com domínios incorretos.
Na AWS CDK v2.51.0, uma correção foi implementada padronizando todas as entidades de serviço criadas automaticamente para serem usadas quando possível.
Essa correção estava disponível ao permitir o sinalizador de atributo de service
.amazonaws.com@aws-cdk/aws-iam:standardizedServicePrincipals
.
A partir da AWS CDK v2.150.0, esse se tornou o comportamento padrão.
Resolução
Atualize para AWS CDK v2.150.0 ou mais recente.
Se você não conseguir atualizar para a AWS CDK v2.150.0 ou mais recente, deverá atualizar para pelo menos a v2.51.0 ou mais recente. Em seguida, permita o seguinte sinalizador de atributo em seu arquivo cdk.json
: @aws-cdk/aws-iam:standardizedServicePrincipals
.