AWS Elemental MediaLiveで使用するIAMロールをアップデートしてみた
はじめに
清水です。先日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との連携が可能になりましたね。実際にどのような機能アップデートとなっているかについても、追って調査しまとめてみたいと思います。