

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 다른 계정의 AWS Secrets Manager 보안 암호 액세스
<a name="auth-and-access_examples_cross"></a>

하나의 계정에 속한 사용자가 다른 계정의 보안 암호에 액세스하도록 허용하려면(*교차 계정 액세스*) 리소스 정책 및 ID 정책 모두에서 액세스를 허용해야 합니다. 이는 보안 암호와 동일한 계정의 자격 증명에 액세스를 부여하는 것과 다릅니다.

교차 계정 권한은 다음 작업에만 적용됩니다.
+ [CancelRotateSecret](https://docs.aws.amazon.com//secretsmanager/latest/apireference/API_CancelRotateSecret.html)
+ [DeleteResourcePolicy](https://docs.aws.amazon.com//secretsmanager/latest/apireference/API_DeleteResourcePolicy.html)
+ [DeleteSecret](https://docs.aws.amazon.com//secretsmanager/latest/apireference/API_DeleteSecret.html)
+ [DescribeSecret](https://docs.aws.amazon.com//secretsmanager/latest/apireference/API_DescribeSecret.html)
+ [GetRandomPassword](https://docs.aws.amazon.com//secretsmanager/latest/apireference/API_GetRandomPassword.html)
+ [GetResourcePolicy](https://docs.aws.amazon.com//secretsmanager/latest/apireference/API_GetResourcePolicy.html)
+ [GetSecretValue](https://docs.aws.amazon.com//secretsmanager/latest/apireference/API_GetSecretValue.html)
+ [ListSecretVersionIds](https://docs.aws.amazon.com//secretsmanager/latest/apireference/API_ListSecretVersionIds.html)
+ [PutResourcePolicy](https://docs.aws.amazon.com//secretsmanager/latest/apireference/API_PutResourcePolicy.html)
+ [PutSecretValue](https://docs.aws.amazon.com//secretsmanager/latest/apireference/API_PutSecretValue.html)
+ [RemoveRegionsFromReplication](https://docs.aws.amazon.com//secretsmanager/latest/apireference/API_RemoveRegionsFromReplication.html)
+ [ReplicateSecretToRegions](https://docs.aws.amazon.com//secretsmanager/latest/apireference/API_ReplicateSecretToRegions.html)
+ [RestoreSecret](https://docs.aws.amazon.com//secretsmanager/latest/apireference/API_RestoreSecret.html)
+ [RotateSecret](https://docs.aws.amazon.com//secretsmanager/latest/apireference/API_RotateSecret.html)
+ [StopReplicationToReplica](https://docs.aws.amazon.com//secretsmanager/latest/apireference/API_StopReplicationToReplica.html)
+ [TagResource](https://docs.aws.amazon.com//secretsmanager/latest/apireference/API_TagResource.html)
+ [UntagResource](https://docs.aws.amazon.com//secretsmanager/latest/apireference/API_UntagResource.html)
+ [UpdateSecret](https://docs.aws.amazon.com//secretsmanager/latest/apireference/API_UpdateSecret.html)
+ [UpdateSecretVersionStage](https://docs.aws.amazon.com//secretsmanager/latest/apireference/API_UpdateSecretVersionStage.html)
+ [ValidateResourcePolicy](https://docs.aws.amazon.com//secretsmanager/latest/apireference/API_ValidateResourcePolicy.html)

[PutResourcePolicy](https://docs.aws.amazon.com//secretsmanager/latest/apireference/API_PutResourcePolicy.html) 작업에서 `BlockPublicPolicy` 파라미터를 사용하면, 보안 암호에 직접 연결된 리소스 정책을 통해 퍼블릭 액세스 권한이 부여되는 것을 방지하여 리소스를 보호할 수 있습니다. [IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-preview-access)를 사용하여 교차 계정 액세스를 확인할 수도 있습니다.

또한 보안 암호를 암호화하는 KMS 키를 자격 증명에서 사용하도록 허용해야 합니다. 이는 교차 계정 액세스에 AWS 관리형 키 (`aws/secretsmanager`)를 사용할 수 없기 때문입니다. 대신 생성한 KMS 키로 보안 암호를 암호화한 후 키 정책을 연결해야 합니다. KMS 키를 생성하는 데에는 요금이 부과됩니다. 보안 암호에 대한 암호화 키를 변경하려면 [AWS Secrets Manager 보안 암호 수정](manage_update-secret.md) 섹션을 참조하세요.

**중요**  
보안 암호에 대한 `secretsmanager:PutResourcePolicy` 권한을 부여하는 리소스 기반 정책은 다른 계정에 있는 주체에게도 리소스 기반 정책을 수정할 수 있는 권한을 제공합니다. 이 권한을 가진 주체는 기존 권한을 확장하여 보안 암호에 대한 전체 관리 액세스 권한을 얻을 수도 있습니다. 따라서 정책에는 [최소 권한 액세스](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) 원칙을 적용하는 것이 권장됩니다. 자세한 내용은 [리소스 기반 정책](auth-and-access_resource-policies.md) 단원을 참조하십시오.

다음 예제 정책에서는 *계정1*에 보안 암호 및 암호화 키가 있고, 보안 암호 값에 액세스할 수 있도록 허용할 자격 증명이 *계정2*에 있다고 가정합니다.

**1단계: *Account1*의 보안 암호에 리소스 정책 연결**
+ 다음 정책은 {{계정2}}의 {{ApplicationRole}}이 {{계정1}}의 보안 암호에 액세스하도록 허용합니다. 이 정책을 사용하려면 [리소스 기반 정책](auth-and-access_resource-policies.md) 섹션을 참조하세요.

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Principal": {
                  "AWS": "arn:aws:iam::{{111122223333}}:role/{{ApplicationRole}}"
              },
              "Action": "secretsmanager:GetSecretValue",
              "Resource": "*"
          }
      ]
  }
  ```

------

**2단계: *Account1*의 KMS 키에 대한 키 정책에 명령문 추가**
+ 다음 키 정책 문은 {{계정2}}의 {{ApplicationRole}}이 {{계정1}}의 KMS 키를 사용하여 {{계정1}}의 보안 암호를 복호화하도록 허용합니다. 이 명령문을 사용하려면 KMS 키의 키 정책에 추가합니다. 자세한 내용은 [키 정책 변경](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html)을 참조하세요.

  ```
  {
    "Effect": "Allow",
    "Principal": {
      "AWS": "arn:aws:iam::{{Account2}}:role/{{ApplicationRole}}"
    },
    "Action": [
      "kms:Decrypt",
      "kms:DescribeKey"
    ],
    "Resource": "*"
  }
  ```

**3단계: *Account2*의 자격 증명에 자격 증명 정책 연결**
+ 다음 정책은 {{계정2}}의 {{ApplicationRole}}이 {{계정1}}의 보안 암호에 액세스하고 {{계정1}}의 암호화 키도 사용하여 보안 암호 값을 복호화하도록 허용합니다. 이 정책을 사용하려면 [ID 기반 정책](auth-and-access_iam-policies.md) 섹션을 참조하세요. Secrets Manager 콘솔의 보안 암호 세부 정보 페이지에 있는 **보안 암호 ARN** 아래에서 보안 암호에 대한 ARN을 찾을 수 있습니다. 또는 [https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/describe-secret.html](https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/describe-secret.html)을 호출할 수 있습니다.

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": "secretsmanager:GetSecretValue",
              "Resource": "arn:aws:secretsmanager:{{us-east-1}}:{{123456789012}}:secret:{{secretName-AbCdEf}}"
          },
          {
              "Effect": "Allow",
              "Action": "kms:Decrypt",
              "Resource": "arn:aws:kms:{{us-east-1}}:{{123456789012}}:key/{{EncryptionKey}}"
          }
      ]
  }
  ```

------