AWS DotNet SDK 오류 : EC2 인스턴스 메타 데이터 서비스에서 IAM 보안 자격 증명을 가져올 수 없습니다.

로빈슨

여기 에서 예제를 사용하여 C # 코드로 AWS SecretsManager에서 비밀을 검색합니다.

AWS CLI를 통해 로컬로 자격 증명을 설정했으며 AWS CLI 명령 "aws secretsmanager list-secrets"를 사용하여 비밀 목록을 검색 할 수 있습니다.

하지만 C # 콘솔 앱이 오류와 함께 실패합니다.

> Unhandled exception. System.AggregateException: One or more errors occurred. (Unable to get IAM security credentials from EC2 Instance Metadata Service.)
 ---> Amazon.Runtime.AmazonServiceException: Unable to get IAM security credentials from EC2 Instance Metadata Service.
   at Amazon.Runtime.DefaultInstanceProfileAWSCredentials.FetchCredentials()
   at Amazon.Runtime.DefaultInstanceProfileAWSCredentials.GetCredentials()
   at Amazon.Runtime.DefaultInstanceProfileAWSCredentials.GetCredentialsAsync()
   at Amazon.Runtime.Internal.CredentialsRetriever.InvokeAsync[T](IExecutionContext executionContext)
   at Amazon.Runtime.Internal.RetryHandler.InvokeAsync[T](IExecutionContext executionContext)
   at Amazon.Runtime.Internal.RetryHandler.InvokeAsync[T](IExecutionContext executionContext)
   at Amazon.Runtime.Internal.CallbackHandler.InvokeAsync[T](IExecutionContext executionContext)
   at Amazon.Runtime.Internal.CallbackHandler.InvokeAsync[T](IExecutionContext executionContext)
   at Amazon.Runtime.Internal.ErrorCallbackHandler.InvokeAsync[T](IExecutionContext executionContext)
   at Amazon.Runtime.Internal.MetricsHandler.InvokeAsync[T](IExecutionContext executionContext)
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at System.Threading.Tasks.Task`1.get_Result()
   at AWSConsoleApp2.GetSecretValueFirst.GetSecret() in D:\Work\Projects\Training\AWSConsoleApp2\AWSConsoleApp2\GetSecretValueFirst.cs:line 53
   at AWSConsoleApp2.Program.Main(String[] args) in D:\Work\Projects\Training\AWSConsoleApp2\AWSConsoleApp2\Program.cs:line 11

원래 생성자 호출을 변경할 때

IAmazonSecretsManager 클라이언트 = 새로운 AmazonSecretsManagerClient ();

AWSCredentials 유형의 상속 된 매개 변수 추가

IAmazonSecretsManager 클라이언트 = new AmazonSecretsManagerClient (new StoredProfileAWSCredentials ());

잘 작동합니다.

StoredProfileAWSCredentials 클래스는 더 이상 사용되지 않지만 사용하도록 작동합니다. 다른 컴퓨터에서 오류없이 작동하는 라이브러리를 사용하고 있으며 변경할 수 없습니다.

관리자 그룹에 속하고 SecretsMnager에 대한 전체 액세스 권한이있는 사용자의 자격 증명을 사용합니다. 지역이 C # 코드에서 올바르게 설정되었으며 프로필이 기본값입니다.

어떤 아이디어? 미리 감사드립니다

비 카스 샤르마

동일한 문제가 발생했습니다. 여기에 개발 환경에서 수정 한 방법이 있습니다.

  1. Visual Studio 용 AWS 확장을 사용하여 AWS 프로필을 생성했습니다.
  2. 프로필이 설정되면 프로필을 사용하여 자격 증명이 전달되고 잘 작동했습니다.

여기서 유의할 점은 키 관리자에 액세스하는 사용자 프로필에는 Secrets 관리자에 대해 할당 된 유효한 보안 그룹이 있어야합니다.

어떻게되었는지 알려주세요.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관