[解決済み] Terraform: AWSマネージドポリシーをロールにアタッチする正しい方法?
2022-11-09 23:15:23
質問
私は既存のAWSマネージドロールの1つをポリシーにアタッチしたいのですが、以下は私の現在のコードです。
resource "aws_iam_role_policy_attachment" "sto-readonly-role-policy-attach" {
role = "${aws_iam_role.sto-test-role.name}"
policy_arn = "arn:aws:iam::aws:policy/ReadOnlyAccess"
}
ARN をハードコードする代わりに、管理されたポリシーをモデル化し、それを参照する良い方法はありますか? ARN/パスまたはこのような他のものをハードコードするときはいつも、より良い方法があったことを後で知ることになるような気がします。
Terraformにマネージドポリシーをモデル化するようなものは既に存在するのでしょうか? それとも、ARN をハードコードするのが正しい方法なのでしょうか?
どのように解決するのですか?
この IAM ポリシー データソース はこれに最適です。データリソースは、Terraformがアクティブに管理しないが、Terraformから参照されるデータやリソースを記述するために使用されます。
今回の例では、以下のように管理対象ポリシーのデータリソースを作成します。
data "aws_iam_policy" "ReadOnlyAccess" {
arn = "arn:aws:iam::aws:policy/ReadOnlyAccess"
}
データソースの名前です。
ReadOnlyAccess
というデータソースの名前は、完全にあなた次第です。マネージドポリシーの場合、私は一貫性を保つためにポリシー名と同じ名前を使用しますが、同じように簡単に名前を付けることができます
readonly
という名前にすることもできます。
次に、次のようにIAMポリシーをロールに添付します。
resource "aws_iam_role_policy_attachment" "sto-readonly-role-policy-attach" {
role = "${aws_iam_role.sto-test-role.name}"
policy_arn = "${data.aws_iam_policy.ReadOnlyAccess.arn}"
}
関連
-
[解決済み】AWS DynamoDBとAWS DocumentDBの違い(新規サービス)?[解決済み】AWS DynamoDBとAWS DocumentDBの違いについて]
-
[解決済み] DynamoDBテーブルの複数の項目を一度に更新する方法
-
[解決済み] クラウド形成リソース作成における複数条件
-
[解決済み] スケジュールされたイベントソースをトリガーとするラムダ関数を設定するには、terraformを使用します。
-
[解決済み] SNS/SMSのログはどこにありますか?クラウドウォッチ空
-
[解決済み] AWSとPuTTy。悪いサービス要求のssh-connection [閉鎖]。
-
[解決済み] タスク実行時にAWS ECSエラーが発生しました。クラスタにコンテナインスタンスが見つかりませんでした。
-
[解決済み] DynamoDB Upsert - Update or Create?
-
[解決済み] AWSのロールを "アサイン "するとはどういうことですか?
-
[解決済み] AWS 0.0.0.0/0と::/0の意味は何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] AWS::CloudFormation::Init どのように動作するのでしょうか?
-
[解決済み] S3からモデルをロードしようとすると、チェーン内の任意のプロバイダからAWS認証情報をロードできない - エラー - が発生する
-
[解決済み] AWS ElasticsearchとAWS Redshiftの違いは何ですか?
-
[解決済み] エラー: networkMode 'awsvpc' が指定された場合、ネットワーク構成を提供する必要があります。
-
[解決済み] コード NoSuchBucket
-
[解決済み] Amazon S3におけるHeadBucket操作とは
-
[解決済み] ウェブサイトがAmazonネームサーバーを持っているが、別のサーバーでホストされている方法
-
[解決済み] プライマリネームサーバが親に登録されていない
-
[解決済み] AWSです。CloudFormationのテンプレートでbooleanパラメータを指定する方法
-
[解決済み] パスワードなしでec2インスタンスにscp(セキュアコピー)する