ユーザ用ツール

サイト用ツール


aws:iam:role-policy

IAMポリシーとIAMロールの違い

AWS IAMポリシーとIAMロールとは

IAMポリシーとIAMロールのイメージ

ポリシーは各サービスに対するアクセス権限で、ロールはポリシーをまとめたものです。

IAMロール IAMポリシー 備考
admin-role AdministratorAccess
(フルアクセス)
IPRestriction_xxxx
dev-role Policyxxx
IPRestriction_xxxx
view-role ReadOnlyAccess
(読み取り)
IPRestriction_xxxx
SwitchAdmin AdministratorAccess
(フルアクセス)
管理コンソールログイン後、IP制限のない操作をしたい時にスイッチロールする用のロール

IAMポリシー

  • AWSリソースにアクセスするための権限設定
  • 基本的なポリシーは、AWSが最初から用意している
  • アクセス権限をJSONで設定できます。
管理ポリシー 通常これを使う
・複数のユーザー/グループ/ロール(この3つを合わせてプリンシパルエンティティ)にアタッチできる
・バージョン管理してくれる
インラインポリシー ・単一のユーザー/グループ/ロールにしかアタッチできない
・ポリシーとそれが適用されているプリンシパルエンティティとの厳密な 1 対 1 の関係を維持する必要がある場合に利用

IAM ポリシーの例

デフォルトであるIAMポリシーをみてみたいと思います。

ポリシー アクセス権限
AdministratorAccess 全てに対してフルアクセス

Account : フルアクセス
Athena : フルアクセス
AmazonEC2FullAccess EC2 : フルアクセス
CloudWatch : フルアクセス
ELB : フルアクセス
IAM : 書き込み制限
AmazonEC2ReadOnlyAccess EC2 : リスト、読み込み
CloudWatch : 制限、リスト、読み込み
AmazonVPCFullAccess EC2 : リスト、読み込み、書き込み
AmazonVPCReadOnlyAccess EC2 : 制限リスト、読み込み


IAMロール

  • IAMポリシーをグルーピングしたもの。IAMロールに、IAMポリシーをアッタッチします。
  • AWSのリソースに付与するもの
  • 信頼関係をJSON形式で設定します。(信頼されたエンティティと条件(ソースIPなど) )
利用例
  • スイッチロール(管理コンソールでログイン後に、別の権限になるため)
  • 管理コンソールのAD連携(AD側のグループとIAMロールを関連付けする)


信頼関係の設定によるAssume Role

Assume Role」は他者にAWSアカウントの権限を委譲する仕組みです。
他者にスイッチロールができるようになります。
設定は、各ロールで「信頼関係」を設定することで、権限を付与することができます。

スイッチロールされるロール側の設定

スイッチロールされるロールの「信頼関係」で、許可するユーザを追加します。

信頼関係

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": [
        "arn:aws:iam::xxxxxxxxxxxxxxx:user/xxxxxxxxx",
        "arn:aws:iam::xxxxxxxxxxxxxxx:user/xxxxxxxxx",
        "arn:aws:iam::xxxxxxxxxxxxxxx:user/xxxxxxxxx",
        "arn:aws:iam::xxxxxxxxxxxxxxx:user/xxxxxxxxx"
        ]
      },
      "Action": "sts:AssumeRole"
      "Condition": {
        "IpAddress": {
            "aws:SourceIp": "x.x.x.x/32"
        }
      }
    }
  ]
}
スイッチロールするユーザー側の設定

スイッチロールするポリシーを作成し、それをユーザに割り当てましょう。

{
  "Version": "2012-10-17",
  "Statement": {
      "Effect": "Allow",
      "Action": "sts:AssumeRole"
      "Resource": "arn:aws:iam::xxxxxxxxxxxx:role/ロール名"
    }
}




設定手順

IAMポリシー作成手順

IAM [アクセス管理] - [ポリシー]で、 [ポリシーの作成]

設定項目 設定項目 備考
サービス JSON
でも設定可
例:EC2, S3など
アクションとアクセスレベル アクション : すべてのアクションか個別に設定するか
アクセスレベル:読み込みだけか
リソース
リクエスト条件
名前

IAMロール作成手順

IAM [アクセス管理] - [ポリシー]で、 [ロールの作成]

設定項目 備考
信頼されたエンティティの種類を選択 *「AWSサービス」を選択 (通常はこれ)
 何らかは選択しないといけないので、一度「EC2」などを選択し、後で変更する。
*「別のAWSアカウント」を選択
Attach アクセス権限ポリシー 1 つ以上選択
例:AdministratorAccess
タグ(オプション)
ロール名 例:SwitchAdmin
例:DirectoryServiceAdmin

作成したIAMロールの「信頼関係」を修正する。

aws/iam/role-policy.txt · 最終更新: 2020/01/29 15:58 by kurihara

ページ用ツール