-
Notifications
You must be signed in to change notification settings - Fork 4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(iam): move OpenIdConnectProvider to native Cfn resource #16014
Conversation
281f850
to
d86938f
Compare
An L1 construct is now available for OpenID IAM identity providers. This moves the previous L2 construct to use the L1 instead of the existing custom resource, relieving the user of both the resource overhead and the permissioning implications of the attached role. BREAKING CHANGE: `OpenIdConnectProvider::fromOpenIdConnectProviderArn` -> `OpenIdConnectProvider::fromOidcProviderArn` * **iam:** `OpenIdConnectProvider.openIdConnectProviderArn` -> `OpenIdConnectProvider::oidcProviderArn` * **iam:** `OpenIdConnectProviderProps.thumbprints` now requires at least one entry * **iam:** The custom resource behind `OpenIdConnectProvider` has been removed and is no longer available
Yes, I know this is a breaking change for IAM, and yes I know IAM is stable. But custom resource to stable CloudFormation resource seems like the right move to me in general. Happy to target this to a new branch or anything else. |
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
I don't disagree that this is better, but we have to think about the implications for already-deployed stacks. Can I make the following suggestion:
And then feature-flag the implementation of class OpenIdConnectProvider extends Resource {
constructor(...props) {
if (FeatureFlags.of(this).isEnabled(IAM_NATIVE_OPENID_CONNECT_PROVIDER)) {
new OpenIdConnectProviderNative(this, 'Default', props);
} else {
new OpenIdConnectCustomResource(this, 'Default', props);
}
}
} And then document the shit out of it... @eladb what do you think? BTW this needs to be a flag that does NOT go away in V2, because we want people to be able to upgrade to V2 without having to force a recreation of this resource. @nija-at as the person with the most state on Feature Flags, what would that look like? |
Just adding the feature flag and not doing anything extra for v2 will just work here.
|
924c117
to
ebfd5f2
Compare
This PR has been deemed to be abandoned, and will be closed. Please create a new PR for these changes if you think this decision has been made in error. |
An L1 construct is now available for OpenID IAM identity providers.
This moves the previous L2 construct to use the L1 instead of the
existing custom resource, relieving the user of both the resource
overhead and the permissioning implications of the attached role.
BREAKING CHANGE:
OpenIdConnectProvider::fromOpenIdConnectProviderArn
->OpenIdConnectProvider::fromOidcProviderArn
OpenIdConnectProvider.openIdConnectProviderArn
->OpenIdConnectProvider::oidcProviderArn
OpenIdConnectProviderProps.thumbprints
now requires at least one entryOpenIdConnectProvider
has been removed and is no longer availableBy submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license