ChannelPolicy
Learn how to create, update, and manage AWS MediaPackageV2 ChannelPolicys using Alchemy Cloud Control.
The ChannelPolicy resource allows you to manage AWS MediaPackageV2 ChannelPolicys for controlling access to your media channels.
Minimal Example
Section titled “Minimal Example”This example demonstrates how to create a basic ChannelPolicy with required properties and an optional ‘adopt’ property.
import AWS from "alchemy/aws/control";
const channelPolicy = await AWS.MediaPackageV2.ChannelPolicy("basicChannelPolicy", { Policy: { Version: "2012-10-17", Statement: [ { Effect: "Allow", Principal: "*", Action: "mediapackage:DescribeChannel", Resource: "*" } ] }, ChannelName: "myMediaChannel", ChannelGroupName: "myChannelGroup", adopt: true // Adopts existing resource if it already exists});
Advanced Configuration
Section titled “Advanced Configuration”This example shows how to configure a ChannelPolicy with a more complex IAM policy that restricts access to specific actions and resources.
const advancedChannelPolicy = await AWS.MediaPackageV2.ChannelPolicy("advancedChannelPolicy", { Policy: { Version: "2012-10-17", Statement: [ { Effect: "Allow", Principal: { AWS: "arn:aws:iam::123456789012:role/MyMediaRole" }, Action: [ "mediapackage:DescribeChannel", "mediapackage:ListChannels" ], Resource: "arn:aws:mediapackage:us-west-2:123456789012:channel/myMediaChannel" }, { Effect: "Deny", Principal: "*", Action: "mediapackage:DeleteChannel", Resource: "arn:aws:mediapackage:us-west-2:123456789012:channel/myMediaChannel" } ] }, ChannelName: "myMediaChannel", ChannelGroupName: "myChannelGroup"});
Specific Use Case: Restricting Access by IP Address
Section titled “Specific Use Case: Restricting Access by IP Address”This example demonstrates how to restrict access to the ChannelPolicy based on IP address using a condition in the IAM policy.
const ipRestrictedChannelPolicy = await AWS.MediaPackageV2.ChannelPolicy("ipRestrictedChannelPolicy", { Policy: { Version: "2012-10-17", Statement: [ { Effect: "Allow", Principal: "*", Action: "mediapackage:DescribeChannel", Resource: "*", Condition: { "IpAddress": { "aws:SourceIp": "192.0.2.0/24" } } } ] }, ChannelName: "myMediaChannel", ChannelGroupName: "myChannelGroup"});