presents by IT Consulting 109

AWS – IAMロール情報の取得

概要

前回まではIAMのユーザー情報を取得する手順について記載してきました。

AWS – IAMユーザー情報の取得
AWS – IAMユーザー情報の取得(AWS管理ポリシー)
AWS – IAMユーザー情報の取得(インラインポリシー)

今回からは、IAM(Identity and Access Management) の「ロール」情報を取得する方法について記載しています。

IAM ロール
IAM ロールは、AWS で許可/禁止する操作を決めるアクセス権限ポリシーが関連付けられている AWS ID であるという点で、ユーザーと似ています。ただし、ユーザーは 1 人の特定の人に一意に関連付けられますが、ロールはそれを必要とする任意の人が引き受けるようになっています。また、ロールには標準の長期認証情報 (パスワードやアクセスキー) も関連付けられません。代わりに、ユーザーがロールを引き受けた場合、一時的セキュリティ認証情報が動的に作成され、ユーザーに提供されます。

 

 

手順

IAMに登録されているロール一覧を出力するには以下のコマンドを実行します。

aws iam list-roles

実行結果

TEXT

ROLES   arn:aws:iam::123456789000:role/Lambda-Snapshot  2018-01-01T00:00:00Z            /       AROABCDEFGHIJKLMNOPQ1   Lambda-Snapshot ASSUMEROLEPOLICYDOCUMENT        2012-10-17
STATEMENT       sts:AssumeRole  Allow
PRINCIPAL       lambda.amazonaws.com
ROLES   arn:aws:iam::123456789000:role/SimpleSystemsManager     2018-01-01T00:00:00Z    Allows EC2 instances to call AWS services like CloudWatch and SSM on your behalf.       /       AROABCDEFGHIJKLMNOPQ2   SimpleSystemsManager
ASSUMEROLEPOLICYDOCUMENT        2012-10-17
STATEMENT       sts:AssumeRole  Allow
PRINCIPAL       ec2.amazonaws.com

TABLE

--------------------------------------------------------------------------------------------------------
|                                               ListRoles                                              |
+------------------------------------------------------------------------------------------------------+
||                                                Roles                                               ||
|+----------------------+-----------------------------------------------------------------------------+|
||  Arn                 |  arn:aws:iam::123456799000:role/Lambda-Snapshot                             ||
||  CreateDate          |  2018-01-01T00:00:00Z                                                       ||
||  Description         |                                                                             ||
||  Path                |  /                                                                          ||
||  RoleId              |  AROABCDEFGHIJKLMNOPQ1                                                      ||
||  RoleName            |  Lambda-Snapshot                                                            ||
|+----------------------+-----------------------------------------------------------------------------+|
|||                                     AssumeRolePolicyDocument                                     |||
||+------------------------------------------+-------------------------------------------------------+||
|||  Version                                 |  2012-10-17                                           |||
||+------------------------------------------+-------------------------------------------------------+||
||||                                            Statement                                           ||||
|||+---------------------------------+--------------------------------------------------------------+|||
||||  Action                         |  sts:AssumeRole                                              ||||
||||  Effect                         |  Allow                                                       ||||
|||+---------------------------------+--------------------------------------------------------------+|||
|||||                                           Principal                                          |||||
||||+----------------------------+-----------------------------------------------------------------+||||
|||||  Service                   |  lambda.amazonaws.com                                           |||||
||||+----------------------------+-----------------------------------------------------------------+||||
||                                                Roles                                               ||
|+-------------+--------------------------------------------------------------------------------------+|
||  Arn        |  arn:aws:iam::123456799000:role/SimpleSystemsManager                                 ||
||  CreateDate |  2018-01-01T00:00:00Z                                                                ||
||  Description|  Allows EC2 instances to call AWS services like CloudWatch and SSM on your behalf.   ||
||  Path       |  /                                                                                   ||
||  RoleId     |  AROABCDEFGHIJKLMNOPQ2                                                               ||
||  RoleName   |  SimpleSystemsManager                                                                ||
|+-------------+--------------------------------------------------------------------------------------+|
|||                                     AssumeRolePolicyDocument                                     |||
||+------------------------------------------+-------------------------------------------------------+||
|||  Version                                 |  2012-10-17                                           |||
||+------------------------------------------+-------------------------------------------------------+||
||||                                            Statement                                           ||||
|||+---------------------------------+--------------------------------------------------------------+|||
||||  Action                         |  sts:AssumeRole                                              ||||
||||  Effect                         |  Allow                                                       ||||
||||  Sid                            |                                                              ||||
|||+---------------------------------+--------------------------------------------------------------+|||
|||||                                           Principal                                          |||||
||||+-------------------------------+--------------------------------------------------------------+||||
|||||  Service                      |  ec2.amazonaws.com                                           |||||
||||+-------------------------------+--------------------------------------------------------------+||||

