この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
はじめに
清水です。先日AWS Elemental MeidaLiveでマネージメントコンソールからChannelを作成しようとすると、IAMロール選択箇所で以下のような表示が出現しました。
このMediaLiveAccessRoleはおおよそ1年前、MediaLiveリリース直後ぐらいに同じくマネージメントコンソールから作成したIAMロールです。以下のエントリで触れていますね。
続いてGeneral infoのChannel nameを設定します。今回は「MediaLive-Channel」としました。IAMロールの設定では「Create role from template」でIAMロールを作成、その後「Use existing role」で作成したIAMロールを選択します。
表示されているメッセージは「Your MediaLiveAccessRole policies are not up to date, please update them to ensure all features work」とのことで、MediaLiveのすべての機能を動作させるにはポリシーのアップデートが必要のようです。これはMediaLiveのアップデート機能の動作に必要、ということかと推測できます。本エントリではこのMediaLive用IAMロールのアップデート前後の情報を比較してみたのでまとめてみたいと思います。
アップデート前のIAMロール情報
まずはアップデートする前のMediaLive用のIAMロールの情報を確認してみましょう。マネージメントコンソールで確認するとこちらですね。
各ポリシーの内容はAWS CLIで取得してみます。まずはマネージドポリシーの確認です。
$ aws iam list-attached-role-policies --role-name MediaLiveAccessRole
{
"AttachedPolicies": [
{
"PolicyName": "AmazonSSMReadOnlyAccess",
"PolicyArn": "arn:aws:iam::aws:policy/AmazonSSMReadOnlyAccess"
}
]
}
$ aws iam get-policy --policy-arn "arn:aws:iam::aws:policy/AmazonSSMReadOnlyAccess"
{
"Policy": {
"PolicyName": "AmazonSSMReadOnlyAccess",
"PolicyId": "ANPAJODSKQGGJTHRYZ5FC",
"Arn": "arn:aws:iam::aws:policy/AmazonSSMReadOnlyAccess",
"Path": "/",
"DefaultVersionId": "v1",
"AttachmentCount": 1,
"PermissionsBoundaryUsageCount": 0,
"IsAttachable": true,
"Description": "Provides read only access to Amazon SSM.",
"CreateDate": "2015-05-29T17:44:19Z",
"UpdateDate": "2015-05-29T17:44:19Z"
}
}
続いてインラインポリシーを確認します。
$ aws iam list-role-policies --role-name MediaLiveAccessRole
{
"PolicyNames": [
"MediaLiveCustomPolicy"
]
}
$ aws iam get-role-policy --role-name MediaLiveAccessRole --policy-name MediaLiveCustomPolicy
{
"RoleName": "MediaLiveAccessRole",
"PolicyName": "MediaLiveCustomPolicy",
"PolicyDocument": {
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"mediastore:ListContainer",
"mediastore:PutObject",
"mediastore:GetObject",
"mediastore:DeleteObject",
"mediastore:DescribeObject"
],
"Resource": "*"
}
]
}
}
マネージメントコンソールからIAMロールを更新する
確認したIAMロール情報からどのように変化するのでしょうか、マネージメントコンソールから[Update]ボタンでMediaLive用IAMロールを更新してみます。
[Update]ボタン押下後、ボタンが消えればIAMロールの更新が完了です。
アップデート後のIAMロール情報の確認
ではアップデート後のMediaLive用のIAMロールの情報を確認してみます。マネージメントコンソール上、ぱっと見は違いがないように見受けれれます。
が、ここで展開されていないインラインポリシーをAWS CLIで確認してみましょう。CloudWatch Logsまわりの権限と先日リリースされたAWS Elemental MediaConnectまわりの権限が追加されていることがわかります。
$ aws iam list-role-policies --role-name MediaLiveAccessRole
{
"PolicyNames": [
"MediaLiveCustomPolicy"
]
}
$ aws iam get-role-policy --role-name MediaLiveAccessRole --policy-name MediaLiveCustomPolicy
{
"RoleName": "MediaLiveAccessRole",
"PolicyName": "MediaLiveCustomPolicy",
"PolicyDocument": {
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"mediastore:ListContainers",
"mediastore:PutObject",
"mediastore:GetObject",
"mediastore:DeleteObject",
"mediastore:DescribeObject"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:DescribeLogStreams",
"logs:DescribeLogGroups"
],
"Resource": "arn:aws:logs:*:*:*"
},
{
"Effect": "Allow",
"Action": [
"mediaconnect:ManagedDescribeFlow",
"mediaconnect:ManagedAddOutput",
"mediaconnect:ManagedRemoveOutput"
],
"Resource": "*"
}
]
}
}
まとめ
AWS Elemental MediaLiveのマネージメントコンソール上のIAMロールのアップデート通知から、実際にIAMロールをアップデートしてみました。アップデート前後でMediaLive用のIAMロールの内容を確認、比較してみるとCloudWatch LogsとAWS Elemental MediaConnectの権限が追加されていることがわかりました。これでMediaLiveがCloudWatch Logs、MediaConnectとの連携が可能になりましたね。実際にどのような機能アップデートとなっているかについても、追って調査しまとめてみたいと思います。