보안 암호에 대한 리소스 기반 정책 관리 - AWS Secrets Manager

문서의 영문과 번역 사이에 충돌이 있는 경우에는 영문 버전을 따릅니다. 번역 버전은 기계 번역을 사용하여 제공합니다.

보안 암호에 대한 리소스 기반 정책 관리

이 단원에서는 보안 암호에서 리소스 기반 정책을 연결, 검색, 제거하는 방법을 설명합니다.

An AWS 계정은 모두 AWS 리소스(저장된 비밀 포함) AWS 비밀 관리자. AWS 리소스 기반 정책을 포함해서 리소스를 생성하거나 액세스할 수 있습니다. 계정 관리자가 액세스를 제어할 수 있습니다. AWS 리소스 기반 정책을 리소스, 비밀 또는 IAM 리소스에 액세스해야 하는 ID, 사용자, 그룹 및 역할.

자세한 정보는 AWS Identity and Access Management을 참조하십시오. IAM 정책 및 권한 섹션 IAM 사용 설명서.

리소스 기반 정책을 검색하여 나중에 검토할 수 있으며, 더 이상 필요하지 않은 경우 리소스 기반 정책을 삭제할 수 있습니다.

Secrets Manager 콘솔 또는 GetResourcePolicy, PutResourcePolicy, 그리고 DeleteResourcePolicy 팔레트에 대한 리소스 기반 정책을 검색, 연결 또는 삭제할 수 있습니다. 콘솔의 JSON 형식으로 리소스 기반 정책을 첨부할 때 Secrets Manager는 젤코바, 자동화된 추론 엔진 및 API, ValidateResourcePolicy정책이 광범위한 IAM 비밀에 대한 액세스 권한이 있습니다. 또는 PutResourcePolicy API와 함께 BlockPublicPolicy CLI 또는 SDK에서 매개 변수를 선택합니다.

수용 가능한 리소스 기반 정책으로 고려하려면 리소스 기반 정책은 다음 고정 값 중 하나 이상에 대한 액세스를 허용해야 합니다.

  • aws:SourceArn

  • aws:SourceVpc

  • aws:SourceVpce

  • aws:SourceAccount

자세한 내용은 Amazon S3 설명서.

AWS Zelkova를 사용하여 다음 제품 및 Secrets Manager 비슷한 경험을 제공합니다.

  • AWS Config

  • Amazon S3

  • AWS Trusted Advisor

  • Amazon Macie

  • Amazon GuardDuty

정책이 광범위한 접근 가능한 구조를 생성하지 않는 경우 Secrets Manager 콘솔은 PutResourcePolicy 정책을 첨부할 API. 광범위한 IAM 원칙을 사용하여 해당 호스트에 액세스할 수 있는 리소스 기반 정책을 만드는 경우 Secrets Manager 콘솔에 오류 메시지가 표시되고 정책을 연결할 수 없습니다.

CLI 및 API 명령을 사용하여 리소스 기반 정책을 추가, 수정, 검색 및 삭제할 수 있습니다.

보안 암호에 리소스 기반 정책 연결

리소스에 리소스 기반 정책 연결

리소스 기반 정책 구성에 대한 자세한 내용은 Secrets Manager 보안 암호에 대한 액세스 권한 관리 개요Secrets Manager에서 리소스 기반 정책 사용 단원을 참조하십시오.

다음 단계를 사용하여 리소스 기반 정책을 바인드에 연결합니다.

Using the Secrets Manager Console

다음을 사용하여 리소스 기반 정책을 암호에 첨부하거나 수정할 수 있습니다. Secrets Manager 콘솔. 정책은 JSON 구조화된 텍스트로 포맷되어야 합니다.

기존 Fixlet에 정책을 추가하려면 다음 단계를 따르십시오.

  1. 리소스 기반 정책을 추가하거나 수정하려는 풀을 선택합니다.

  2. 아래로 스크롤 리소스 권한(선택 사항) 섹션을 선택하고 권한 편집. JSON 형식으로 정책을 코드 필드에 입력합니다.

  3. Save를 선택합니다.

Secrets Manager 정책의 일부로 정책을 확인합니다. 저장 프로세스.

다음 JSON 코드 예는 수용 가능한 리소스 기반 정책을 표시합니다.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::123456789012:user/admin" }, "Action":"secretsmanager:GetSecretValue", "Resource":"arn:aws:secretsmanager:us-east-1:123456789012:secret:consolesecret-m4qxfJ" } ] }

