Skip to content
v2.275.0

AuthorizationMode Struct ​

Interface to specify default or additional authorization(s).

Example ​

ts
import * as appsync from 'aws-cdk-lib/aws-appsync';

const api = new appsync.GraphqlApi(this, 'api', {
  name: 'api',
  definition: appsync.Definition.fromFile('schema.graphql'),
  authorizationConfig: {
    defaultAuthorization: { authorizationType: appsync.AuthorizationType.IAM }
  },
});

const rule = new events.Rule(this, 'Rule', {
  schedule: events.Schedule.rate(cdk.Duration.hours(1)),
});

rule.addTarget(new targets.AppSync(api, {
  graphQLOperation: 'mutation Publish($message: String!){ publish(message: $message) { message } }',
  variables: events.RuleTargetInput.fromObject({
    message: 'hello world',
  }),
}));

Properties ​

apiKeyConfigoptionalApiKeyConfigapi_key_configoptionalApiKeyConfigapiKeyConfigoptionalApiKeyConfigApiKeyConfigoptionalApiKeyConfigApiKeyConfigoptionalApiKeyConfig#
If authorizationType is `AuthorizationType.API_KEY`, this option can be configured.

Default: name: 'DefaultAPIKey' | description: 'Default API Key created by CDK'

authorizationTypeAuthorizationTypeauthorization_typeAuthorizationTypeauthorizationTypeAuthorizationTypeAuthorizationTypeAuthorizationTypeAuthorizationTypeAuthorizationType= `AuthorizationType.API_KEY`required#
One of possible four values AppSync supports.
lambdaAuthorizerConfigoptionalLambdaAuthorizerConfiglambda_authorizer_configoptionalLambdaAuthorizerConfiglambdaAuthorizerConfigoptionalLambdaAuthorizerConfigLambdaAuthorizerConfigoptionalLambdaAuthorizerConfigLambdaAuthorizerConfigoptionalLambdaAuthorizerConfig= none#
If authorizationType is `AuthorizationType.LAMBDA`, this option is required.
openIdConnectConfigoptionalOpenIdConnectConfigopen_id_connect_configoptionalOpenIdConnectConfigopenIdConnectConfigoptionalOpenIdConnectConfigOpenIdConnectConfigoptionalOpenIdConnectConfigOpenIdConnectConfigoptionalOpenIdConnectConfig= none#
If authorizationType is `AuthorizationType.OIDC`, this option is required.
userPoolConfigoptionalUserPoolConfiguser_pool_configoptionalUserPoolConfiguserPoolConfigoptionalUserPoolConfigUserPoolConfigoptionalUserPoolConfigUserPoolConfigoptionalUserPoolConfig= none#
If authorizationType is `AuthorizationType.USER_POOL`, this option is required.