

 Amazon Redshift ne prendra plus en charge la création de nouveaux UDFs Python à partir du patch 198. Les fonctions Python définies par l’utilisateur existantes continueront de fonctionner normalement jusqu’au 30 juin 2026. Pour plus d’informations, consultez le [ billet de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Utilisation des rôles liés à un service pour Amazon Redshift
<a name="using-service-linked-roles"></a>

[Amazon Redshift utilise des rôles liés à un Gestion des identités et des accès AWS service (IAM).](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) Un rôle lié à un service est un type unique de rôle IAM directement lié à Amazon Redshift. Service-linked les rôles sont prédéfinis par Amazon Redshift et incluent toutes les autorisations requises par le service pour appeler AWS des services au nom de votre cluster Amazon Redshift. 

Un rôle lié à un service facilite la configuration d’Amazon Redshift, car vous n’avez pas à ajouter manuellement les autorisations nécessaires. Le rôle est lié aux cas d’utilisation d’Amazon Redshift et dispose de permissions prédéfinies. Seul Amazon Redshift peut endosser le rôle, et seul le rôle lié au service peut utiliser la stratégie d’autorisations prédéfinie. Amazon Redshift crée un rôle lié à un service dans votre compte la première fois que vous créez un cluster ou un point de terminaison VPC. Redshift-managed Vous ne pouvez supprimer le rôle lié au service qu'après avoir supprimé tous les clusters Amazon Redshift ou points de terminaison Redshift-managed VPC de votre compte. Vos ressources Amazon Redshift sont ainsi protégées, car vous ne pouvez pas involontairement supprimer les autorisations nécessaires pour y accéder.

Amazon Redshift prend en charge l’utilisation de rôles liés à un service dans toutes les régions où le service est disponible. Pour plus d’informations, consultez [Régions et points de terminaison AWS](https://docs.aws.amazon.com/general/latest/gr/rande.html?id=docs_gateway#redshift_region).

**Pour plus d'informations sur les autres services qui prennent en charge les rôles liés à un service, consultez la section [AWS Services qui fonctionnent avec IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) et recherchez les services dont la valeur est **Oui** dans la Service-Linked colonne Rôle.** Choisissez un **Oui** ayant un lien permettant de consulter les détails du rôle pour ce service.

## Service-linked autorisations de rôle pour Amazon Redshift
<a name="service-linked-role-permissions"></a>

Amazon Redshift utilise le rôle lié au service nommé — Permet à **AWSServiceRoleForRedshift**Amazon Redshift d'appeler les services en votre nom. AWS Ce rôle lié à un service est attaché à la politique gérée suivante : `AmazonRedshiftServiceLinkedRolePolicy`. Pour obtenir des mises à jour de cette stratégie, consultez [Stratégies (prédéfinies) gérées par AWS pour Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html#redshift-policy-resources.managed-policies).

Le rôle AWSServiceRoleForRedshift lié au service fait confiance uniquement **redshift.amazonaws.com** pour assumer le rôle.

La politique d'autorisation des rôles AWSServiceRoleForRedshift liés au service permet à Amazon Redshift d'effectuer les opérations suivantes sur toutes les ressources associées :
+ `ec2:DescribeVpcs `
+ `ec2:DescribeSubnets `
+ `ec2:DescribeNetworkInterfaces `
+ `ec2:DescribeAddress `
+ `ec2:AssociateAddress `
+ `ec2:DisassociateAddress `
+ `ec2:CreateNetworkInterface `
+ `ec2:DeleteNetworkInterface `
+ `ec2:ModifyNetworkInterfaceAttribute`
+ `ec2:CreateVpcEndpoint`
+ `ec2:DeleteVpcEndpoints`
+ `ec2:DescribeVpcEndpoints`
+ `ec2:ModifyVpcEndpoint`
+ `ec2:DescribeVpcAttribute`
+ `ec2:DescribeSecurityGroups`
+ `ec2:DescribeInternetGateways`
+ `ec2:DescribeSecurityGroupRules`
+ `ec2:DescribeAvailabilityZones`
+ `ec2:DescribeNetworkAcls`
+ `ec2:DescribeRouteTables`
+ `ec2:AssignIpv6Addresses`
+ `ec2:UnassignIpv6Addresses`

**Autorisations pour les ressources réseau**

Les autorisations suivantes permettent d’effectuer des actions de création et de gestion de règles de groupe de sécurité dans Amazon EC2. Ces groupes et règles de sécurité sont spécifiquement associés à la balise de ressource Amazon Redshift `aws:RequestTag/Redshift`. Cela permet de limiter l’étendue des autorisations à des ressources Amazon Redshift spécifiques.
+ `ec2:CreateSecurityGroup`
+ `ec2:AuthorizeSecurityGroupEgress`
+ `ec2:AuthorizeSecurityGroupIngress`
+ `ec2:RevokeSecurityGroupEgress`
+ `ec2:RevokeSecurityGroupIngress`
+ `ec2:ModifySecurityGroupRules`
+ `ec2:DeleteSecurityGroup`

**Autorisations pour les quotas de service**

Les autorisations suivantes permettent à l’appelant d’obtenir des quotas de service.

`servicequotas:GetServiceQuota`

Le fragment JSON suivant montre l’action et l’étendue des ressources pour les quotas de service.

```
{
   "Sid": "ServiceQuotasToCheckCustomerLimits",
   "Effect": "Allow",
   "Action": [
      "servicequotas:GetServiceQuota"
   ],
   "Resource": [
      "arn:aws:servicequotas:*:*:ec2/L-0263D0A3",
      "arn:aws:servicequotas:*:*:vpc/L-29B6F2EB" 
   ]
}
```

Les codes de quota sont les suivants :
+ *L-0263D0A3*— Le code de quota pour les adresses IP EC2-VPC élastiques.
+ *L-29B6F2EB*— Le code de quota pour les points de terminaison VPC d'interface par VPC.

Pour plus d’informations, consultez [Quotas de service AWS](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html).

**Actions pour la journalisation des audits**

Les actions répertoriées avec le préfixe `logs` concernent la journalisation des audits et les fonctions associées. Plus précisément, la création et la gestion de groupes de journaux et de flux de journaux.
+ `logs:CreateLogGroup`
+ `logs:PutRetentionPolicy`
+ `logs:CreateLogStream`
+ `logs:PutLogEvents`
+ `logs:DescribeLogStreams`
+ `logs:GetLogEvents`

Le fichier JSON suivant affiche la portée des actions et des ressources, à Amazon Redshift, pour la journalisation des audits.

```
[
    {
        "Sid": "EnableCreationAndManagementOfRedshiftCloudwatchLogGroups",
        "Effect": "Allow",
        "Action": [
            "logs:CreateLogGroup",
            "logs:PutRetentionPolicy"
        ],
        "Resource": [
            "arn:aws:logs:*:*:log-group:/aws/redshift/*"
        ]
    },
    {
        "Sid": "EnableCreationAndManagementOfRedshiftCloudwatchLogStreams",
        "Effect": "Allow",
        "Action": [
            "logs:CreateLogStream",
            "logs:PutLogEvents",
            "logs:DescribeLogStreams",
            "logs:GetLogEvents"
        ],
        "Resource": [
            "arn:aws:logs:*:*:log-group:/aws/redshift/*:log-stream:*"
        ]
    }
]
```

Pour plus d'informations sur les rôles liés à un service et leur fonction dans AWS, consultez la section [Utilisation des rôles liés à un service](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html). Pour plus d’informations sur des actions spécifiques et d’autres ressources IAM pour Amazon Redshift, consultez [Actions, ressources et clés de condition pour Amazon Redshift](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonredshift.html).

**Actions de gestion des informations d'identification d'administrateur avec AWS Secrets Manager**

Les actions répertoriées avec le préfixe `secretsmanager` concernent l’utilisation d’Amazon Redshift pour gérer vos informations d’identification d’administrateur. Ces actions permettent à Amazon Redshift de créer et AWS Secrets Manager de gérer les secrets de vos identifiants d'administrateur. 

Le JSON suivant indique les actions et l'étendue des ressources, pour Amazon Redshift, pour gérer les informations d'identification d'administrateur avec. AWS Secrets Manager

```
[
    {
        "Effect": "Allow",
        "Action": [
            "secretsmanager:DescribeSecret",
            "secretsmanager:DeleteSecret",
            "secretsmanager:PutSecretValue",
            "secretsmanager:UpdateSecret",
            "secretsmanager:UpdateSecretVersionStage",
            "secretsmanager:RotateSecret"
        ],
        "Resource": [
            "arn:aws:secretsmanager:*:*:secret:redshift!*"
        ],
        "Condition": {
            "StringEquals": {
                "secretsmanager:ResourceTag/aws:secretsmanager:owningService": "redshift"
            }
        }
    },
    {
        "Effect": "Allow",
        "Action": [
            "secretsmanager:GetRandomPassword"
        ],
        "Resource": "*"
    }
]
```

**Actions pour enregistrer des clusters et des espaces de noms sans serveur dans le AWS Glue Data Catalog**

Les actions répertoriées avec le `glue` préfixe concernent l'accès aux catalogues créés à partir de l'enregistrement de clusters provisionnés AWS Glue Data Catalog ou d'espaces de noms sans serveur. Pour plus d’informations, consultez [Compatibilité d’Apache Iceberg pour Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/iceberg-integration_overview.html) dans le *Guide du développeur de base de données Amazon Redshift*.

Le fichier JSON suivant affiche la portée des actions et des ressources, à Amazon Redshift, pour accéder aux catalogues dans le AWS Glue Data Catalog : 

```
[
    {
        "Sid": "DiscoverRedshiftCatalogs",
        "Effect": "Allow",
        "Action": [
            "glue:GetCatalogs",
            "glue:GetCatalog"
        ],
        "Resource": [
            "arn:aws:glue:*:*:catalog",
            "arn:aws:glue:*:*:catalog/*"
        ], 
   "Condition": 
    { 
        "Bool": 
        { 
            "glue:EnabledForRedshiftAutoDiscovery": "true"
        },
        "StringEquals": {
             "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
    } 
 }, 
 {
    "Sid": "LakeFormationGetMetadataAccessForFederatedCatalogs",
    "Effect": "Allow", 
    "Action": [ 
        "lakeformation:GetDataAccess"
    ], 
    "Resource": [ "*" ], 
    "Condition": 
    { 
        "Bool": 
        {
            "lakeformation:EnabledOnlyForMetaDataAccess":"true"
        },
        "StringEquals": {
             "aws:ResourceAccount": "${aws:PrincipalAccount}"
        },
        "ForAnyValue:StringEquals": 
        { 
            "aws:CalledVia": "glue.amazonaws.com"
        } 
    }
 }
    }
]
```

Les autorisations `glue:GetCatalog` et `glue:GetCatalogs` sont soumises à une condition `glue:EnabledForRedshiftAutoDiscovery:true`, ce qui signifie qu’Amazon Redshift accorde l’accès à IAM pour la découverte automatique des catalogues. Pour vous désinscrire, ajoutez une politique de ressources AWS Glue au niveau du compte afin de refuser de manière sélective l'accès aux catalogues aux rôles liés au service. Étant donné que le rôle lié au service comporte déjà une action d’autorisation explicite dans la politique, la politique de désinscription doit explicitement refuser cette action. Prenez l’exemple suivant, où une politique supplémentaire refuse la découverte automatique pour Amazon Redshift : 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement" : {
            "Effect": "Deny",
            "Action": [
                "glue:GetCatalog",
                "glue:GetCatalogs"
            ],
            "Principal" : {
            "AWS" : "arn:aws:iam::{{111122223333}}:role/aws-service-role/redshift.amazonaws.com/AWSServiceRoleForRedshift"
            },
            "Resource": [
                "arn:aws:glue:*:*:catalog/<{{s3_table_catalog_name}}>",
                "arn:aws:glue:*:*:catalog/<{{s3_table_catalog_name}}>/*"
            ]
        }
}
```

------

**Pour autoriser une entité IAM à créer des rôles liés à un AWSServiceRoleForRedshift service**

```
{
    "Effect": "Allow",
    "Action": [
        "iam:CreateServiceLinkedRole"      
    ],
    "Resource": "arn:aws:iam::{{<AWS-account-ID>}}:role/aws-service-role/redshift.amazonaws.com/AWSServiceRoleForRedshift",
    "Condition": {"StringLike": {"iam:AWSServiceName": "redshift.amazonaws.com"}}
}
```

**Pour autoriser une entité IAM à supprimer des rôles liés à un AWSServiceRoleForRedshift service**

Ajoutez la déclaration de stratégie suivante aux autorisations de cette entité IAM :

```
{
    "Effect": "Allow",
    "Action": [
        "iam:DeleteServiceLinkedRole",
        "iam:GetServiceLinkedRoleDeletionStatus"
    ],
    "Resource": "arn:aws:iam::{{<AWS-account-ID>}}:role/aws-service-role/redshift.amazonaws.com/AWSServiceRoleForRedshift",
    "Condition": {"StringLike": {"iam:AWSServiceName": "redshift.amazonaws.com"}}
}
```

Vous pouvez également utiliser une politique AWS gérée pour [fournir un accès complet](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonRedshiftFullAccess) à Amazon Redshift.

## Création d’un rôle lié à un service pour Amazon Redshift
<a name="create-service-linked-role"></a>

Il n'est pas nécessaire de créer manuellement un rôle AWSServiceRoleForRedshift lié à un service. Amazon Redshift crée automatiquement le rôle lié au service. Si le rôle AWSServiceRoleForRedshift lié au service a été supprimé de votre compte, Amazon Redshift le crée lorsque vous lancez un nouveau cluster Amazon Redshift.

**Important**  
Si vous avez utilisé le service Amazon Redshift avant le 18 septembre 2017, date à laquelle il a commencé à prendre en charge les rôles liés au service, Amazon Redshift a créé le rôle dans votre compte. AWSServiceRoleForRedshift Pour en savoir plus, consultez [Un nouveau rôle est apparu dans mon compte IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_roles.html#troubleshoot_roles_new-role-appeared). 

## Modification d’un rôle lié à un service pour Amazon Redshift
<a name="edit-service-linked-role"></a>

Amazon Redshift ne vous permet pas de modifier le rôle lié au AWSServiceRoleForRedshift service. Une fois que vous avez créé un rôle lié à un service, vous ne pouvez pas changer le nom du rôle, car plusieurs entités peuvent faire référence au rôle. Vous pouvez toutefois modifier la description du rôle à l'aide de la console IAM, du AWS Command Line Interface (AWS CLI) ou de l'API IAM. Pour plus d’informations, consultez [Modification d’un rôle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html) dans le *Guide de l’utilisateur IAM*.

## Suppression d’un rôle lié à un service pour Amazon Redshift
<a name="delete-service-linked-role"></a>

Si vous n’avez plus besoin d’utiliser une fonction ou un service qui nécessite un rôle lié à un service, nous vous recommandons de supprimer ce rôle. De cette façon, vous n’avez aucune entité inutilisée qui n’est pas surveillée ou gérée activement. 

Avant de pouvoir supprimer un rôle lié à un service pour un compte, vous devez arrêter et supprimer tous les clusters du compte. Pour de plus amples informations, veuillez consulter [Arrêt et suppression d’un cluster](rs-mgmt-shutdown-delete-cluster.md).

Vous pouvez utiliser la console IAM AWS CLI, ou l'API IAM pour supprimer un rôle lié à un service. Pour plus d’informations, consultez la section [Suppression d’un rôle lié à un service](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role) dans le *Guide de l’utilisateur IAM*.