IAMアイデンティティセンター(IIC)のList Assignment APIを確認しました
やりたいことは、IAMアイデンティティセンター(IIC)のユーザー名をキーにして、アクセス可能なアカウントとアプリケーションをさくっと知りたいです。
AWS への従業員のアクセスを可視化するための AWS IAM アイデンティティセンター API を発表で対象とされているAPIはどうやら次の2つのようです。
たしかにプリンシパルをキーにして、許可されているAWSアカウントと権限セットとアプリケーションが取得できるのは便利ですね。
こちらを取得するには、PrincipalIdとPrincipalType(GROUP, USER)が必要です。
ですのでやることを整理します。
ユーザー名は問い合わせ時に知っていることとしています。
- ユーザー名をキーにユーザーのPrincipalIdを取得
Identity Store – GetUserId -
ユーザーのPrincipalIdからグループのPrincipalIdを取得
Identity Store – ListGroupMembershipsForMember -
ユーザーとグループのPrincipalIdからAWSアカウントと権限セットを取得
IAM Identity Center – ListAccountAssignmentsForPrincipal -
ユーザーとグループのPrincipalIdからアプリケーションを取得
IAM Identity Center – ListApplicationAssignmentsForPrincipal -
アカウントと権限セット、アプリケーションの一覧を返す
Lambdaで実行できるようにPythonでコードを書いてみました。
yamamanx/IIC-ListAssignmentForUserName
返ってきました。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
{ "statusCode": 200, "body": { "UserId": "95671e5d28-c1a056fa-5d16-40ed-9160-4a01965356f6", "GroupIds": [ "27148ae8-b031-7017-6af1-4ce41e2245b4" ], "AccountAssignments": [ { "AccountId": "123456789012", "PermissionSetName": "CodeCommitDeveloperAccess" }, { "AccountId": "123456789012", "PermissionSetName": "AWSAdministratorAccess" }, { "AccountId": "987654321098", "PermissionSetName": "AWSAdministratorAccess" } ], "ApplicationAssignments": [ { "ApplicationName": "Salesforce" } { "ApplicationName": "Cybozu.com" } ] } } |
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。
「AWS教科書 AWS認定デベロッパーアソシエイト テキスト&問題集 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
Amazon Glacierでボールトロックポリシーの作成開始をしてみました
Glacierを単体で使用することもそうそうないので、確認しました。 まずボール …
-
-
EC2 Image BuilderでRocket.ChatのAMIを作って起動テンプレートを更新しました
EC2 Image Builderの練習をしようと思い、Rocket.Chatの …
-
-
AWS EC2 インスタンスステータスのチェックで失敗 原因はPHP-FPMのOOM-KILLER
先週に引き続きEC2のインスタンスステータスチェックで失敗 再起動するも失敗する …
-
-
AWS VPC ネットワークACLでHTTP(80)のみ許可する
ユーザーガイドのカスタムネットワーク ACLのうち、HTTP(80)を許可する設 …
-
-
VPN接続先のADで管理されているドメインにEC2 Windowsインスタンスから参加する
オンプレミスに見立てたオハイオリージョンにVyOSインスタンスを起動して東京リー …
-
-
AWS Cost Explorerの履歴を38ヶ月とリソース別コストを見られるように設定しました
AWS Cost Explorer がより詳細な履歴データの提供を開始 知らなか …
-
-
AWS Glueチュートリアル
AWS Glueのマネジメントコンソールの左ペインの一番下にチュートリアルがあり …
-
-
AWS CodPipelineの実行モードの動作確認しました
AWS CodePipelineの3つの実行モード(SUPERSEDED(優先済 …
-
-
Amazon Linux2(EC2)にEC-CUBE 4をインストール
こちらのHOMEお知らせ・コラムAmazon Linux2にEC-CUBE4.0 …
-
-
Redmineの添付ファイルをS3に同期する
RedmineをAWS上で構築するデザインを考えていて、せっかくなので冗長化しよ …

