新サービス『AWS CloudTrail』のユーザーガイドを読んでみた / CloudTrailアクションへのアクセス制御

2013.11.16

シリーズ第3弾は『CloudTrailアクションへのアクセス制御』です。

CloudTrailアクションへのアクセス制御

 

CloudTrailアクションに対する権限付与

AWS CloudTrailは、AWS IAMと統合しており、IAMによって、CloudTrailに関する様々なアクセス管理を制御する事が出来ます。これまでの既存サービス同様、グループやユーザーにそれぞれ利用可否の権限を割当て、適切な管理が行えるようになります。適切な権限を持つIAM管理者グループを作成し、管理タスクを実行する組織内の人々(あなたを含む)に対するIAMユーザーを作成しましょう。この辺り、IAMの適切な管理方法の詳細については、IAM Best Practicesを参考にしてみてください。

このセクションに於ける一般的なアプローチとしては、適切な権限を持ち、個別のIAMユーザーをグループに追加するためのIAMグループを作成する事になるでしょうか。CloudTrailアクションへの完全なアクセス権を持つユーザーに対するIAMグループを作成し、Trail(証跡)情報を見ることが出来るが、作成や変更する事は出来ないユーザーに対する個別のグループを作成するような事もあるかもしれません。

 

CloudTrailアクションに対するIAMグループとユーザーの作成

  • 1.IAMコンソールを開きます。( IAM Management Console )
  • 2.ダッシュボードから[Create a New Group of Users]をクリック、グループ名を入力し[Continue]をクリック。
    cloudtrail-iam-01
    cloudtrail-iam-02
  • 3.[Permission]ページにて、ポリシーテンプレートでCloudTrailのテンプレートを選択。
    • AWS CloudTrail Full Access:このポリシーは、Trail(証跡)に対するCloudTrailアクションとAmazon S3、Amazon SNSのトピックに対する全てのアクセス権をユーザーに提供します。
    • AWS CloudTrail Read Only Access:このポリシーは、グループ内のユーザーにTrail(証跡)とバケットを閲覧する許可を与えます。
    • cloudtrail-iam-03
  • 4.ユーザーのページにて、新規グループに既存のIAMユーザを追加。IAMユーザを持っていない場合は、[Create New Users]タブをクリックし、ユーザー名を入力、[Continue]を押下。
    cloudtrail-iam-04
  • {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "sns:AddPermission",
            "sns:CreateTopic",
            "sns:DeleteTopic",
            "sns:ListTopics",
            "sns:SetTopicAttributes"
          ],
          "Resource": "arn:aws:sns:*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "s3:CreateBucket",
            "s3:DeleteBucket",
            "s3:GetObject",
            "s3:ListAllMyBuckets",
            "s3:PutBucketPolicy"
          ],
          "Resource": "arn:aws:s3:::*"
        },
        {
          "Effect": "Allow",
          "Action": "cloudtrail:*",
          "Resource": "*"
        }
      ]
    }
    
  • 5.新規ユーザーを作成した場合、ナビゲーションペインで[Users]をクリックして、ユーザー毎に以下の手順を実行します。
    • a.ユーザーを選択。
    • b.ユーザーがCloudTrailの管理コンソールを使う場合、[Security Credentials]タブにて[Manage Password]タブをクリック、ユーザーに対する新しいパスワードを入力。
    • c.ユーザーがCloudTrail管理のCLIやAPIを使い、まだアクセスキーを作成していない場合、[Security Credentials]タブにて[Manage Access Keys]をクリックし、アクセスキーを作成。キー情報をセキュアな場所に保存しておく。
    • d.認証情報(アクセスキーとパスワード)を対象となるメンバーに貸与。 cloudtrail-iam-05

以下例は、CloudTrailで作業する際にフルアクセス(管理者)となるポリシーです。

  • ユーザーが全てのCloudTrailアクションを実行出来る
  • Amazon S3バケット内のCloudTrailログファイルを管理出来る
  • ユーザーが関連付けられているアカウントでAmazon SNSトピックを管理する事が出来る
{
"Statement": [
  {
    "Effect": "Allow",
    "Action": [
      "sns:CreateTopic",
      "sns:DeleteTopic",
      "sns:ListTopics",
      "sns:SetTopicAttributes",
      "sns:AddPermission"
    ],
    "Resource": "arn:aws:sns:*"
  },
  {
    "Effect": "Allow",
    "Action": [
      "s3:CreateBucket",
      "s3:DeleteBucket",
      "s3:ListAllMyBuckets",
      "s3:PutBucketPolicy",
      "s3:ListBucket",
      "s3:GetBucketLocation",
      "s3:GetObject"
    ],
    "Resource": "arn:aws:s3:::*"
  },
  {
    "Effect": "Allow",
    "Action": "cloudtrail:*",
    "Resource": "*"
  }
]}