【IAM】ELBの作成&閲覧権限をAdmin権限のないユーザに設定する

  • 2020年5月22日
  • 2020年5月22日
  • AWS
  • ,
AWS

こんにちわ。ますの(@masno_soy)です。
先日ブログで書いた「【AWS】IAMロールの作成のみを許可するIAMポリシー設定」に続くIAMポリシー第2弾です。

今回はAWSのロードバランサー:ELB(Elastic Load Balancing)の作成権限が欲しいのですと依頼です。
上長より「既存のELB(Elastic Load Balancing)は削除できないよう」と指令がございました。

余裕だぜぇ!!

はい。見事に裏切られました。既定のIAMポリシーには読み取り専用しか無さそうです。
作成してみるのであります。

ELB(Elastic Load Balancing)を作成するためのJSON

今回はELB関連の設定としてターゲットグループや証明書の設定なども出来るように設定を行います。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                  "elasticloadbalancing:Create*",
                  "elasticloadbalancing:Describe*",
                  "elasticloadbalancing:RegisterTargets",
                  "elasticloadbalancing:SetIpAddressType",
                  "elasticloadbalancing:SetSubnets",
                  "elasticloadbalancing:ApplySecurityGroupsToLoadBalancer",
                  "elasticloadbalancing:RegisterInstancesWithLoadBalancer",
                  "elasticloadbalancing:EnableAvailabilityZonesForLoadBalancer",
                  "elasticloadbalancing:AttachLoadBalancerToSubnets",
                  "ec2:Describe*",
                  "iam:CreateServiceLinkedRole",
                  "iam:ListServerCertificates",
                  "iam:GetServerCertificates" 
           ],
            "Resource": [
                "*"
            ]
        }
    ]
}
今のところ設定後に部署からクレームは来ていないので大丈夫なはずであります。。。
自信ないけど^q^
もし何かあったら追記しておくであります!

IAMポリシーに設定した内容のアレコレの備忘です

  • Describe*:説明を表示する内容です。とりあえずEC2インスタンスとELBは説明や一覧を表示したかったので付与したものになります。
  • iam:証明書関係と作成したリソースに対して自動でIAMを作成する機能のために追加しています。

それ以外については「Elastic Load Balancing API アクセス許可」より削除に該当しない権限をピックアップして、先ほどのJSONに追加した次第です。

アクセス許可設定名 採用可否 概要
CreateLoadBalancer ロードバランサーを作成します。
CreateTargetGroup ターゲットグループを作成します。
RegisterTargets ロードバランサーにターゲットグループを設定します。
SetIpAddressType 指定したALB(Application Load Balancer)またはNLB(Network Load Balancer)のサブネットに使用するIPアドレスを設定します。
SetSubnets ロードバランサーに設定されたパブリックサブネットのアベイラビリティーゾーンの有効化ができます。
ApplySecurityGroupsToLoadBalancer ロードバランサーにセキュリティグループを設定します。
AttachLoadBalancerToSubnets ロードバランサーにサブネットを設定します。
DeregisterInstancesFromLoadBalancer × ロードバランサーから指定されたインスタンスを削除します。
DescribeInstanceHealth ロードバランサーに関して指定されたインスタンスの状態を記述します。
DescribeLoadBalancers ロードバランサーの説明を表示します。
DisableAvailabilityZonesForLoadBalancer × 指定されたアベイラビリティーゾーンを、指定されたロードバランサーの一連のアベイラビリティーゾーンから削除します。
EnableAvailabilityZonesForLoadBalancer 指定されたアベイラビリティーゾーンを、指定されたロードバランサーの一連のアベイラビリティーゾーンに追加します。
RegisterInstancesWithLoadBalancer 指定されたインスタンスを指定されたロードバランサーに追加します。

概要の参照:https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/list_elasticloadbalancing.html

設定後様子見しているので何かあれば随時記載していきますので、不具合等はご容赦くださいませ。。。

最新情報をチェックしよう!