JSON

{
    "Roles": [
        {
            "AssumeRolePolicyDocument": {
                "Version": "2012-10-17",
                "Statement": [
                    {
                        "Action": "sts:AssumeRole",
                        "Effect": "Allow",
                        "Principal": {
                            "Service": "lambda.amazonaws.com"
                        }
                    }
                ]
            },
            "RoleId": "AROABCDEFGHIJKLMNOPQ1",
            "CreateDate": "2018-01-01T00:00:00Z",
            "RoleName": "Lambda-Snapshot",
            "Path": "/",
            "Arn": "arn:aws:iam::123456789000:role/Lambda-Snapshot"
        },
        {
            "Description": "Allows EC2 instances to call AWS services like CloudWatch and SSM on your behalf.",
            "AssumeRolePolicyDocument": {
                "Version": "2012-10-17",
                "Statement": [
                    {
                        "Action": "sts:AssumeRole",
                        "Principal": {
                            "Service": "ec2.amazonaws.com"
                        },
                        "Effect": "Allow",
                        "Sid": ""
                    }
                ]
            },
            "RoleId": "AROABCDEFGHIJKLMNOPQ2",
            "CreateDate": "2018-01-01T00:00:00Z",
            "RoleName": "SimpleSystemsManager",
            "Path": "/",
            "Arn": "arn:aws:iam::123456789000:role/SimpleSystemsManager"
        }
    ]
}

 

出力結果から以下の項目が取得できます。

項目 形式 説明 対応箇所
Path string ロールへのパス。 パス
Arn string 役割を指定するAmazonリソース名(ARN)。 ロールの ARN
RoleName string ロールを識別するわかりやすい名前 ロール名
RoleId string  ロールを識別する安定したユニークな文字列。
CreateDate timestamp ロールが作成された日付と時刻(ISO 8601の日付/時刻形式)。 作成時刻
AssumeRolePolicyDocument string エンティティにロールを引き継ぐ権限を与えるポリシー。
Description string あなたが提供するロールの説明。 説明

また、第三者に対して明示的に引き受けを許可する設定[AssumeRolePolicyDocument]として、ロールのみに追加されている項目には以下のようなものが存在します。

Statement

Action 実行 Principalに対し実行する内容
Effect 効果 許可/拒否を設定する
Sid セキュリティ識別子 セキュリティとして識別するID  

Principal

Service サービスを信頼する
AWS アカウントを信頼する

 

 

補足


ユーザー情報の取得 [ list-users ] と同じ要領となりますのでわかりやすいと思います。
また、 同様に [ list-attached-role-policies ] と [ get-role-policy ] を使用してロールに適用されているアクセス権を取得することもができます。

この記事を書いた人
名前:TRUE's。 千葉県育ち、神奈川県在住のIT系フリーエンジニア。 IT系のナレッジサイトを不定期で更新中。 フォトグラファー兼エンジニアとして日々勤しんでいる。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です