You can find (just about) anything on Medium — apparently even a page that doesn’t exist. Maybe these stories will take you somewhere new?
You can find (just about) anything on Medium — apparently even a page that doesn’t exist. Maybe these stories will take you somewhere new?
AWS SAMでLambdaのPolicyとRoleを付与したとき、Roleが設定されてPolicyで付与した権限が無いという現象に遭遇しました。 よくよく考えれば当たり前なのですが、地味にハマったのでご紹介します。 なお、本記事はAWS LambdaとServerless #2の12日目です。 ハマったこと 最初はPolicyのみ付与していた たとえば、AWS SAMで次のLambdaを定義し、DynamoDBのReadOnlyAccessポリシーを付与していました。 template.yaml Resources: HelloWorldFunction: Type: AWS::Serverless::Function Properties: CodeUri: hello_world/ Handler: app.lambda_handler Runtime: python3.7 Poli
CI部1課に異動しました山﨑です。 AWSにおけるアクセスポリシーの評価ロジックについて簡単に整理したいと思います。 はじめに 2021年11月にアップデートがありました 評価ロジック 拒否の評価(明示的な拒否) Organizations SCP リソースベースのポリシー IAM Permissions Boundary セッションポリシー ユースケース:クロスアカウントのSwitch Role ①AssumeRole API Request ②temporary security credentials ③IAM Roleの権限でSwitch Role アイデンティティベースのポリシー まとめ はじめに AWSにおいて認証・認可(権限の付与)を司るサービスと言えば IAM(Identity and Access Management)が真っ先に思い浮かびます。例えば IAMのIAM P
こんにちは。Assume Roleしてますか。 スイッチロール先の環境でAWS関連のCLIツールを使用すると大抵Assume Roleを使う必要が出てきます。 assume-roleとdirenvを使って設定している ブログ もありますが、それすら面倒なので楽にする方法を考えてスクリプトを書いてみました。 スクリプトについて 前置きが長くなってしまいましたが本題に入っていきます。 実装して、その後に動作イメージを載せたいと思います。 前準備 まずスクリプトを書く前に準備を行います。 fzfとGrepをお手元に用意しておいてください。 fzfに関しては様々なOSでのインストール方法がREADMEに書いてあります。 私がmacユーザなのでmacOSでのインストール方法のみ記載しておきます。 $ brew install fzf スクリプトの配置 下記スクリプトを好きな場所に配置してください。
EKSクラスターを作成しました。この段階では作成者である自分のIAMエンティティのみがクラスターを操作できるsystem:masters権限を持っています。system:mastersって何?という方は、以下で詳しくまとめられていますのでご確認ください。 Kubernetesのsystem:mastersグループって何?- Qiita 先程「自分のIAMエンティティがsystem:masters権限を持っている」と書きましたが、厳密には、すべての権限が付与されている cluster-adminロールがあり、そしてそのロールにバインディングされているsystem:mastersグループがあり、さらにそのグループのメンバーに自分のIAMエンティティが入っている、という感じでしょうか。 今回はこの権限を他のIAMユーザーにも付与してみたいと思います。eksctlを使います。 やることは大きくわけ
IAM ロールの認証情報でマネジメントコンソールにアクセスする、を実現できるのはスイッチロールだけではありません。一時的な認証情報を使用してサインイントークンを取得し、フェデレーテッドユーザーとしてサインインすることもできます。 コンバンハ、千葉(幸)です。 …今のはスイッチロールでは無い… AssumeRole からのフェデレーションサインインだ… そんなセリフを言いたくなったことはありませんか?私はありません。「AssumeRole からのフェデレーションサインイン」なんて言い回しはきっとこの地球上に存在しないので、ありません。 ここでのスイッチロールとは「① IAM ユーザーのユーザー名とパスワードを利用してマネジメントコンソールにサインインする」「② IAM ロールに切り替える」の流れを指しています。 IAM ロールの認証情報を利用してマネジメントコンソールで操作したい場合には、こ
いろんなデータベースやAPIと接続してWebアプリをサクッと作れるRetoolですが、DynamoDBと連携する場合は、IAMユーザのアクセスキーを使います。 もし、アクセスキーが流出したら一大事です。 そこで、AssumeRoleを使って、少しでも影響が小さくなる方法を試してみました。 Retoolについては、下記をご覧ください。 おすすめの方 RetoolでAssumeRoleしたい方 IAMユーザとIAMロールと実験用のDynamoDBテーブルを作成する CloudFormationテンプレート 下記を作成します。 Retool用のIAMユーザ Retool用のIAMユーザに付与するIAMポリシー(AssumeRoleのみ可能) Retool用のIAMユーザがAssumeRoleするIAMロール(DynamoDBに対する操作権限のみ) DynamoDBテーブル AssumeRoleを
GitHubと連携してアプリケーションを自動デプロイしたいが、 masterブランチにマージされたらすぐにデプロイするのではなく、承認フローを挟みたい、というケースに対応できます。 AWS CDK で、認証フロー付きの AWS CodePipeline を作ってみます。次のようなユースケースを想定しています。 GitHubと連携してアプリケーションを自動デプロイしたいが master ブランチにマージされたらすぐにデプロイするのではなく、承認フローを挟みたい これを CodePipeline でやりたい 一連のリソースを AWS CDK で作成したい デプロイ可能なコードベースをmasterブランチのみに集約し、その代わりリリースタイミングについては CICD側に任せるといった運用が可能になります。ブランチの数を最小限に押さえられる点がメリットです。AWS CDK を利用してのPipeli
大阪オフィスのちゃだいんです。 本日、【12/16(月)大阪】CM re:Growth 2019 OSAKA 開催! 〜技術者による技術者のためのAWS re:Invent ふりかえり勉強会〜にて登壇しました。 その際に使用したスライドがこちらです。 登壇スライド資料 終わりに AWSは触ってナンボ!ということで、とにかく手軽に試していただけるものをご紹介しました。ぜひ実際にその手でre:Inventアップデートを実感してみてください! 以下は各章の最後にご紹介したサービス別ブログ一覧です。 IAM Access Analyzer 関連 [速報] AWS IAM Access Analyzerがリリースされました! IAM Access Analyzerと既存の機能を比較してどう使っていくか考察してみた re:Invent 2019 IAM Access Analyzerについて調べてみた
困っていた内容 スイッチロールの信頼関係設定における AssumeRole権限について質問します。 自アカウントのIAMユーザーに、自アカウントのIAMロールにスイッチできるよう設定を行っています。 ロールの信頼関係を次のようにアカウント( root = アカウント自体 の意味になります)で指定した場合、ユーザーに「sts:AssumeRole」のアクセス権限が必要だと認識しています。 arn:aws:iam::XXXXXXXXXXXX:root 一方で、ロールの信頼関係を次のようにユーザー名で指定すると、ユーザーに「sts:AssumeRole」のアクセス権限が無くてもスイッチロールできてしまいます。 arn:aws:iam::XXXXXXXXXXXX:user/username このような振る舞いの違いが起きるのはどうしてでしょうか? ユーザー名で指定する方法でスイッチロールする場合、
動機 ターミナルの窓を複数開いて、 CloudWatch Logsを観察しながら(aws logs tail --follow) AWS CDKをwatchでデプロイしながら(npx cdk watch) lambdaを実行したり、MQTTを飛ばしたりしたい時がある(aws lambda invoke, aws iot-data publish) ので、複数窓でassume-roleのクレデンシャルが共有されてくれると嬉しかった。 ので作りました。 先人たちの記事 クラスメソッドの先人たちが無限に記事を書いてくれている。 先輩方に感謝しながらAssume Roleスクリプト書いてみました Assume Roleをいい感じにするスクリプトを書いた [小ネタ]ディレクトリ移動した際に自動で一時クレデンシャルを取得・設定する 1 Password ワンタイムパスワードを使った Assume Ro
技術一課の杉村です。2019年7月、AWS Systems Manager Session ManagerでSSH/SCPセッションを利用できる機能が発表されました。 Session Manager launches tunneling support for SSH and SCP この機能を利用すれば「踏み台インスタンス対してSession ManagerでSSHセッションを確立し、Private Subnetにいる他のEC2インスタンスに対してポートフォワードでアクセスする」のような、より柔軟な使い方できるようになります。 もちろん、SSH対象のEC2インスタンスのセキュリティグループではSSH用のポートを許可する必要はありません。 EC2インスタンスから443ポートでSystems ManagerのAPIエンドポイントに対してHTTPS通信ができさえすればいいのです。 この機能を利
はじめに 真面目な導入 元ネタ 状況設定 やりたいこと DynamoDB のテーブルを用意する Cognito User Pool を作る ユーザープールを作成する ユーザー作成 アプリクライアント作成 グループを作る Lambda 関数と API Gateway と Cognito Authorizer を作る serverless.yml Lambda あと必要なもの 何はともあれデプロイ どういうこと? もう少し具体的に 寄り道 リクエストしてみる さいごに はじめに こんにちは。アプリケーションサービス部の保田(ほだ)です。 最近さつまいもが滅茶苦茶美味しいということを再認識しました。 1センチぐらいの厚さに切ったのを茹でてオプションで塩をちょっとかけるだけで美味です。 という訳で今日は Lambda のポリシーを動的に制御する方法を考えます。 真面目な導入 例えば API Gat
Amazon Web Services ブログ AWS IoT Core の認証プロバイダを使って IoT デバイスからセキュアに AWS サービスを利用する こんにちは、プロトタイピングソリューションアーキテクトの市川です。 現在、様々なユースケースで IoT デバイスが AWS IoT Core を利用しています。ユースケースの中には AWS のサービスを直接利用したいという話もよく相談として受けます。 IoT デバイスのアプリケーションから AWS のサービスを利用する場合は、AWS 署名バージョン 4 形式 (SigV4) の AWS 認証情報を使用して呼び出すことができます。この署名を作成するためには、クレデンシャル情報(アクセスキー ID、シークレットアクセスキー)が必要になってきます。しかし、不特定多数が触る可能性がある IoT デバイスにこのクレデンシャル情報を持たせるのは
はじめに お疲れさまです。とーちです。 2024/7/31に開催された「AWS Organizationsのユースケースで学ぶ AWSアカウント管理のベストプラクティス」というウェビナーで登壇しました。 本記事ではその際に使用した資料をご紹介します。 登壇資料 資料概要 資料の流れとしては以下の通りです AWSを運用していく上ではマルチアカウント管理が重要 しかし、やみくもにAWSアカウントをたくさん作成していると多数のアカウントを管理しきれない等の課題も マルチアカウントにおける課題を解決するのがAWS Organizations 以下の課題についてAWS Organizationsを使うとどのように解決できるかをお伝え 複数アカウントがあるとログインや権限管理が煩雑に 複数アカウント間でのベースライン設定の統一できていない 複数のアカウントがあるとAWS全体のコストの把握や最適化が難し
Amazon Web Services ブログ マルチテナント型 SaaS アプリケーションのための Amazon Forecast の構成 この記事は “Configure Amazon Forecast for a multi-tenant SaaS application” を翻訳したものです。 本投稿は、AWS の Sr. Software Development Engineer の Gunjan Garg、Technical Account Manager の Matias Battaglia、ISV Solutions Architect の Rakesh Ramadas により寄稿されました。 Amazon Forecast は、 Amazon.com で予測に使用されているのと同じ技術をベースにしたフルマネージドサービスです。Forecast は、機械学習(ML)を用いて
また、ワイルドカードを使って arn:aws:iam::*:role/admin-* ( "admin-" で始まるIAMロール ) といった書き方、登録方法も可能です。 試してみる 先の SCPが継承されたアカウントで操作してみます。 ※実施するIAMロールには AdministratorAccess が付与されています。 arn:aws:iam::*:role/operator で実施 > aws ec2 create-vpc --cidr-block 10.10.20.0/24 { "Vpc": { "CidrBlock": "10.10.20.0/24", "DhcpOptionsId": "dopt-xxx", "State": "pending", "VpcId": "vpc-xxx", "OwnerId": "73xxx", "InstanceTenancy": "defau
はじめに さて、先日はIAMポリシーについての記事を書きましたが、AWSの権限管理で知っておくべき項目は他にも多数あります。 例えば、S3でファイルにアクセスするユーザを制限したいといった場合は、S3のバケットポリシー・ACLで管理しますし、サービスの暗号化で良く利用されるKMSでは、それぞれどのユーザ・サービスがそのキーを利用できるのかキーポリシーで権限を管理する必要があります。または、OrganizationsのSCPでアカウント毎に権限管理を行うなどなど…AWSの権限管理は、奥深いものになっております。 そこで、AWSの権限管理する上で知っておくべき情報をギュギュっとまとめてみました! AWSの権限管理の基本①:明示的許可・暗黙的拒否・明示的拒否 AWSの権限管理での基本の基本となるのが、明示的許可・暗黙的拒否・明示的拒否の考え方です。 簡単にまとめると下のような感じです。 ポリシー
DevelopersIO 2023 大阪 – 勉強会「AWS IAM Identity Centerを用いたAWSアクセス」 #devio2023 DevelopersIO 2023 大阪の AWS 質問ブース の勉強会「AWS IAM Identity Centerを用いたAWSアクセス」のブログです。 AWS IAM Identity Center を利用して AWS アカウントにアクセスする方法についてご紹介します。 AWS IAM Identity Center の概要 AWS アカウントやクラウドアプリケーションへのアクセスを一元管理できる AWS IAM Identity Center の全体イメージを紹介します。 IAM Identity Center はユーザーの認証情報をローカル(IAM Identity Center 自信)で保持する他、外部 ID プロバイダーや Ac
この記事は AWS Community Builders Advent Calendar 2022 および セゾン情報システムズ Advent Calendar 2022 の 16 日目の記事です 2023/10/10 AWS Verified Access が東京リージョンでも利用可能になりました! 2023/5/2 追記 2023/4/28 に AWS Verified Access が一般利用可能になりました。ただし、東京リージョンおよび大阪リージョンではまだ利用できません。 GA に伴い、以下の機能が追加されています。 Verified Access instance に対する AWS WAF のサポート 署名済み ID コンテキストをアプリケーションエンドポイントに渡せるように (x-amzn-ava-user-context ヘッダー) AWS Verified Access
こんにちは。株式会社アダコテックのテックリードをしておりますkackyと申します。terraform Advent Calendar 2019の5日目の記事です。12月5日の22時から書き始めているのでかなりタイムアタックになっておりますw やりたいこと terraformでiamユーザを作って、それをグループに所属させる。そんなことをさくっとしたいときのやり方tipsです。 @raki さんのご指摘により記述を直しました!有用なご指摘ありがとうございます☆ ユーザー管理テーブルを変数定義する こんな感じでユーザーとグループを対で登録します。 variable "users" { type = map(list(string)) default = { "kacky" = ["developer"], "tech" = ["developer"], "adaco" = ["intern"]
ちょっと環境を覗いてもらうために一時的な URL を払い出す コンバンハ、千葉(幸)です。 「ちょっと環境を覗いてもらうために AWS マネジメントコンソールへの接続情報を提供したい」 「かといってわざわざ専用の IAM ユーザーやロールを払い出すのは避けたい」 ということがあるかもしれません。 AWS CloudShell のドキュメントを眺めていると、そんなケースにマッチしそうなチュートリアルを見つけました。 フェデレーションサインイン用の URL を生成するスクリプトを載せてくれているので、これが活用できそうです。 ここでは特定の S3 バケットの特定のプレフィックス配下のオブジェクトに対する操作のみ許可するというシチュエーションが想定されていますが、ある程度柔軟にカスタマイズできるのでそれ以外のケースでも転用できます。 何をするのか やっていることは以下のエントリとほぼ同じです。こ
Amazon Web Services ブログ AWS マルチアカウント統制の要件検討アプローチ例 はじめに 我々、AWS のプロフェッショナルサービスは、クラウド活用に関するお客様固有のブロッカーを取り除くための支援をするチームです。お客様の役割は様々ですが、組織全体の AWS アカウント管理を担われているお客様をご支援するケースもあります。組織全体で AWS をセキュアに利用いただくためには、クラウド利用の社内規定やガイドラインの作成だけでなく、ルールを強制的に適用したり、非準拠状態を発見・報告したりするための仕組み(このブログでは複数の AWS アカウントを統制するための基盤として統制基盤と呼びます)の構築を推奨することもあります。一方で統制基盤を構築したいと考えているが、「統制基盤のあるべき姿をどのように定義すればよいかわからない」といったお悩みを抱えているお客様も多いのではないで
Amazon DynamoDB用 NoSQL Workbenchが、先日一般公開(GA)されたので色々試しています。 Amazon DynamoDB 用 NoSQL Workbench が一般公開されます。 個人的にはスイッチロールしてアクセスできるのかがすごく気になったので試してみました。 できます。 ただそれだけの話なのですがw、試す過程で全部CLIでテスト環境を用意できるようにしていて、せっかくなのでやったことを公開します。一部でも全部でも読者様(と、しばらく後に忘れかけるであろう自分)の参考になれば嬉しいです。 単純にツールの使い方だけ知りたい場合には「作成したロールにスイッチロールしてNoSQL Workbenchへ接続確認」のセクションから見ていただければと思います。 Amazon DynamoDB 用 NoSQL Workbenchとは DynamoDB用の開発ツールです。テ
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く