この方法は、テスト環境の場合や IAM ロールがサポートされていない場合に使用します。アクセス キーは手動でのローテーションを必要とする長期にわたる資格情報です。
使用事例
- テストおよび開発環境
- クロスアカウントロールの引き継ぎをサポートしないAWS設定
- 簡素化された認証ワークフロー
注意
アクセス キーは長期間有効な資格情報です。定期的に(90 日ごとに)ローテーションし、ワークフローに必要なものだけにアクセスを制限します。
前提条件
IAM ユーザーを作成する前に、次の事項を確認してください。
- IAM ユーザーを作成する権限を持つ AWS アカウント
- New RelicアカウントID
- AWS IAM コンソールへの管理者アクセス
IAM ユーザーを設定する
IAM ユーザーを作成する
AWS IAMコンソールにサインインする
Users > Create userに移動し、ユーザー名:
workflow-automation-user(または任意の名前) を入力します。Nextをクリックします
Set permissions [権限の設定]ページで、Attach policies directly [ポリシーを直接アタッチするを]選択します。
ワークフローに基づいてポリシーを検索して選択します。
- SQSの場合: 選択
AmazonSQSFullAccess - EC2の場合: 選択
AmazonEC2ReadOnlyAccess - または、権限を制限したカスタムポリシーを作成します(推奨)
- SQSの場合: 選択
Next [次へ]をクリックし、 Create user [ユーザーを作成]をクリックします。
アクセスキーを生成する
ユーザーリストで、新しく作成したユーザーを選択します
Security credentials [セキュリティ資格情報]タブをクリックします
Access keys [アクセスキー]セクションで、Create access key [アクセスキーの作成を]選択します。
Application running outside AWS [AWS外で実行されているアプリケーション]を選択し、 Next [次へ]をクリックします。
(オプション) 説明タグを追加します: New Relicワークフローオートメーション
Create access key [アクセスキーの作成を]選択
両方の資格情報をすぐにコピーします。
- アクセスキーID (
AKIA...で始まる) - 秘密アクセスキー(一度だけ表示)
重要
AWS は、作成時にシークレットアクセスキーを 1 回だけ表示します。保存しない場合は、新しいキー ペアを生成する必要があります。
- アクセスキーID (
資格情報を安全に保存する
ワークフローに AWS 認証情報をハードコードしないでください。代わりに、New Relic の シークレット マネージャーに保存します。
このミューテーションを実行してアクセス キー ID を保存します (プレースホルダーの値を置き換えます)。
mutation {secretsManagementCreateSecret(scope: {type: ACCOUNT id: "YOUR_NR_ACCOUNT_ID"}namespace: "aws"key: "awsAccessKeyId"description: "AWS Access Key ID for workflow automation"value: "YOUR_AWS_ACCESS_KEY_ID") {key}}シークレット アクセス キーに対して別のミューテーションを実行します。
mutation {secretsManagementCreateSecret(scope: {type: ACCOUNT id: "YOUR_NR_ACCOUNT_ID"}namespace: "aws"key: "awsSecretAccessKey"description: "AWS Secret Access Key for workflow automation"value: "YOUR_AWS_SECRET_ACCESS_KEY") {key}}次の構文を使用して、ワークフローでこれらのシークレットを参照します。
${{ :secrets:awsAccessKeyId }}ヒント
namespaceフィールドを使用して、環境 (aws-prod、aws-staging) またはチーム名別にシークレットを整理します。