# IGrantable

Any object that has an associated principal that a permission can be granted to.

Extends: IGrantable
Implemented by: App, Service, ApiKeyCredentialProvider, BrowserCustom, BrowserCustomBase, CodeInterpreterCustom, CodeInterpreterCustomBase, Memory, MemoryBase, OAuth2CredentialProvider, OnlineEvaluationBase, OnlineEvaluationConfig, Policy, PolicyBase, PolicyEngine, PolicyEngineBase, Runtime, RuntimeBase, WorkloadIdentity, Agent, AgentBase, KnowledgeBase, KnowledgeBaseBase, Build, BuildBase, BuildFleet, FleetBase, GameServerGroup, GameServerGroupBase, Script, ScriptBase, Application, GoFunction, PythonFunction, Model, AppSyncBackedDataSource, AppSyncDynamoDbDataSource, AppSyncEventBridgeDataSource, AppSyncHttpDataSource, AppSyncLambdaDataSource, AppSyncOpenSearchDataSource, AppSyncRdsDataSource, BackedDataSource, DynamoDbDataSource, ElasticsearchDataSource, EventBridgeDataSource, HttpDataSource, LambdaDataSource, OpenSearchDataSource, RdsDataSource, AutoScalingGroup, BackupSelection, ApiKeyCredentialProvider, BrowserCustom, BrowserCustomBase, CodeInterpreterCustom, CodeInterpreterCustomBase, Memory, MemoryBase, OAuth2CredentialProvider, OnlineEvaluationBase, OnlineEvaluationConfig, Policy, PolicyBase, PolicyEngine, PolicyEngineBase, Runtime, RuntimeBase, WorkloadIdentity, SlackChannelConfiguration, OriginAccessIdentity, EdgeFunction, Fleet, PipelineProject, Project, UntrustedCodeBoundaryPolicy, BastionHostLinux, Instance, LaunchTemplate, ServiceAccount, ServiceAccount, Job, JobBase, PySparkEtlJob, PySparkFlexEtlJob, PySparkStreamingJob, PythonShellJob, ScalaSparkEtlJob, ScalaSparkFlexEtlJob, ScalaSparkStreamingJob, SparkJob, AccountPrincipal, AccountRootPrincipal, AnyPrincipal, ArnPrincipal, CanonicalUserPrincipal, CompositePrincipal, FederatedPrincipal, Group, LazyRole, ManagedPolicy, OpenIdConnectPrincipal, OrganizationPrincipal, Policy, PrincipalBase, PrincipalWithConditions, Role, SamlConsolePrincipal, SamlPrincipal, ServicePrincipal, SessionTagsPrincipal, StarPrincipal, UnknownPrincipal, User, WebIdentityPrincipal, DeliveryStream, ViaServicePrincipal, Alias, DockerImageFunction, Function, FunctionBase, QualifiedFunctionBase, SingletonFunction, Version, NodejsFunction, StateMachine, EmrContainersStartJobRun, SageMakerCreateModel, SageMakerCreateTrainingJob, AwsCustomResource, TriggerFunction

- Source: [`aws-iam/lib/principals.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0/packages/aws-cdk-lib/aws-iam/lib/principals.ts#L17)

## Properties

- `grantPrincipal`: [IPrincipal](/cdk/api/v2/docs/aws-cdk-lib.aws_iam.IPrincipal.html) — The principal to grant permissions to.