IF Secrets Manager 잘못된 리소스 기반 정책을 감지합니다. Secrets Manager 에 발생한 오류 유형에 따라 오류 메시지가 반환됩니다.

  • 록아웃 JSON

    Your requested changes will not allow you to manage this secret in the future.
    { "Version" : "2012-10-17", "Statement" : [ { "Effect" : "Deny", "Principal" : "*", "Action" : "secretsmanager:*", "Resource" : "*" } ] }
  • 광범위한 액세스 JSON

    This resource policy grants broad access to your secret. Secrets Manager does not allow creating and applying such policies in the console.
    { "Version" : "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Principal" : "*", "Action" : "secretsmanager:*", "Resource" : "*" } ] }
  • 구문 오류 JSON

    This resource policy contains a syntax error.
    { "Version" : "2012-10-17", "Statement" : [ { "Effect" : "AllowSomething", "Principal" : "*", "Action" : "secretsmanager:*", "Resource" : "*" } ] }
  • 유효하지 않은 주 정책 JSON

    This resource policy contains an unsupported principal.
    { "Version" : "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::123456789012:user/invaliduser" }, "Action" : "secretsmanager:GetSecretValue", "Resource" : "*" } ] }
  • 유효하지 않은 서비스 주 JSON

    This resource policy contains an invalid service principal.
    { "Version" : "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::123456789012:user/iam-user", "Service": [ "invalidservice.amazonaws.com" ] }, "Action" : "secretsmanager:GetSecretValue", "Resource" : "*" } ] }

Secrets Manager 단일 출력에 여러 오류를 표시합니다.

Using the AWS CLI or AWS SDK operations

다음 명령을 사용하여 지정된 보안 암호에 대한 액세스를 허용하거나 거부하는 정책 문서를 연결하거나 수정할 수 있습니다. 정책 문서는 JSON 구조화된 텍스트 형식이어야 합니다. 자세한 정보는 Secrets Manager에서 리소스 기반 정책 사용 단원을 참조하십시오. 정책 문서를 텍스트 파일로 저장한 다음 명령 파라미터에서 파일을 참조하는 것이 좋습니다.

다음 예제 CLI 명령은 현재 구성에 연결된 리소스 기반 정책을 연결하거나 대체합니다. Secrets Manager 파일에서 정책 문서 검색 secretpolicy.json.

$ aws secretsmanager put-resource-policy --secret-id production/MyAwesomeAppSecret --resource-policy file://secretpolicy.json { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:production/MyAwesomeAppSecret-a1b2c3", "Name": "MyAwesomeAppSecret" }

선택적 매개변수를 사용하여 --block-public-policy님, Secrets Manager가 이 유형의 정책을 허용하지 않으므로 오류를 반환합니다. Secrets Manager는 다음 작업을 반환합니다. putresourcePolicy 운영으로 전화할 때 오류가 발생했습니다(blockpublicpolicyexception). 리소스 기반 정책을 첨부할 수 없습니다. 이 정책은 광범위한 액세스를 허용합니다.”

보안 암호에서 리소스 기반 정책 검색

보안 암호에 연결된 권한 정책 검색

다음 단계를 사용하여 리소스 기반 정책의 텍스트를 바인드에 연결합니다.

Using the Secrets Manager Console

리소스 기반 정책을 검색하려면 다음 단계를 따르십시오.

  1. 사용 가능한 비밀 목록에서 해당 항목을 선택합니다.

  2. 아래로 스크롤 리소스 권한(선택 사항).

  3. 텍스트를 변경하려면 권한 편집.

  4. 선택 저장 리소스 기반 정책 변경 사항을 저장합니다.

Using the AWS CLI or AWS SDK operations

다음 명령을 사용하여 지정된 보안 암호에 현재 연결된 정책 문서를 검색할 수 있습니다.

다음 예제 CLI 명령은 보안 암호에 현재 연결된 리소스 기반 권한 정책에 대한 텍스트를 검색합니다.

$ aws secretsmanager get-resource-policy --secret-id production/MyAwesomeAppSecret { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:production/MyAwesomeAppSecret-a1b2c3", "Name": "MyAwesomeAppSecret", "ResourcePolicy": "{\"Version\":\"2012-10-17\",\"Statement\":{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::111122223333:root\",\"arn:aws:iam::444455556666:root\"},\"Action\":[\"secretsmanager:GetSecret\",\"secretsmanager:GetSecretValue\"],\"Resource\":\"*\"}}" }

보안 암호에서 리소스 기반 정책 삭제

풀에 연결된 리소스 기반 정책 삭제

다음 단계에 따라 지정된 보안 암호에 현재 연결된 리소스 기반 정책을 삭제합니다.

Using the Secrets Manager Console
  1. 구성된 비밀 목록에서 해당 항목을 선택합니다.

  2. 아래로 스크롤 리소스 권한(선택 사항).

  3. 선택 권한 편집.

  4. 정책 텍스트를 삭제하고 저장.

    Secrets Manager 에서 리소스 정책을 성공적으로 삭제했음을 나타내는 메시지를 반환합니다.

Using the AWS CLI or AWS SDK operations

다음 명령을 사용하여 지정된 보안 암호에 현재 연결된 리소스 기반 정책을 삭제할 수 있습니다.

다음 예제 CLI 명령은 보안 암호에 현재 연결된 리소스 기반 권한 정책을 삭제합니다.

$ aws secretsmanager delete-resource-policy --secret-id production/MyAwesomeAppSecret { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:production/MyAwesomeAppSecret-a1b2c3", "Name": "production/MyAwesomeAppSecret" }