기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
보안 인증 기반 정책
권한 정책을 IAM 자격 증명: 사용자, 사용자, 그룹 및 역할에 연결합니다. 자격 증명 기반 정책에서 자격 증명에 액세스할 수 있는 보안 암호와, 자격 증명이 보안 암호에 대해 수행할 수 있는 작업을 지정합니다. 자세한 내용은 IAM 자격 증명 권한 추가 및 제거를 참조하세요.
다른 서비스의 애플리케이션이나 사용자를 나타내는 역할에 권한을 부여할 수 있습니다. 예를 들어 Amazon EC2 인스턴스에서 실행되는 애플리케이션은 데이터베이스에 액세스해야 할 수 있습니다. EC2 인스턴스 프로파일에 연결된 IAM 역할을 생성한 후 권한 정책을 사용하여 데이터베이스의 보안 인증 정보를 포함한 보안 암호에 대한 액세스 권한을 역할에 부여할 수 있습니다. 자세한 내용은 IAM 역할을 사용하여 Amazon EC2 인스턴스에서 실행되는 애플리케이션에 권한 부여를 참조하세요. 역할을 연결할 수 있는 기타 서비스에는 Amazon Redshift, AWS Lambda, Amazon ECS가 있습니다.
IAM 이외의 자격 증명 시스템으로 인증된 사용자에게 권한을 부여할 수도 있습니다. 예를 들어 IAM 역할을 Amazon Cognito로 로그인하는 모바일 앱 사용자와 연결할 수 있습니다. 이 역할은 앱에 역할 권한 정책에 있는 권한과 함께 임시 자격 증명을 부여합니다. 그런 다음 권한 정책을 사용하여 해당 역할에 보안 암호에 대한 액세스 권한을 부여할 수 있습니다. 자세한 내용은 Identity providers and federation(자격 증명 공급자 및 페더레이션)을 참조하세요.
자격 증명 기반 정책을 사용하여 다음을 수행할 수 있습니다.
-
여러 보안 암호에 대한 자격 증명 액세스 권한을 부여합니다.
-
새 보안 암호를 만들 수 있는 사용자와, 아직 생성되지 않은 보안 암호에 액세스할 수 있는 사용자를 제어합니다.
-
IAM 그룹에 보안 암호에 대한 액세스 권한을 부여합니다.
예:
예: 개별 보안 암호 값을 검색할 수 있는 권한
보안 암호 값을 검색할 수 있는 권한을 부여하기 위해 정책을 암호 또는 자격 증명에 연결할 수 있습니다. 사용할 정책 유형을 결정하는 방법에 대한 도움말은 자격 증명 기반 정책 및 리소스 기반 정책을 참조하세요. 정책 연결 방법에 대한 자세한 내용은 리소스 기반 정책 및 보안 인증 기반 정책 섹션을 참조하세요.
이 예시는 IAM 그룹에 대한 액세스 권한을 부여하려는 경우에 유용합니다. 배치 API 호출에서 보안 암호 그룹을 검색할 권한을 부여하려면 예: 보안 암호 값 그룹을 일괄적으로 검색할 수 있는 권한 섹션을 참조하세요.
예 고객 관리형 키를 사용하여 암호화된 보안 암호 읽기
고객 관리형 키를 사용하여 보안 암호를 암호화하는 경우 다음 정책을 자격 증명에 연결하여 보안 암호를 읽을 액세스 권한을 부여할 수 있습니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": "
SecretARN
" }, { "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "KMSKeyARN
" } ] }
예: 개별 보안 암호를 읽고 설명할 수 있는 권한
예 하나의 보안 암호를 읽고 설명
자격 증명에 다음 정책을 연결하여 보안 암호에 대한 액세스 권한을 부여할 수 있습니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret" ], "Resource": "
SecretARN
" } ] }
예: 보안 암호 값 그룹을 일괄적으로 검색할 수 있는 권한
예 일괄적으로 보안 암호 그룹 읽기
자격 증명에 다음 정책을 연결하여 배치 API 직접 호출에서 보안 암호 그룹을 검색할 수 있는 액세스 권한을 부여할 수 있습니다. 이 정책은 배치 호출에 다른 보안 암호가 포함되어 있더라도 secretARN1
, secretaRN2
및 secretaRN3
으로 지정한 보안 암호만 검색할 수 있도록 호출자를 제한합니다. 호출자가 배치 API 호출에서 다른 보안 암호도 요청하는 경우 Secrets Manager는 이를 반환하지 않습니다. 자세한 내용은 BatchGetSecretValue
단원을 참조하세요.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:BatchGetSecretValue", "secretsmanager:ListSecrets" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "
SecretARN1
", "SecretARN2
", "SecretARN3
" ] } ] }
예: 와일드카드
와일드카드를 사용하여 정책 요소에 값 집합을 포함할 수 있습니다.
예 경로의 모든 보안 암호에 액세스
다음 정책은 "TestEnv/
"로 시작하는 이름의 모든 보안 암호를 검색할 수 있는 액세스 권한을 부여합니다.
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": "arn:aws:secretsmanager:
Region
:AccountId
:secret:TestEnv/
*" } }
예 모든 보안 암호의 메타데이터에 액세스
다음 정책은 DescribeSecret
및 List
: ListSecrets
, ListSecretVersionIds
로 시작하는 권한을 부여합니다.
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "secretsmanager:DescribeSecret", "secretsmanager:List*" ], "Resource": "*" } }
예 보안 암호 이름 일치
다음 정책은 보안 암호에 대한 모든 Secrets Manager 권한을 해당 이름으로 부여합니다. 이 정책을 사용하려면 보안 인증 기반 정책 섹션을 참조하세요.
보안 암호 이름을 일치시키려면 리전, 계정 ID, 보안 암호 이름 및 와일드카드(?
)를 조합하여 임의의 개별 문자와 일치시켜 보안 암호에 대한 ARN을 생성합니다. Secrets Manager는 보안 암호 이름에 6개의 임의 문자를 ARN의 일부로 추가하므로 이 와일드카드를 사용하여 해당 문자와 일치시킬 수 있습니다. "another_secret_name-*"
구문을 사용하는 경우 Secrets Manager는 6개의 임의 문자와 해당 보안 암호를 일치시킬 뿐 아니라 "
과도 일치시킵니다.another_secret_name-<anything-here>a1b2c3
"
6개의 임의 문자를 제외한 보안 암호 ARN의 모든 부분을 예측할 수 있기 때문에 와일드카드 문자 '??????'
구문을 사용하면 아직 존재하지 않는 보안 암호에 안전하게 권한을 부여할 수 있습니다. 하지만 보안 암호를 삭제한 후 이름이 동일한 보안 암호를 다시 생성할 경우, 임의의 문자 6자가 변경되더라도 새 보안 암호에 대한 권한이 사용자에게 자동으로 부여됩니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "secretsmanager:*", "Resource": [ "arn:aws:secretsmanager:
Region
:AccountId
:secret:a_specific_secret_name-a1b2c3
", "arn:aws:secretsmanager:Region
:AccountId
:secret:another_secret_name-??????
" ] } ] }
예: 보안 암호 생성 권한
사용자에게 보안 암호 생성 권한을 부여하려면 사용자가 속한 IAM 그룹에 권한 정책을 연결하는 것이 좋습니다. IAM 사용자 그룹을 참조하세요.
예 보안 암호 생성
다음 정책은 보안 암호를 생성하고 보안 암호 목록을 볼 수 있는 권한을 부여합니다. 이 정책을 사용하려면 보안 인증 기반 정책 섹션을 참조하세요.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:CreateSecret", "secretsmanager:ListSecrets" ], "Resource": "*" } ] }
예: 보안 암호를 암호화하는 특정 AWS KMS 키 거부
중요
고객 관리형 키를 거부하려면 키 정책 또는 키 부여를 사용하여 액세스를 제한하는 것이 좋습니다. 자세한 내용은 AWS Key Management Service 개발자 안내서의 Authentication and access control for AWS KMS를 참조하세요.
예 AWS 관리형 키 aws/secretsmanager
거부
다음 정책은 보안 암호 생성 또는 업데이트에 AWS 관리형 키 aws/secretsmanager
사용을 거부하는 방법을 보여줍니다. 이 경우, 고객 관리형 키를 사용하여 보안 암호를 암호화해야 합니다. aws/secretsmanager
키가 있는 경우 키 ID도 포함해야 합니다. Secrets Manager는 이를 AWS 관리형 키 aws/secretsmanager
로 해석하기 때문에 빈 문자열도 포함하세요. 두 번째 문은 KMS 키가 포함되지 않은 보안 암호를 생성하라는 요청을 거부합니다. 그 이유는 Secrets Manager가 이를 AWS 관리형 키 aws/secretsmanager
로 해석하기 때문입니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "RequireCustomerManagedKeysOnSecrets", "Effect": "Deny", "Action": [ "secretsmanager:CreateSecret", "secretsmanager:UpdateSecret" ], "Resource": "*", "Condition": { "ForAnyValue:StringLikeIfExists": { "secretsmanager:KmsKeyId": [ "*alias/aws/secretsmanager", "*
<key_ID_of_the_AWS_managed_key>
", "" ] } } }, { "Sid": "RequireKmsKeyIdParameterOnCreate", "Effect": "Deny", "Action": "secretsmanager:CreateSecret", "Resource": "*", "Condition": { "Null": { "secretsmanager:KmsKeyId": "true" } } } ] }