AWS認証情報が NetApp Workload Factory を経由してどのように流れるか
AWS 認証情報フローでは、NetApp Workload Factory は、オンボーディングおよび実行時操作中に、ロール識別子、外部 ID、および有効期限の短い AWS STS 認証情報を処理します。初回セットアップ時に、AWS アカウントに IAM ロールを作成し、Workload Factory のサービスプリンシパルと正しい外部 ID を必要とする信頼ポリシーを設定します。実行時、Workload Factory は保存されたロール ARN と外部 ID を使用して、リクエストごとのセッションポリシーによってスコープが設定された一時的な認証情報を要求し、キャッシュされた認証情報が期限切れになるまで再利用します。
一度限りの設定
初回設定の場合、手順は以下のとおりです。
-
AWSアカウントでCloudFormationスタックを起動するか、IAMロールを手動で作成します。
-
IAMロール信頼ポリシーでは、次の2つの条件が指定されています:
-
Workload Factory のサービスプリンシパルのみがこれを引き受けることができます。
-
発信者は正しい外部IDを提示する必要があります。
-
-
Workload Factoryは、ロールARNと外部ID(暗号化済み)をデータベースに保存します。
実行時(すべてのAPI操作)
実行時、Workload Factory は保存されたロール ARN と外部 ID を使用して、各 API 操作の一時的な AWS STS 認証情報を取得します。流れは次のとおりです:
-
Workload Factoryは、MySQLから保存されているロールARNと外部IDを取得します。
-
この機能は、Redisにキャッシュされた、このロール用の一時的なAWS STS認証情報セットを確認します。
-
キャッシュミスが発生すると、Workload Factory は `sts:AssumeRole`をロール ARN と外部 ID を使用して呼び出します。この呼び出しには、リクエストごとに適用されるインラインセッションポリシーが含まれており、その操作に必要な特定の AWS アクションのみに権限を制限します。
-
AWS STSは、有効期限タイムスタンプ付きの一時的な認証情報(アクセスキーID、シークレットアクセスキー、セッショントークン)を返します。
-
Workload Factoryはこれらの認証情報をRedisにキャッシュし、それらを使用して対象のAWS APIを呼び出します。
-
キャッシュ ヒット時、Workload Factory はSTS呼び出しをスキップし、キャッシュされた認証情報を直接使用します。
セッションポリシー
各STS呼び出しには、必要最小限のAWSアクションに限定されたインラインセッションポリシーが含まれています。