Back to Releases
v2.184.1 2025年3月14日

AWS CDK v2.184.1 リリース解説

IAMのOrganizationPrincipalにおけるトークン使用時のリグレッションを修正したメンテナンスリリースです。

iam

概要

AWS CDK v2.184.1は、v2.184.0で導入されたIAMのOrganizationIDバリデーション機能によるリグレッションを修正するメンテナンスリリースです。このリリースでは、CDKトークンを使用した動的なOrganization ID指定が再び可能になります。

差し戻し(Reverts)

IAM: OrganizationIDパターン検証の差し戻し

v2.184.0で追加されたIAM OrganizationPrincipalのOrganization IDに対する正規表現バリデーション機能(PR #33555)が差し戻されました(PR #33773)。

差し戻しの理由

v2.184.0では、空の文字列や不正な形式のOrganization IDを防ぐため、以下の正規表現バリデーションが追加されていました:

// v2.184.0で追加されたバリデーション(現在は削除済み)
if (!organizationId.match(/^o-[a-z0-9]{10,32}$/)) {
  throw new Error(`Expected Organization ID must match regex pattern ^o-[a-z0-9]{10,32}$, received ${organizationId}`);
}

しかし、このバリデーションにより、CDKトークン(CloudFormationのパラメータや他のスタックからの出力値など)を使用してOrganization IDを動的に指定している既存のコードが動作しなくなるリグレッションが発生しました。

影響を受けるコードの例

以下のようにトークンを使用するコードが影響を受けました:

import * as iam from 'aws-cdk-lib/aws-iam';
import * as cdk from 'aws-cdk-lib';

// CFnパラメータからOrganization IDを取得
const orgIdParam = new cdk.CfnParameter(this, 'OrganizationId', {
  type: 'String',
  description: 'AWS Organization ID',
});

// トークン(実行時に解決される値)を使用
// v2.184.0では、トークンが正規表現にマッチせずエラーになっていた
const principal = new iam.OrganizationPrincipal(orgIdParam.valueAsString);

// 別のスタックからの出力値を使用する場合も同様
const orgIdFromOtherStack = cdk.Fn.importValue('MyOrgId');
const principalFromImport = new iam.OrganizationPrincipal(orgIdFromOtherStack);

修正後の動作

v2.184.1では、上記のバリデーションが削除され、トークンを使用したOrganization IDの指定が再び可能になりました。Organization IDは実行時(CloudFormationのデプロイ時)に解決されるため、静的なバリデーションを行うことができません。

ただし、Organization IDの形式に関する問題を防ぐには、以下のベストプラクティスを推奨します:

  • 可能な限り、ハードコードされた正しい形式のOrganization IDを使用する
  • トークンを使用する場合は、入力値のバリデーションをアプリケーションレベルで実施する
  • CloudFormationパラメータを使用する場合は、AllowedPatternで正規表現検証を追加する
const orgIdParam = new cdk.CfnParameter(this, 'OrganizationId', {
  type: 'String',
  description: 'AWS Organization ID',
  // CloudFormationレベルでのバリデーション
  allowedPattern: '^o-[a-z0-9]{10,32}$',
  constraintDescription: 'Organization ID must match pattern o-[a-z0-9]{10,32}',
});

Alpha モジュール (2.184.1-alpha.0)

Alphaモジュールに変更はありません。

まとめ

AWS CDK v2.184.1は、v2.184.0で導入されたIAM OrganizationPrincipalのバリデーションによるリグレッションを修正したメンテナンスリリースです。トークン(CFnパラメータやスタック出力値など)を使用してOrganization IDを動的に指定している既存のコードが再び動作するようになります。

v2.184.0からv2.184.1へのアップグレードは、トークンを使用したOrganizationPrincipalを含むコードに対して安全です。v2.184.0で発生していたエラーが解消されます。

詳細な変更内容については、公式リリースノートをご確認ください。