この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
はじめに
清水です。AWSリソースに対して参照権限のみを与えたいIAMユーザ/IAMロールに対して、AWS管理ポリシーの「ReadOnlyAccess」を使用するケースがあるかと思います。AWS Media Servicesの各サービスのリソースを参照しようとした場合、多くはこの「ReadOnlyAccess」だけでは不十分で、リソースを参照することができません。AWS Media Servicesに対して参照権限を持つポリシーを作成して「ReadOnlyAccess」とあわせて適用することで、AWS Media Servicesについてもリソースが参照できるようにしてみました。
ReadOnlyAccessだけでAWS Media Servicesにアクセスした場合
以下のようなAWS管理ポリシー「ReadOnlyAccess」のみをアタッチしたIAMユーザ(ReadOnlyUser)で、例えばMediaLiveのマネージメントコンソールにアクセスしてみます。(MediaLiveにはいくつかリソースが存在しています。)
以下のようにアクセス権限がない旨の警告が表示され、リソースの参照ができません。
MediaConvertについてはリソースが参照できるようです。
AWS管理ポリシーの「ReadOnlyAccess」の内容を確認すると原因がわかるのですが、以下のようにAWS Media ServicesについてはMediaConvertとMediaPackageの一部の機能しか権限がありません。(2019/09/30時点の内容です。管理ポリシーのアップデートで追加されればよいのですが。)
対策として、他のAWS Media Servicesの権限を別途IAMロール/IAMユーザにポリシーとして追加してみました。
MediaServicesReadOnlyAccessポリシー
ということで、AWS Media Servicesに対する参照権限を作成してみます。具体的には以下IAMのポリシーリファレンスを参考に、各サービスにおけるDescribe*
/Get*
/List*
のアクションを集めてきました。
- AWS Elemental MediaConnect のアクション、リソース、および条件キー - AWS Identity and Access Management
- AWS Elemental MediaConvert のアクション、リソース、および条件キー - AWS Identity and Access Management
- AWS Elemental MediaLive のアクション、リソース、および条件キー - AWS Identity and Access Management
- AWS Elemental MediaPackage のアクション、リソース、および条件キー - AWS Identity and Access Management
- AWS Elemental MediaPackage VOD のアクション、リソース、および条件キー - AWS Identity and Access Management
- AWS Elemental MediaStore のアクション、リソースおよび条件キー - AWS Identity and Access Management
- AWS Elemental MediaTailor のアクション、リソース、および条件キー - AWS Identity and Access Management
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"mediaconnect:Describe*",
"mediaconnect:List*",
"mediaconvert:Describe*",
"mediaconvert:Get*",
"mediaconvert:List*",
"medialive:Describe*",
"medialive:List*",
"mediapackage:Describe*",
"mediapackage:List*",
"mediapackage-vod:Describe*",
"mediapackage-vod:List*",
"mediastore:Describe*",
"mediastore:Get*",
"mediastore:List*",
"mediatailor:Get*",
"mediatailor:List*"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
この内容でユーザ管理ポリシーを作成してIAMユーザ/IAMロールにアタッチします。またはインラインポリシーとして追加することもできます。
実際に、先ほどのReadOnlyUserにこの内容をインラインポリシーとして追加してみます。
今度はMediaLiveのリソースが参照できました。同様に他AWS Media Servicesの各サービスも参照することができます。
まとめ
AWS Media ServicesのすべてにはAWS管理ポリシー「ReadOnlyAccess」でアクセスできなかったため、各サービスの参照系アクションをまとめてポリシーを作成、参照できるようにしてみました。